Infrastructure/Chantiers
J2EE/.NET: les services offerts par chaque plate-forme
De l'architecture aux principales briques applicatives: les environnement avancés par Microsoft et Sun proposent deux itinéraires différents... avec un même objectif. Examen détaillé.  (Mercredi 4 septembre 2002)
     
A lire également
J2EE / .Net : Etat des lieux

Quelle différence entre Corba, J2EE, ".Net" et Sun One ?

Le standard J2EE en sept questions

La stratégie .NET de Microsoft
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. 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 en détails 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 WinForms La classe Windows Forms gère l'interface utilisateur de .Net en environnement Windows.
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 Serviced Components (objets COM, COM+) Au sein de la plate-forme .Net, les transactions sont directement gérées par le CLR (pour Common Language Runtime) via les objets COM et COM+.
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.
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 (par le biais de JDBC).
.Net ADO .Net Classes Issus de ActiveX Data Objects, ADO .Net Classes s'appuie sur diverses interfaces (ODBC, Tec.) pour gérer les accès à des sources de données tierces (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]
 
Accueil | Haut de page
 
 

  Nouvelles offres d'emploi   sur Emploi Center
Auralog - Tellmemore | Publicis Modem | L'Internaute / Journal du Net / Copainsdavant | Isobar | MEDIASTAY

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Voir un exemple

Toutes nos newsletters