|
|
____Chaines____ |
Quelle
différence entre Corba, J2EE, ".Net" et Sun One ? |
Quels sont les objectifs de ces initiatives technologiques ? Sont-elles toutes concurrentes ? Un lecteur s'interroge, JDNet Solutions répond. (Jeudi
10 janvier 2002) |
|
Suite à notre questions-réponses
consacré au standard J2EE, un lecteur nous
a envoyé la demande suivante:
"J'ajouterais volontiers une huitième
question : quelle est la différence entre J2EE et
Corba, .NET de Microsoft, ou encore ONE de Sun ?"
Première remarque, comparer ces différentes
initiatives est bel et bien légitime. Toutes partagent
une même ambition :
dessiner
un cadre technologique (composé de langages, de
protocoles...) au sein duquel des composants logiciels
(et donc des services) pourront dialoguer à travers
le réseau. A cette liste, nous pourrions aussi
ajouter un autre item : les Web Services. Ces initiatives
peuvent être classées dans deux groupes :
celles qui fédèrent avant tout des protocoles
et langages devenus des standards ou sur le point de l'être
(Corba, J2EE, les Web Services) et celles qui, représentant
avant tout la stratégie d'un éditeur (One
de Sun et .Net de Microsoft), ne coiffent pas seulement
des spécifications mais aussi des logiciels.
De manière plus détaillée :
Corba (Common Object
Request Broker Architecture)
Mis en chantier bien avant l'émergence des technologies
du Web, Corba représente sur le papier un modèle
d'architecture neutre puisqu'il entend définir
les moyens de faire interagir des composants, indépendamment
de leur plate-forme d'origine et de leur langage de développement.
A cette fin, Corba utilise un modèle d'interface
(appelé IDL pour Interface Definition Language)
qui permet donc à un composant "d'exposer"
aux autres ses fonctions. Il y a six ans, le modèle
Corba, défendu par l'organisme OMG (Object Management
Group) était présenté notamment comme
le concurrent de DCOM, la technologie de Microsoft pour
appeler à distance des objets COM (composant logiciel
défini dans l'environnement de Windows).
Ce débat d'architecte est vite devenu anachronique
avec les technologies du Web. Si, contrairement au modèle
DCOM de Microsoft, Corba a été défini
pour fonctionner dans un environnement hétérogène
(composé donc de plates-formes matérielles
et logicielles très diverses), il s'est avéré
complexe à mettre en oeuvre. Or le succès
du Web, c'est avant tout celui du pragmatisme technologique
(le protocole HTTP est plutôt... rustique). L'OMG
a tenu compte de cette réalité notamment
en définissant le protocole IIOP (Internet Inter
ORB Protocol) pour invoquer des objets Corba à
travers le réseau. Cela n'a pas vraiment suffit
à démocratiser Corba qui reste cantonné
à des projets de très grandes entreprises.
Toutefois, le modèle Corba n'est pas une histoire
classée de l'informatique, loin de là :
des entreprises l'exploitent et il a inspiré des
développements ultérieurs et entretient
des liens étroits avec le modèle J2EE ou
encore avec les Web Services.
J2EE (Java 2 Platform
Enterprise Edition)
Dans le sillage de Java, Sun a commencé à
définir un modèle d'architecture dont Java
n'est qu'une brique parmi d'autres. Ce modèle J2EE
est co-élaboré aujourd'hui au sein du JCP
(Java Community Process) qui
réunit
Sun et de nombreux autres éditeurs autour des travaux
en cours. J2EE regroupe en fait plus d'une dizaine de
services et de spécifications techniques. Parmi
eux, JDBC (Java Data Base Connector), pour les connexions
aux bases de données), JMS (Java Message Services)
pour travailler avec des bus logiciels comme MQ Series
d'IBM, les JSP (Java Server Pages) des pages web exécutées
sur le serveur qui combinent HTML et code Java, ou encore
les EJB (Enterprise Java Beans), un modèle de composants
pour les développements Java. Entendez par "modèle
de composants", une façon standardisée
de décrire les interfaces. Et pour s'invoquer les
uns les autres, les EJB utilisent... le protocole IIOP
du modèle Corba.
Web Services (Java
2 Enterprise Edition)
Activements promus
par des éditeurs comme IBM et Microsoft, et élaborés
(entre autres) au sein d'un organisme comme le W3C (World
Wide Web Consortium), ce que l'on nomme les "Web
Services" (Soap, WSDL, UDDI...) regroupent des technologies
de la génération XML. Autrement dit, des
protocoles qui transportent et véhiculent des messages
entre des services et utilisent XML pour décrire
leurs structures. Ce qui a priori doit faciliter la manipulation
des services ainsi décrits. Nous parlons ici de
"service" et non de "composant" à
bon escient. Si Corba et J2EE décrivent une architecture
de composants logiciels, les Web Services définissent
plutôt comment interagir avec des services
fonctionnels. Et, pour poursuivre la comparaison, le rôle
d'IDL dans Corba peut être comparé à
celui de WSDL dans les Web Services. Tous les deux décrivent
un objet dans une architecture (de composants ou de services).
Les Web Services ne représentent donc pas un modèle
concurrent de J2EE mais plutôt une couche supplémentaire.
D'ailleurs, les prochaines spécifications de J2EE
prévoient de prendre en compte les Web Services.
".Net" de Microsoft
".Net" est
une marque utilisée par Microsoft comme hérault
de son virage stratégique vers la webisation totale
de son offre logicielle. Assez logiquement, .Net chapeaute
donc les standards auxquels la firme contribue (XML et
ses déclinaisons), les langages et techniques qu'elle
défend (C#, les Active Server Pages, etc) et ses
logiciels (de l'outil de développement Visual Studio.net
au serveur B to B Biztalk en passant par les prochaines
versions ".net" de Windows). Ces choix techniques
dessinent une architecture logicielle concurrente du modèle
J2EE et qui, comme ce dernier, n'est pas dans un rapport
d'opposition avec les Web Services mais de complémentarité.
One (Open Net Environement)
de Sun
Pour faire face à
l'initiative marketing ".Net" et aussi pour
donner de la cohérence à ses nombreuses
activités logicielles (Java et J2EE, l'offre iPlanet,
les outils de développement Forte), Sun a ressenti
le besoin d'élaborer à son tour une marque.
Sun One ne représente donc pas un nouveau modèle
d'architecture mais plutôt le nom de guerre de Sun
sur la scène des architectures Web...
A lire aussi:
Les
Web Services en 9 questions
La
stratégie .Net de Microsoft
L'architecture
J2EE
|
[AFP]
|
|
|