C'est en 1998, sur fond de confrontation farouche opposant les modèles objet distribués COM/DCOM (Micro- soft) et Corba (OMG), que Sun a publié la première spécification de son propre modèle, baptisé Enterprise Javabeans (EJB). C'est à partir de cette date que l'on a commencé à parler de serveur d'applications, présenté comme le système d'exploitation internet.
Pour le cabinet de conseil Owendo, il s'agit d'
" un environnement de l'architecture qui fournit les bri- ques techniques nécessaires à l'exécution d'applications transactionnelles web "
. Une définition sous laquelle il est possible de ranger plusieurs types de plates-formes de déploiement logiciel : le quatuor Lamp (Linux, Apache, MySQL, PHP), .Net de Microsoft et J2EE (Java 2 Enterprise Edition), le nom de celle de Sun, loin désormais de se résumer aux seuls EJB. Cette dernière peut se prévaloir aujourd'hui d'un réel consensus. Comme l'observe Didier Girard, directeur technique de la société de services Improve, " les grands comptes ont, dans une large majorité, basculé vers une architecture Java ".
Polémique autour des Entity Beans
Le ralliement à J2EE n'est pas pour autant synonyme d'adoption de l'ensemble des services techniques offerts par cette plate-forme. Certes, " dans sa version 1.2, J2EE atteint un bon niveau de maturité, souligne Dominique Jocal, consultant chez Octo Technology. Ce qui permet d'utiliser le serveur d'applications de façon industrielle ". Reste que, dans l'hexagone et jusqu'au début 2001, les EJB brillaient par leur absence dans les projets de développement d'applications web.
Dans un rapport de fin 2000, le Gartner Group prévoyait qu'en 2001, globalement, les EJB ne seraient utilisés que dans à peine 8 % des projets internet. Un taux d'utilisation qui, pour le duo formé par les composants Servlets et les pages JSP (Java Server Pages), s'élèverait cette année à plus de 60 %. Dans son rôle de prescripteur de technologies, certains pensent qu'IBM évitait d'encourager l'usage des EJB, son produit Websphere n'ayant supporté pendant longtemps que la version 1.0 - rudimentaire - des EJB.
Pour une conformité aux EJB 1.2, il a fallu attendre la toute dernière version 4 du serveur d'applications de Big Blue.
" IBM a constitué un frein à l'emploi des EJB
, déclare sans ambages Bruno de Combiens, responsable marketing produits chez Borland France.
Ces composants comportent indiscutablement des lacunes. Mais ce n'est pas une raison pour dire que cette voie n'est pas viable. "
Les EJB ont en effet leur talon d'Achille. De quoi fournir une raison moins sujette à polémique à leur faible diffusion : la spécification des composants EJB dits Entity Beans, dont la fonction est d'assurer la persistance objet des données stockées dans des bases relationnelles, fut décriée par l'ensemble de l'industrie. Au point que Sun l'a entièrement réécrite dans la version 2.0 des EJB pour prendre enfin en compte la notion d'association entre objets. Cependant, " il faudra patienter jusqu'en 2002 avant d'oser mettre en production des Entity Beans ", affirme Dominique Jocal.
Ce défaut n'a pas empêché, l'an dernier, les éditeurs de serveurs d'applications de se lancer dans une course effrénée à la certification J2EE. De six à la mi-2000, on est passé à onze produits marqués de l'estampille de Sun. Si J2EE mène à une banalisation de l'infrastructure applicative pour le web, se posait alors un sérieux problème pour ces fournisseurs : comment se différencier face à la concurrence ? La solution consiste à élargir le spectre fonctionnel de leur moteur de déploiement.
C'est ainsi que sont apparus, au cours de l'année 2000, des frameworks dédiés à l'édification de sites de commerce électronique - chez BEA avec Weblogic Commerce Server, par exemple. Une extension à laquelle il convient d'associer les serveurs de personnalisation (Websphere Personalization Server ou Weblogic Personalization Server). Au vu de la nouvelle opportunité apportée par le commerce mobile, les serveurs J2EE se sont également enrichis de modules voués à la création d'applications sans fil déportées sur les terminaux légers (téléphones, assistants personnels, etc.).
Quant aux dernières avancées des éditeurs, elles portent sur l'adjonction de frameworks dans le domaine des portails d'entreprise et de l'intégration d'ap- plications dans un contexte d'échanges électroniques entre entreprises.
Les éléments en jeu dans J2EE
La génération dynamique de pages web
Pour la gestion et le formatage des pages HTML, un serveur d'applications s'appuie sur des composants nommés Servlets, exécutés par un moteur idoine. Ce sont des programmes Java qui récupèrent une chaîne URL et émettent du code HTML. Quant aux JSP, ce sont des documents HTML semi-définis, qui renferment des instructions d'exécution Java (via des Taglets).
Le réceptacle des objets de traitement transactionnel
Les traitements transactionnels incombent aux EJB, des composants invoqués par les objets de gestion de la présentation, typiquement les Servlets. Il existe deux types d'EJB exécutés dans un socle appelé EJB Container : l'Entity Bean et le Session Bean. Celui-ci gère le flux de session, ainsi que le formatage et l'interprétation des données. Un EJB appelle un autre EJB via un pointeur distant.
La gestion de la persistance objet
Le rôle des Entity Beans est de conserver la persistance des objets métier. Leur logique d'utilisation consiste principalement en des interactions avec les bases de données.
Les services offerts par le kit Java 2
Les composants J2EE s'appuient sur les services offerts par le kit de développement Java 2, parmi lesquels l'intégration avec Corba, l'invocation de composants Java distants (RMI), l'accès aux services d'annuaire (JNDI), etc.
La connexion aux éléments du système d'information
La version 1.3 de J2EE s'enrichit du service appelé J2EE Connector Architecture, ou JCA. Ce nouveau service permettra à un serveur d'applications de se connecter via une API Java uniforme aux applicatifs de l'entreprise (SAP, Siebel, etc.). Il est même prévu que les accès JDBC 3.0 puissent être pris en charge par JCA.
Le service de messagerie interapplicative asynchrone
J2EE 1.3 introduit l'API Java Message Interface (JMS), qui permet à un EJB d'envoyer un message de manière asynchrone à une application distante. Autre nouveauté de J2EE 1.3 : les " Message-Driven Beans " permettront à des EJB d'être eux-mêmes invoqués sur un mode asynchrone.
Chronologie
1968 - Naissance de CICS Le Customer Information Control System, moniteur transactionnel grand système d'IBM, est né.
1989 - L'OSF The Open Software Foundation crée le groupe de travail OSF DCE (Distributed Computing Environment).
1991 - Sortie de la spécification 1.0 de Corba La Common Object Request Broker Architecture est la norme d'interopérabilité objet de l'OMG (Object Management Group).
1998 Trois ans après l'avènement de Java, Sun publie la première spécification (version 1.0) de son modèle de composants distribués Enterprise Javabeans. Les EJB constituent aujourd'hui un volet essentiel de la plate-forme J2EE.
Septembre 1998 01 Informatique n° 1513Annonce de Websphere, le serveur d'applications d'IBM. Jean-François Jamet, d'IBM France déclare : " Si l´Object Transaction Manager, comme le définit le Gartner Group, est la fusion d´un middleware objet et d´un moniteur transactionnel, Websphere sera l´OTM d´IBM. "
28 septembre 1998 - BEA acquiert Weblogic Après le rachat de Kiva par Netscape en novembre 1997 et celui de Netdynamics par Sun en juillet 1998, BEA procède à l'acquisition de Weblogic. Montant de la transaction : environ 190 millions de dollars.