Dossiers Les réalisations d’Infotel UDB : Le développement multi-plate-forme
Maîtriser les données
UDB : Le développement multi-plate-forme
Un développement multi-plates-formes
En septembre 2001, IBM et Infotel ont signé un accord
portant sur la commercialisation de la version multi-plates-formes du produit
HPU (High Performance Unload for DB2) existant déjà dans
l’environnement z/OS.
Fort de son expérience dans ce domaine, Infotel a
mis en place une équipe chargée du développement de ce
nouveau produit.
Rapidement, un certain nombre de questions se sont
posées :
- quel langage de développement choisir ?
- quelle plate-forme de développement sélectionner ?
- comment déployer versions et modifications ?
Quel langage de développement choisir ?
La version HPU z/OS est écrite, pour sa partie centrale,
en assembleur.
La translation du code existant dans le langage
assembleur spécifique à chaque machine cible n’était pas
envisageable compte tenu du nombre élevé de plates-formes
à supporter (AIX 4.3 et 5.x, Sun 2.x, Linux, Windows NT 2K et XP, HP-UX
10.x et 11.x). De plus, une différence fondamentale existe entre DB2 sur
z/OS et DB2 multi-plates-formes, à savoir la notion de
« nodes ». En effet, un Tablespace sur Unix et Windows
peut être réparti sur plusieurs serveurs grâce à la
version Extended Enterprise Edition de DB2. Enfin le produit, pour être
performant, doit exécuter un minimum de code lors de la lecture et du
traitement des fichiers de la base de données.
Donc, pour développer le cœur du produit, le
langage C a été choisi, car il est portable sur chaque type de
serveur tout en conservant de bonnes performances. Néanmoins, le code a
été optimisé pour chaque système d’exploitation. Le
deuxième langage choisi est Java, portable sur tous les
environnements ; c’est la solution idéale pour créer une
interface utilisateur conviviale et pour l’intégrer au centre de
contrôle de DB2 (outil graphique d’administration de bases de
données).
D’un point de vue macroscopique, l’architecture des
trois composantes du produit est la suivante :
|
|
Figure 7 : Architecture des composants |
Quelle plate-forme de développement sélectionner ?
Cette plate-forme se devait d’être sous Unix pour permettre
le portage vers la majorité des environnements cibles. Le choix s’est
naturellement porté sur Linux (RedHat version 7), car la plupart des
outils de développement (nedit, ddd, mpatrol…) sont fournis avec le
système d’exploitation.
Les principaux logiciels sujets à licence sont
DB2 et surtout le gestionnaire de sources ClearCase qui autorise des
développements en parallèle tout en ne nécessitant que peu
d’efforts de gestion lors de l’intégration des modifications,
l’automatisation des tests et la génération des
« releases » ou
« fixpaks ».
Les autres logiciels techniques utilisés sont :
ICU (International Components for Unicode) et LUM (License Use Management). ICU
est utilisé pour l’internationalisation des messages alors que LUM
permet la gestion des licences du produit HPU. Le poste client du
développeur est un PC sous Windows ayant un émulateur X (Xfree de
cygwin).
Comment déployer versions et modifications ?
Pour finir, le dernier logiciel utilisé, ayant une
importance fondamentale, est Install Shield Multi-Platform qui offre une
interface graphique paramétrable (en Java) pour l’installation du
produit HPU puis de ses mises à jour. Cet outil, installé sur une
machine Linux (ReadHat), permet de générer les exécutables
d’installation pour tous les systèmes d’exploitation cibles, Windows
compris.
Le principal avantage d’un tel outil par rapport
à des scripts classiques en mode caractère est une interface
graphique homogène quelle que soit la plate-forme (Unix ou
Windows).
L’inconvénient majeur est que pour 10 Mo de
produit HPU, il est nécessaire d’y ajouter 100 Mo de JRE (Java Runtime
Environment) pour maîtriser complètement le processus
d’installation sur chacune des plates-formes cibles.
Jean-François CASTELLA
Dossiers Infotel
Michel KOUTCHOUK
Tél. +33 (0)1 48 97 38 38
dossiers@infotel.com
