Architecture
The basis for the entire CTS solution is three-tier architecture, whose user interface consists of a fat client. With this CTS complies with the security requirements placed on banking systems working with sensitive data. A security audit was made on the entire solution by AEC specialists. An important technical parameter of the system is sufficient performance, which much attention was devoted to during its development; its basic elements are:
- The application logic is concentrated on the application server – the system’s performance is not influenced by the performance of client-station computers.
- By distributing events to client stations via IP multicasting – the server is not burdened by the number of client stations.
- Asynchronous processing of events – processes connected with the reception of information from the system’s vicinity (e.g. from the market) are conducted separately and the reception and display of other information is not conditioned by the completion of processes with the reception of the initial information.
- The separation of processes related to the completion of trades, in which fractions of seconds can mean the difference between success and failure, from batch processing conducted at the back-office that can use up a significant portion of the hardware facilities.
CTS system performance can be further increased by adding additional application servers and thereby distribute HW performance needs to multiple servers.
Technology used
CTS Explorer – WinForm application of the system’s user interface running in a MS .NET Framework 2.0 runtime environment. The application contains only presentation logic; all business logic is located in the CTS Service. Due to a reduction in the number of CTS Service calls and increased performance particularly in working with the application's dialogues, the statistical data is stored in a cache. Application in user profiles on stations store the settings of control elements of the various users (size and resolution of windows, the order and size of columns in grids, etc.). The application is composed of dynamically read modules that contain the presentation logic of the various system modules, i.e. larger functional units.

CTS Service – a Win32 service running in a MS .NET Framework 2.0 environment that contains the system’s business logic and integration logic. The service can be set in multiple instances to enable distribution of the system's load on several application servers. The various instance services synchronize their internal status via messages.
The system’s business logic is made accessible via an interface provided for by the remote calling communication mechanism .NET Remoting. The nature of exchanged data requires secure communication and therefore messages are encrypted and signed and the identity of the calling user is also verified. These security requirements are ensured by configuration of the .NET Remotig level via the SSPI system interface.
The integration logic is established on a universal integration interface of the integration messages. Authorisation of operations is based on user roles. The service uses the MS SQL Server 2005 database to store data. Communication between the service and databases is secured through standard means of the MS SQL Server 2005. As with the client application, the service is composed of modules that are dynamically read at the start.
Event Dispatcher – the Win32 service running in the runtime environment of MS .NET Framework 2.0 that ensures the distribution of events between the client applications and CTS service and mutually between instances of the CTS service. Communication is carried out in publisher/subscriber form, i.e. the subscriber is registered to take messages and specifies the topic that determines which messages will be taken; the publisher generates the messages and sends them to topics on the Event Dispatcher without knowing the individual subscribers. The service ensures the delivery of messages to subscribers. Communication is carried out via .NET Remoting.