47
MODERN APL APPLICATION DESIGN Alexey Miroshnikov InfoStroy Ltd

Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

Embed Size (px)

Citation preview

Page 1: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

MODERN APL APPLICATION DESIGN

Alexey MiroshnikovInfoStroy Ltd

Page 2: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

2

INFOSTROY

Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen

People: 42+

Markets: Construction (planning and estimating software)Investment (asset management and trade settlement software)

Dyalog 2007 GamaGlobal

Page 3: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

3

THE STARTING POINT

GAMAGlobal Asset Management Assistant

SeMaTrade Settlement Manager

iFundFund Manager

A0Construction Planning and Estimating

Dyalog 2007 GamaGlobal

Page 4: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

4

GAMA

Dyalog APL The database management - the file server The user interface – originated from DOS Scalability and load balancing - was not really

addressed Communications are synchronous.

The application - in financial terms the application has financial instruments split between modules

Dyalog 2007 GamaGlobal

Page 5: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

5

GAMA

Client Base – 14 companies Biggest installation – 35 workstations

After 12 years GAMA considered as the No. 1 at the Russian investment market and is getting similar position on the rest of the post soviet space.

Dyalog 2007 GamaGlobal

Page 6: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

6

SEMA

Delphi The database - Interbase or MS SQL

Server – client server application The user interface – provided by Delphi

5 Scalability was not properly addressed. Communications are synchronous.

Dyalog 2007 GamaGlobal

Page 7: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

7

SEMA

Client Base – 4 companies Biggest installation – 15 workstations

SeMa position at the Russian marketis second to none.

Dyalog 2007 GamaGlobal

Page 8: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

8

IFUND

Delphi The database - MS SQL Server or any

conventional SQL DBMS. Client-server Could be better user interface. Delphi

5. Scalability - provided Communications are synchronous

Dyalog 2007 GamaGlobal

Page 9: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

9

IFUND

One of the best at the Russian market

Dyalog 2007 GamaGlobal

Page 10: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

10

A0

Delphi (used to be APL*PLUS II) The database - MS SQL Server – client

server application The user interface – provided by Delphi

5 Scalability was not properly addressed. Communications are synchronous

Dyalog 2007 GamaGlobal

Page 11: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

11

A0

Client Base >> 3000 companies Biggest installation – 92 workstations

After 20 years A0 considered as one of the best at the Russian construction market

Dyalog 2007 GamaGlobal

Page 12: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

12

PEOPLE

42+ - the staff at the moment

Three development teams Hard to get APLers Hard to find right people Hard to keep them Sharp rise of salaries challenges the

developers time management and project management

Dyalog 2007 GamaGlobal

Page 13: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

13

THE GROUTH CHALLENGE

Construction: from 4 workstations per company in average(15 competitors)to big instalations up to 100 workstations [TATOIL](no competition)

Investments: “Think big”…from 200 trades a day to 15,000 trades a dayfrom 5 WS to 40-50 WS per company

Dyalog 2007 GamaGlobal

Page 14: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

14

SOME PROBLEMS…

Having something to loose … Too many products Too many development teams Too many software platforms Too many duplications Too old looking user interface Too scale sensitive Too complex to develop and support Too hard to control Not very efficient

Dyalog 2007 GamaGlobal

Page 15: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

15

To solve all listed above… Scalable Asynchronous Stateless KISS

Dyalog 2007 GamaGlobal

THE CHALLENGE WE FACE

Page 16: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

16

THE APPROACH

Re-use Hybrid if that helps Integrate as much as possible Unify where possible

Only the best and proven tools

Dyalog APL (V11.1 as soon as possible) Depart from Delphi (5->2006->C# in 2-3 years)

Dyalog 2007 GamaGlobal

Page 17: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

17

KEEP IT SIMPLE

Parameters

Computation

Input DataOutput Data

Dyalog 2007 GamaGlobal

Page 18: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

18

KEEP IT SIMPLE

Parameters

Computation

Input DataOutput Data

Which computation

Where to get the computationparameters

Where to get the input data

Where to store the resultsDyalog 2007 GamaGlobal

Page 19: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

19

KEEP IT SIMPLE

Parameters

ComputationInput Data

Output Data

Database orData Store

Computationor Service

Dyalog 2007 GamaGlobal

Page 20: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

20

KEEP IT SIMPLE

Computation

Database

Computation

Database

Computation

Database

Computation

Database

Dyalog 2007 GamaGlobal

Page 21: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

21

ZOOMING IN …

Algorithm (Business Logic) Database

ServiceServiceService

Database

Dyalog 2007 GamaGlobal

Page 22: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

22

ZOOMING IN …

Algorithm (Business Logic) Database

ServiceServiceService

Database

Algorithm

Parameters

Input Data

Output Data

Dyalog 2007 GamaGlobal

Page 23: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

23

USER

Algorithm (Business Logic) Database

ServiceServiceService

Database

Scheduler

Algorithm

Parameters

Input Data

Output Data

Dyalog 2007 GamaGlobal

Page 24: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

24

THE BUS

Algorithm (Business Logic) Database

ServiceServiceService

Database

Scheduler

The Bus

Dyalog 2007 GamaGlobal

Page 25: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

25

THE BUS

Algorithm (Business Logic) Database

ServiceServiceService

Database

Scheduler

The Bus

Dyalog 2007 GamaGlobal

The ESB (Enterprise Service Bus) acts as he intelligent, distributed, transactional, and messaging layer for connecting applications, diverse data, and other services that are commonly distributed throughout an enterprise computing infrastructure.The ESB provides mediation, messaging, events, as well as the Business connection.

A SOA (Service-Oriented Architecture) is a framework for integrating business processes and supporting IT infrastructure as secure, standardized components – services – that can be reused and combined to address business priorities.

Page 26: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

26

CLIENT

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Sync

Async

UI

UI

Data AwareControls (Browsing)

PresentationManager

Client Manager

Dyalog 2007 GamaGlobal

Page 27: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

27

DOCUMENT LIFE CYCLE MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Document Life Cycle

Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Sync

Dyalog 2007 GamaGlobal

Page 28: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

28

APPLICATION CONTEXT MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Document Life Cylce

Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

SyncApplication Context Manager

Dyalog 2007 GamaGlobal

Page 29: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

29

RESOURCE MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

SyncApplication Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 30: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

30

CLUSTER MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

SyncApplication Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 31: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

31

SERVER – SERVICE GROUPS

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

SyncApplication Context Manager

Resource Manager

Utility Services

Service Level

Automation

Business LogicDyalog 2007 GamaGlobal

Page 32: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

32

WHAT IS BEHIND THE BLOCKS

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Sync

Async

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

SyncApplication Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 33: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

33

WHAT IS BEHIND THE BLOCKS

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 34: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

34

SQL SERVER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

MS SQL Server 2005

Dyalog 2007 GamaGlobal

Page 35: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

35

CLUSTER MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

MSCS - MS Cluster Server

Dyalog 2007 GamaGlobal

Page 36: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

36

RESOURCE MANAGER

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

System.Resources + Dyalog APL

Dyalog 2007 GamaGlobal

Page 37: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

37

MESSAGE QUEUING

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

MSMQ

Dyalog 2007 GamaGlobal

Page 38: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

38

USER INTERFACE

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Developer Express DxperienceXtra Toolkit

Dyalog 2007 GamaGlobal

Page 39: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

39

OLD GAMA

Dyalog 2007 GamaGlobal

Page 40: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

40

GAMA GLOBAL

Dyalog 2007 GamaGlobal

Page 41: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

41

NEW GAMA

Dyalog 2007 GamaGlobal

Page 42: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

42

USER INTERFACE

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

UI

Data AwareControls

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Developer Express DxperienceXtra Toolkit

Dyalog 2007 GamaGlobal

Page 43: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

43

USER INTERFACE (WEB BASED)

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager

Application Context Manager

Resource Manager

PresentationManager

Client Manager

Web Server

Web Client

Developer Express Dxperience

ASPx Toolkit Dyalog 2007 GamaGlobal

Page 44: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

44

DYALOG APL

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 45: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

45

LOAD BALANCING

Message Queuing

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 46: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

46

SCALABILITY

The Bus

Sch

edule

r Algorithm (Business Logic) Database

Database

SQL Server

Cluster Manage

r

Document Life Cycle

Manager Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

Async

Data AwareControls (Browsin

g)

PresentationManager

Client Manager

UI

Data AwareControls (Browsing

)

PresentationManager

Client Manager

Application Context Manager

Resource Manager

Dyalog 2007 GamaGlobal

Page 47: Alexey Miroshnikov InfoStroy Ltd. Locatioin: St.Petersburg, Russia Established: 1990 APL: since 1979 First APL conference: 1990, Copenhagen People: 42+

47

GamaGlobal

Dyalog 2007 [email protected] www.gama.ru