PORTFOLIO
 Design
 Nos clients
 Témoignages
 Cas d'affaires
 Demos
   Business Cases

FX3K

Le cas :
Oxford Global Network (
http://www.fx3k.com) est venu nous voir avec l'idée de créer un site sur les marchés des changes devant avoir un environnement possédant toutes les caractéristiques suivantes :

Simple, logique, informatif et facile à utiliser
Graphiques sophistiqués des différents indicateurs boursiers et des changes, combinés dans une fenêtre unique.
Cours en temps réels afin de faciliter la prise de décisions rapidement.
Affichage des graphiques sur demande
Données automatiquement mises à jour lorsque l'utilisateur se connecte avec son login.
Utilisation du langage Java qui permet d'éviter à l'utilisateur de télécharger des plug-ins et autres logiciels
Analyses et nouvelles des bourses étrangères
Echange d'opinions en temps réel

La Solution:
The Challenges Idea behind the project was to develop a sophisticated mass-service, real-time financial processing system. Back then, client did not have an IT department, nor programmers on stuff. Thus, first challenge was to establish complete and thorough understanding between the customer (professional traders) on the one hand, and the developers (technoheads) on the other hand. The first order of business was to solve the contradiction between the approaches and even lingoes of, on the one hand, the technical people, who would never get the picture of customer's special field of knowledge with all its intricacies, and, on the other hand, the brokers, who couldn’t understand all details of the system.
Customer had a few basic conditions, which had to be abide by:
a) System must be able to process hundreds
   of users in real time
b) User interface should be Java-driven
c) Stability of all system must be rock-solid
d) Budget was extremely limited, which made Octet developers think twice before choosing among possible solutions (be it hardware or software), always keeping price in mind. There was a general understanding among the developers at this time that use of Java as a front-end for a complicated GUI would bring the application to the speed of a turtle. But use of Java in the interface was a requirement, and the task was as challenging as it was intriguing.

The Solutions
Octet embarked upon a search for the solution, which would allow for a satisfactory performance assuming an average ("typical") PC on user's side.

At first, it seemed that Javasoft JDK was such a solution, but soon the developers realized that drawing all the buttons and pop-up windows, etc. will be extremely time-consuming (and we had to keep the low budget requirement in mind!) Developers got back to more research and digging and found another good tool from Javasoft - Swing JDK Classes, then a beta release only. A careful examination of the tool showed that it was reliable, and, after a consultation with the client (Octet needed to solve the contradiction between the request of reliability and that of low budget – so, we had to inform the client) our developers decided to use Swing JDK Classes before its official release. Octet was positive that it was a brilliant tool for hi-tech extra-complex applications with rich user interfaces. As time has shown, we were right in our analysis, and Javasoft made the first release of their official JDK Classes only two month after we started using its beta version.

Next problem faced by Octet developers was to have all interfaces written in Java and, then, that of developing our own transaction server in Java. Several considerations prevented us from using existing transaction servers (Tuxedo, etc.): had we used them, there would have been a need to change servers too much to fit our task, yet modified servers would remain too heavy for our hardware platform, which we intended to base on Intel PII architecture. Octet looked at brand name solutions from Sun. – It seemed that all Java computations and Oracle-driven database demanded very high CPU speed, assuming several hundreds users will be working simultaneously with the system. But the limited budget was making us at Octet think more than twice about the hardware part of the project as well. So, there we were – forced to use the not-so-powerful Intel servers, (OK, at least we got them shipped to us with Dual CPU configuration), and we had to do all the work with Java-server and Oracle there.

As if our challenges were not tough enough – enter the vital question of operating system: what will be the heart of our system? At that time, Octet was in no mood for experimenting with Windows NT, because we needed an instant and proven solution. The answer was obvious – UNIX, and since we decided to use Oracle and Java, the choice was – Sun Solaris. We have had a significant experience with the system, and knew that there would be no operating system related problems and surprises with Solaris.

Before Octet decided to use Oracle, we were also considering Sybase, but direct comparison of feature lists and available configurations demonstrated that at that time Oracle had more to offer, so opted for Oracle.

The most interesting point in project planning was reached when the question of availability and back-up was brought in. For financial reasons Octet couldn’t use commercial cluster solutions in this system, so we had to develop a solution of our own. The plan was simple in writing, but complex to implement. It was decided that maximum allowed downtime of all system could be 5 minutes. The system had to consist of two identical servers, so we felt that there was only one good solution: backup-standby scheme. – At any time, one server is in production mode servicing the users, while the second is "resting" in standby mode, retrieving all real-time information from the first one by an independent full duplex 100Mbps link.

Octet decided that no real load balancing will take place because there wasn’t enough time to implement some of our own, and the only way to go was to use commercial solution – but this was something we couldn't do because it was beyond the budget. When production server experiences a failure of any kind it is substituted by standby server – it all takes 5 minutes and only a very few transactions would be lost (those incomplete during the failure period). Users would receive confirmations for every action, so if no acknowledgment is received from the system, the action is repeated. Octet used SSL for encryption of data transfer between the system and users, in case of substitution of servers all such connections would be closed and users would have to reconnect to the system. – The process of reconnection, while disturbing for users, would, in the one hand, ensure great security and, on the other hand, be merely a matter of clicking the "Reload" button in user's browser.

 

   
E-mail Us