alexey miroshnikov infostroy ltd n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Modern APL Application Design PowerPoint Presentation
Download Presentation
Modern APL Application Design

Loading in 2 Seconds...

play fullscreen
1 / 47

Modern APL Application Design - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Modern APL Application Design' - derek-lloyd


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

Infostroy
the starting point

GAMAGlobal Asset Management Assistant

SeMaTrade Settlement Manager

iFundFund Manager

A0Construction Planning and Estimating

Dyalog 2007 GamaGlobal

The starting point
slide4

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

GAMA

Dyalog 2007 GamaGlobal

slide5

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.

GAMA

Dyalog 2007 GamaGlobal

slide6

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.

SeMa

Dyalog 2007 GamaGlobal

slide7

Client Base – 4 companies

Biggest installation – 15 workstations

SeMa position at the Russian marketis second to none.

SeMa

Dyalog 2007 GamaGlobal

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

iFund
slide10

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

A0

Dyalog 2007 GamaGlobal

slide11

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

A0
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

People

Dyalog 2007 GamaGlobal

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

The grouth challenge

Dyalog 2007 GamaGlobal

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

Some problems…
the challenge we face

To solve all listed above…

Scalable

Asynchronous

Stateless

KISS

Dyalog 2007 GamaGlobal

The challenge we face
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

The approach
keep it simple
Dyalog 2007 GamaGlobalKeep it simple

Parameters

Input Data

Computation

Output Data

keep it simple1
Dyalog 2007 GamaGlobalKeep it simple

Which computation

Where to get the computationparameters

Where to get the input data

Where to store the results

Parameters

Input Data

Computation

Output Data

keep it simple2
Dyalog 2007 GamaGlobalKeep it simple

Parameters

Database orData Store

Computationor Service

Output Data

Computation

Input Data

keep it simple3
Dyalog 2007 GamaGlobalKeep it simple

Database

Database

Database

Database

Computation

Computation

Computation

Computation

zooming in
Dyalog 2007 GamaGlobalZooming in …

Algorithm (Business Logic) Database

Database

Service

Service

Service

zooming in1
Dyalog 2007 GamaGlobalZooming in …

Algorithm (Business Logic) Database

Database

Service

Service

Service

Algorithm

Parameters

Output Data

Input Data

slide23
Dyalog 2007 GamaGlobaluser

Algorithm (Business Logic) Database

Scheduler

Database

Service

Service

Service

Algorithm

Parameters

Input Data

Output Data

the bus
Dyalog 2007 GamaGlobalThe bus

Algorithm (Business Logic) Database

Scheduler

Database

Service

Service

Service

The Bus

the bus1
Dyalog 2007 GamaGlobalThe bus

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.

Algorithm (Business Logic) Database

Scheduler

Database

Service

Service

Service

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.

The Bus

client
Dyalog 2007 GamaGlobalClient

SQL Server

Data AwareControls

(Browsing)

Sync

UI

Algorithm (Business Logic) Database

Scheduler

Database

PresentationManager

UI

Client Manager

Async

The Bus

document life cycle manager
Dyalog 2007 GamaGlobalDocument Life Cycle Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Document Life Cycle Manager

PresentationManager

PresentationManager

PresentationManager

Client Manager

Client Manager

Client Manager

Async

Async

Async

The Bus

application context manager
Dyalog 2007 GamaGlobalApplication context manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Document Life Cylce Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Async

The Bus

resource manager
Dyalog 2007 GamaGlobalResource manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Async

The Bus

cluster manager
Dyalog 2007 GamaGlobalCluster manager

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Async

The Bus

server service groups
Dyalog 2007 GamaGlobalServer – Service groups

Service Level Automation

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Async

Utility Services

The Bus

Business Logic

what is behind the blocks
Dyalog 2007 GamaGlobalWhat is behind the blocks

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Sync

Sync

Sync

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Async

The Bus

what is behind the blocks1
Dyalog 2007 GamaGlobalWhat is behind the blocks

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

sql server
Dyalog 2007 GamaGlobalSQL server

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

MS SQL Server 2005

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

cluster manager1
Dyalog 2007 GamaGlobalCluster manager

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

MSCS - MS Cluster Server

UI

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

resource manager1
Dyalog 2007 GamaGlobalResource manager

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

UI

Algorithm (Business Logic) Database

System.Resources + Dyalog APL

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

message queuing
Dyalog 2007 GamaGlobalMessage queuing

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

MSMQ

Async

Async

The Bus

user interface
Dyalog 2007 GamaGlobalUser interface

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

UI

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

Developer Express DxperienceXtra Toolkit

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

user interface1
Dyalog 2007 GamaGlobalUser interface

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

Data AwareControls

(Browsing)

UI

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

Developer Express DxperienceXtra Toolkit

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

user interface web based
Dyalog 2007 GamaGlobalUser interface (web based)

Cluster Manager

SQL Server

Web Server

PresentationManager

Algorithm (Business Logic) Database

Scheduler

Database

Client Manager

Web Client

Resource Manager

Document Life Cycle Manager

Application Context Manager

Developer Express DxperienceASPx Toolkit

The Bus

dyalog apl
Dyalog 2007 GamaGlobalDyalog APL

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

load balancing
Dyalog 2007 GamaGlobalLoad balancing

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

Message Queuing

scalability
Dyalog 2007 GamaGlobalSCALABILITY

Cluster Manager

SQL Server

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Data AwareControls

(Browsing)

Algorithm (Business Logic) Database

Scheduler

Database

Resource Manager

Document Life Cycle Manager

Application Context Manager

PresentationManager

PresentationManager

PresentationManager

UI

Client Manager

Client Manager

Client Manager

Async

Async

The Bus

slide47

GamaGlobal

Dyalog 2007 aim@infostroy.ru www.gama.ru