01.2002
-
12.2002
|
GIE Ingénierie Options (
BNP Paribas
)
|
|
Migration of security market applications towards a 3-tier architecture
|
The project is managed by a team in charge with market sales IT applications, more precisely on legacy applications dealing with securities. The development is well balanced between C++ - through Visual C++ V6.0
IDE - and Java - with Together Control Center V6 and IDEA V3.
Beforehand, I have been in charge with a legacy C++ application aiming at exporting and exporting market data under XML format. On that purpose, an import grammar, close to SQL has been defined with ANTLR, and then the corresponding parser is generated in C++: this parser enables to interprete queries supposed to conform the grammar.
Then, I have been asked to improve the CORBA services developed by the team: those service handle market data and have been complementarily developed in C++ and Java; the implementation of the bus is ORBIX V3.0.1. From exception handling, to non-regretion testing, I have been developing a framework that makes the building, load testing,
reporting of every service totally automatic. I used the open-source CppUnit V1.6.2 and Log4Cpp V0.2.7 and report the result under XML format, which enables to transform that result in HTML for instance. All this automation was made possible thanks Ant, which I have been massively using, so as to industrialize the process managment.
|
|
09.2001
-
11.2001
|
Siris
(
Deutsche Telekom
)
|
|
Mission by Siris for 3 months: online activation application integration aimed at VISP
|
During the integration process I have been involved in, the purpose of the project was to validate a web application aimed
at Virtual Internet Services Provider (VISP) (Siris customers).
The services delivered by this application offer web pages hosting, the e-mail, the internet web e-mail, a domain name declaration
to DNS. In order to highlight the issue of that project, I had to understand more closely how the DNS works.
The application, which is written in Java V1.3, has been developed with the J2EE V1.3 framework: the GUI part is based on Struts framework, whereas the businees object part makes use of EJB V1.1. The application server is not a single block, since it is made, on the one side, of two iPlanet Application Server V6.0 clustered servers (as far as web and Servlet/JSP containers is concerned), on the other side, of various EJB V1.1 containers implemented by JBoss V2.4.0. The iPlanet Application Server V6.0 application server massively makes use of an LDAP server, implemented by iPlanet Directory Server V4: this is the reason why I had to make aknowlegment with the LDAP standard. All code development uses Log4j so as to enhance runtime execution logging. Moreover, I had the opportunity to use Ant V1.3 in order to automate the service deployment on each machine hosting the EJB V1.1 containers.
At last, in order to validate this application, I developed another web application enabling the initialization and handling
of the database used by the previous VISP application: this application has been developed and tested with the Servlet/JSP container Tomcat V4. It uses JDBC standard in order to interface with the database, it it based on the Model View-Controller (MVC)
Struts, also uses Log4j logging framework, and is fully administered by an Ant script.
|
|
12.2001
-
12.2001
|
Open Up
(
NET2S
)
|
|
During 1 month, design of a 3-tier prototype including a JMS bus, a LDAP server, two database systems
|
Ce projet, pendant lequel j'ai eu l'occasion d'encadrer trois collègues, a permis de produire un prototype pour un éventuel
client. Ce prototype devait mettre en valeur le savoir-faire de la société en matière de conception d'une application web
permettant aux employés d'une compagnie d'assurance, d'accéder aux données relatives aux assurés et à leurs contrats d'assurance.
Le client souhaitait incorporer à cette application la technologie J2EE V1.3, ainsi que JMS afin de pouvoir réaliser une migration progressive de base de données depuis un système de base de données hérité (système
de fichiers "à plat") sur AS400 vers une base de données Oracle V8.
Le prototype a été développé (en Java V1.3) autour de la plate-forme J2EE V1.3. Le conteneur de Servlet/JSP était Tomcat V5.0 lors du développement. Quant au déploiement, c'est le conteneur d'EJB V1.1
WebLogic V6.0 qui a été utilisé. Le bus JMS V1.0 retenu était Sonic MQ V3.5; l'annuaire LDAP utilisé était iPlanet Directory Server V4. La partie graphique cliente Servlet/JSP a été développée au-dessus du cadre de travail Struts. L'ensemble des développements a été réalisé en utilisant l'outil de traçage Log4j, que ce soit pour la partie Servlet/JSP ou pour la partie EJB V1.1. L'ensemble du projet a été administré à l'aide de scripts Ant partagés par l'ensemble des développeurs. La VC a été assurée par CVS V1.11.
Afin de répliquer les modifications des utilisateurs dans les deux systèmes de base de données, il a fallu mettre en œuvre
un système permettant d'impacter les deux bases à la fois : pour cela, chaque système s'abonne à une queue JMS sur laquelle les messages d'accès aux bases sont envoyés par les EJB V1.1 : à cet effet, les objets sont sérailisés sous forme de Java Beans. Pour ce qui est de l'accès à la base de donnnées Oracle, nous avons utilisé le cadre de travail Castor V0.9.3 qui permet de réaliser très rapidement une surcouche de base de données relationnelle. Afin de pouvoir relier certains messages
JMS et de les transformer en requètes vers la base de données, nous avons évalué openadaptor.
|
|
10.2000
-
08.2001
|
Air France
|
|
Mission by Air France for 10 months: CORBA/DB architecture design and programming, enabling centralized strategic data handling all over the company
|
The purpose ot the mission was to develop CORBA services, enabling at accessing the company referential data, so that legacy applications do not have to maintain their own
databases, but rather use those new services when needed.
Development was mostly performed under Windows NT, whereas deployment was performed under UNIX HP : this is the reason why Ant V1.3 tool has been massively used, so at to automate Java sources compilations. As a matter of fact, ClearCase (VC) commands were seamlessly integrated in those scripts.
The development first focused on IDL definition, then around the coding in C++ and Java V1.2 of the underlying CORBA services. On this purpose, a code generator written in Java has been developed: this factory takes the business services descriptions modeled in XML as an entry, and with JAXP V1.0
API, it generates the IDL files, their implementation mostly performed in C++ but also in Java, eventually the CORBA servers. The C++ generated code, concerning the service implementation, uses PowerTier V6 library: this library performs an object mapping of the database (Oracle V8). This factory also spawns the Makefile used in order to recompile everything under UNIX.
In the first step, the CORBA services implementation were base upon ORBIX V3.0.1, then a migration to ORBIX 2000 V1.2 had to be performed: the code generator revealed to be very efficient during this stage. Moreover, as specifications were
floating, the factory enabled to react very rapidly and fitted to the dayly object model changes. This model has been populated
under Rational Rose, then exported, transformed through a parser developed with ANTLR, eventually turned into XML.
|
|
|