The goal of this project is to increase the functionality of an existing application, which is an internal tipical "three layer" development. We use Interbase for the database, and Delphi 2006 for the business layer and user interface (which is a desktop application, no web interface).
The main purposes of the existing application is to provide our traders with the information regarding their open positions on a strictly real time basis, including transaction costs and real time valuation.
The application includes other funcionality such as the management of traders results (P&L), risk control, planification of trading and other functionality which is tipically called "BackOffice" (account balance and portfolio management, operations matching, etc...)
The project for which we are requesting external colaboration focused only on the management of the traders open positions. In a few words, the project consists on broadcasting to the clients (traders) a specific table in the database which contains the ever changing open position data, and distributing it properly an timely to the traders.
At the moment we are performing this task using a grid which is connected to the database and refreshes constantly. But the performance and future scalability of this architecture is limited and inefficient from a network point of view. We need a new architecture which is resilient, fast and efficient up to 100 connections which are geographically distant.
Probably the best architecture should be message driven over TCP/ IP rather than database driven.
Now we are using leased lines, but the system should be capable to work over the internet maintaining security.