J2EE/.NET:
les services offerts par chaque plate-forme
Par le JDNet
Solutions (Benchmark Group)
URL : http://www.journaldunet.com/solutions/0209/020904_j2ee_net.shtml
Mercredi 4 septembre 2002
Avant de s'interroger sur les performances
avancées par les environnements J2EE et .Net à tous
les étages (exécution, interopérabilité,
etc.), ce panorama tente de faire le point sur les fonctions applicatives
que chacun propose. Une plate-forme d'intégration quelle qu'elle
soit se décompose en effet d'une série de fonctions
dessinées pour exécuter une application, et l'articuler
avec des briques diverses : d'une base de données locale
à des outils installés sur d'autres serveurs en passant
par un logiciel client ou encore un ou plusieurs systèmes d'information
tiers... Le tout en vue de gérer, par exemple, la mise en oeuvre
de processus applicatifs ou métier impliquant plusieurs départements
de l'entreprise voire des partenaires (fournisseurs, clients, etc.).
J2EE: une plate-forme
d'exécution par excellence
Rappelons
que J2EE signifie Java 2 Enterprise Edition et repose donc sur Java,
langage objet conçu pour être "portable". Une
caractéristique qui passe notamment par l'utilisation d'un
module client (baptisé machine virtuelle) pour assurer l'exécution
des programmes sur n'importe quel type de serveurs et de systèmes
d'exploitation... pour peu que ces derniers supportent l'outil en
question. D'ou le slogan lancé par la firme de Palo Alto :
"Write Once, Run Anywhere" (développé une fois, exécutable
partout).
A la suite de cette première expérience, Sun décide
en 1999 de réorganiser l'environnement d'exécution Java
autour de trois briques :
Java 2 Micro Edition (J2ME) qui cible les terminaux portables,
Java 2 Standard Edition (J2SE) qui vise les postes clients,
Java 2 Enterprise Edition (J2EE) qui définit le cadre
d'un serveur d'applications et d'intégration.
Bâties à partir de J2SE et de J2ME, les spécifications
J2EE définissent neuf services applicatifs, couvrant pèle mêle
les tâches d'exécution (EJB), d'affichage client (Servlet
et JSP), de connexion applicative (JCA et JMS) et de dialogue avec
les bases de données (JDBC) - voir le tableau
ci-dessous. Objectif de cette refonte pour Sun : fournir
un cadre de développement, tirant parti d'une communauté
Open Source, qui permette au secteur de l'édition de mettre
au point des applications exécutables par des serveurs eux-même
fidèles à cette spécification. Bref, il s'agit
avant tout de faciliter la compatibilité des programmes.
.Net: une plate-forme d'intégration
Comment
définir l'architecture de .Net ? A la différence
de J2EE dont le socle est utilisable par d'autres fournisseurs de
serveurs d'applications, la plate-forme .Net reste la propriété
exclusive de son créateur : Microsoft. Schématiquement,
elle se compose de plusieurs produits : le système d'exploitation
Windows et ses dérivés dédiés aux terminaux
portables (Windows CE .Net) et aux applications embarquées
(Windows XP Embedded). Mais également le serveur Web IIS (Internet
Information Server), le serveur d'intégration Biztalk Server,
ainsi que la base de données SQL Server.
A la base de cet édifice, Microsoft place ce qu'il appelle
l'infrastructure .Net (.Net Framework). Un socle applicatif qui s'adosse
au fameux CLR (pour Common Language Runtime), module qui a pour but
d'exécuter l'ensemble des applications métier, y compris
les Web Services, tournant sous l'une ou l'autre partie de la plate-forme.
Pour programmer les logiciels adaptés à ce noyau, la
société propose un environnement de développement
maison. Baptisé Visual Studio .Net, il s'étend notamment
aux langages commercialisés par Microsoft : C++ et Visual
Basic, ainsi que C# (un hybride entre Java et C++) et J# (un Java
très Microsoft)...
Panorama des services
proposés
Au delà des différences d'architecture,
quelles sont les fonctions affichées, couche par couche, par
.Net et J2EE ? Le tableau ci-dessous tente de répondre à cette question
en comparant le mécanisme de présentation et la logique
applicative des deux environnements (les dispositifs d'intégration
seront traités plus tard).
Couche
de présentation: génération HTML
|
J2EE |
JSP
|
Les
Java Server Pages permettent de créer des pages HTML
dynamiques, créées à la volée à
partir de contenus et de sources diverses. |
JSF |
Les
JavaServer Faces étendent les capacités des JSP
pour faciliter la création et la mise à jour d'objets
au sein de l'interface (barre de navigation, etc.). |
Servlets |
Ils
définissent la logique de navigation d'un site Web en
conjonction avec les JSP (état des cessions, etc.). |
.Net |
ASP.Net
|
Conçu
pour le serveur IIS, Active Server Pages .Net gère la génération
de pages HTML, mais également l'état des cessions
ainsi que l'authentification des utilisateurs. |
Logique
applicative
|
Transaction
|
J2EE |
EJB
|
Les transactions J2EE, c'est-à-dire les tâches prises en charge
par l'application en tant que telle, peuvent être codés
par le développeur ou bien exécutées par des composants
appelés Enterprise Java Bean. |
.Net |
CLR |
Au
sein de la plate-forme .Net, les transactions sont directement
gérées par le CLR (pour Common Language Runtime). |
Appel
d'objets distribués
|
J2EE |
JNDI
|
Java Naming and Directory Interface permet d'invoquer des composants
Java (EJB et JMS) au sein d'un environnement de serveurs en
grappe. |
.Net |
.Net
Remoting |
Ce
module gère l'appel d'objets distribués aussi bien entre applications,
que processus ou encore machines. |
XML
/ Web Services
|
J2EE |
Java
Web Services Developper Pack |
La version actuelle de J2EE (1,3) n'intègre pas les langages
XML nécessaires à la gestion de l'intégration
d'application en mode Web Services. L'utilisation d'un kit de
développement non standardisé est nécessaire.
|
.Net |
CLR |
Le CLR supporte les dernières versions des vocabulaires XML
(XML Schema,
etc.), ainsi que le couple SOAP/WSDL pour l'exécution des
Web Services. Une technologie dont Microsoft fait dès l'origine
le fer de lance de sa stratégie .Net.
|
Accès
aux données
|
J2EE |
EJB
|
Les EJB offrent des services de gestion des transactions, mais
aussi une infrastructure conçue pour exécuter
la mise à jour des bases de données utilisées.
|
.Net |
ADO
.Net Classes |
Issus de ActiveX Data Objects, ADO .Net Classes a pour but de
gérer les accès à diverses sources de données (XML, etc.), et
de publier ces dernières par le biais de Web Services notamment. |
Langages supportés
|
Transaction
|
J2EE |
Java
|
La
plate-forme J2EE est adaptée au Java. D'autres langages peuvent
néanmoins être utilisés en s'appuyant sur une interface, comme
Java Native Interface (JNI) ou encore les Web Services. |
.Net |
"Agnostique" |
L'environnement .Net est indépendant des langages de développement,
pour peu qu'il intègre un dispositif de cartographie dessiné
au cas par cas. Pour l'heure, quelques éditeurs, comme Fujitsu
(avec NetCOBOL) ou encore ActiveState (avec Visual Perl et Visual
Python) ont produit des compilateurs CLR. Une démarche qui nécessite
la signature d'un partenariat avec Microsoft. |
[Antoine Crochet Damais, JDNet]
Pour tout problème de consultation, écrivez au Webmaster
Copyrights
et reproductions . Données
personnelles
Copyright 2006 Benchmark Group - 69-71 avenue Pierre Grenier
92517 Boulogne Billancourt Cedex, FRANCE
|
|
|