1 / 47

Modern APL Application Design

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

derek-lloyd
Télécharger la présentation

Modern APL Application Design

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alexey MiroshnikovInfoStroy Ltd Modern APL Application Design

  2. 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

  3. GAMAGlobal Asset Management Assistant SeMaTrade Settlement Manager iFundFund Manager A0Construction Planning and Estimating Dyalog 2007 GamaGlobal The starting point

  4. 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

  5. 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

  6. 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

  7. Client Base – 4 companies Biggest installation – 15 workstations SeMa position at the Russian marketis second to none. SeMa Dyalog 2007 GamaGlobal

  8. 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

  9. One of the best at the Russian market ifund Dyalog 2007 GamaGlobal

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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…

  15. To solve all listed above… Scalable Asynchronous Stateless KISS Dyalog 2007 GamaGlobal The challenge we face

  16. 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

  17. Dyalog 2007 GamaGlobal Keep it simple Parameters Input Data Computation Output Data

  18. Dyalog 2007 GamaGlobal Keep 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

  19. Dyalog 2007 GamaGlobal Keep it simple Parameters Database orData Store Computationor Service Output Data Computation Input Data

  20. Dyalog 2007 GamaGlobal Keep it simple Database Database Database Database Computation Computation Computation Computation

  21. Dyalog 2007 GamaGlobal Zooming in … Algorithm (Business Logic) Database Database Service Service Service

  22. Dyalog 2007 GamaGlobal Zooming in … Algorithm (Business Logic) Database Database Service Service Service Algorithm Parameters Output Data Input Data

  23. Dyalog 2007 GamaGlobal user Algorithm (Business Logic) Database Scheduler Database Service Service Service Algorithm Parameters Input Data Output Data

  24. Dyalog 2007 GamaGlobal The bus Algorithm (Business Logic) Database Scheduler Database Service Service Service The Bus

  25. Dyalog 2007 GamaGlobal The 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

  26. Dyalog 2007 GamaGlobal Client SQL Server Data AwareControls (Browsing) Sync UI Algorithm (Business Logic) Database Scheduler Database PresentationManager UI Client Manager Async The Bus

  27. Dyalog 2007 GamaGlobal Document 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

  28. Dyalog 2007 GamaGlobal Application 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

  29. Dyalog 2007 GamaGlobal Resource 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

  30. Dyalog 2007 GamaGlobal Cluster 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

  31. Dyalog 2007 GamaGlobal Server – 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

  32. Dyalog 2007 GamaGlobal What 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

  33. Dyalog 2007 GamaGlobal What 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

  34. Dyalog 2007 GamaGlobal SQL 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

  35. Dyalog 2007 GamaGlobal Cluster 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

  36. Dyalog 2007 GamaGlobal Resource 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

  37. Dyalog 2007 GamaGlobal Message 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

  38. Dyalog 2007 GamaGlobal User 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

  39. Dyalog 2007 GamaGlobal OLD GAMA

  40. Dyalog 2007 GamaGlobal Gama global

  41. Dyalog 2007 GamaGlobal New gama

  42. Dyalog 2007 GamaGlobal User 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

  43. Dyalog 2007 GamaGlobal User 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

  44. Dyalog 2007 GamaGlobal Dyalog 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

  45. Dyalog 2007 GamaGlobal Load 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

  46. Dyalog 2007 GamaGlobal SCALABILITY 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

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

More Related