Alexey Miroshnikov InfoStroy Ltd
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) 2 Dyalog 2007GamaGlobal
GAMA Global Asset Management Assistant SeMa Trade Settlement Manager iFund Fund Manager A0 Construction Planning and Estimating 3 Dyalog 2007GamaGlobal
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 4 Dyalog 2007GamaGlobal
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. 5 Dyalog 2007GamaGlobal
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. 6 Dyalog 2007GamaGlobal
Client Base – 4 companies Biggest installation – 15 workstations SeMa position at the Russian market is second to none. 7 Dyalog 2007GamaGlobal
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 8 Dyalog 2007GamaGlobal
One of the best at the Russian market 9 Dyalog 2007GamaGlobal
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 10 Dyalog 2007GamaGlobal
Client Base >> 3000 companies Biggest installation – 92 workstations After 20 years A0 considered as one of the best at the Russian construction market 11 Dyalog 2007GamaGlobal
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 12 Dyalog 2007GamaGlobal
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 day from 5 WS to WS per company 13 Dyalog 2007GamaGlobal
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 14 Dyalog 2007GamaGlobal
To solve all listed above… Scalable Asynchronous Stateless KISS 15 Dyalog 2007GamaGlobal
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) 16 Dyalog 2007GamaGlobal
Parameters ComputationInput DataOutput Data 17 Dyalog 2007GamaGlobal
Parameters ComputationInput DataOutput Data Which computation Where to get the computation parameters Where to get the input data Where to store the results 18 Dyalog 2007GamaGlobal
Parameters Computation Input Data Output Data Database or Data Store Computation or Service 19 Dyalog 2007GamaGlobal
Computation Database Computation Database Computation Database Computation Database 20 Dyalog 2007GamaGlobal
Algorithm (Business Logic) Database Service Database 21 Dyalog 2007GamaGlobal
Algorithm (Business Logic) Database Service Database Algorithm Parameters Input Data Output Data 22 Dyalog 2007GamaGlobal
Algorithm (Business Logic) Database Service Database Scheduler Algorithm Parameters Input Data Output Data 23 Dyalog 2007GamaGlobal
Algorithm (Business Logic) Database Service Database Scheduler The Bus 24 Dyalog 2007GamaGlobal
Algorithm (Business Logic) Database Service Database Scheduler The Bus 25 Dyalog 2007GamaGlobal 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.
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Sync Async UI Data Aware Controls (Browsing) Presentation Manager Client Manager 26 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Document Life Cycle Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync 27 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Document Life Cylce Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async UI Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync Application Context Manager 28 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Document Life Cycle Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async UI Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync Application Context Manager Resource Manager 29 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async UI Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync Application Context Manager Resource Manager 30 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async UI Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync Application Context Manager Resource Manager Utility Services Service Level Automation Business Logic 31 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async Data Aware Controls (Browsin g) Presentation Manager Client Manager Sync Async UI Data Aware Controls (Browsing ) Presentation Manager Client Manager Sync Application Context Manager Resource Manager 32 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager 33 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager MS SQL Server Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager MSCS - MS Cluster Server 35 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager System.Resources + Dyalog APL 36 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager MSMQ 37 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager Developer Express Dxperience Xtra Toolkit 38 Dyalog 2007GamaGlobal
39 Dyalog 2007GamaGlobal
40 Dyalog 2007GamaGlobal
41 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls Presentation Manager Client Manager Application Context Manager Resource Manager Developer Express Dxperience Xtra Toolkit 42 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Application Context Manager Resource Manager Presentation Manager Client Manager Web Server Web Client Developer Express Dxperience ASPx Toolkit 43 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls Presentation Manager Client Manager Application Context Manager Resource Manager 44 Dyalog 2007GamaGlobal
Message Queuing Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager 45 Dyalog 2007GamaGlobal
The Bus Scheduler Algorithm (Business Logic) Database Database SQL Server Cluster Manager Document Life Cycle Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager Async Data Aware Controls (Browsin g) Data Aware Controls (Browsin g) Presentation Manager Client Manager UI Data Aware Controls (Browsing ) Data Aware Controls (Browsing ) Presentation Manager Client Manager Application Context Manager Resource Manager 46 Dyalog 2007GamaGlobal
47 Dyalog