Sie sind auf Seite 1von 21

Conservatoire Nationale des Arts et Mtiers

Centre denseignements de Grenoble Anne Universitaire: 2008-2009

J2EE vs NET
Cours :NFE107 Urbanisation & Architecture des Systmes dInformation Auditeurs : Leonardo AMODIO

INDEX 1 INTRODUCTION 3 3 3 3 5 5 5 5 5 7 7 8 8 8 8 10 10 12 12 12 13 14 14 14 15 15 16 16 16 17 18 20 21

1.1 LES LANGAGES ORIENTES OBJET 1.1.1 Historique 1.1.2 Caractristiques dun langage OO 2 PRESENTATION DES TECHNOLOGIES J2EE ET NET

2.1 INTRODUCTION A J2EE 2.1.1 Dfinition 2.1.2 Fonctionnement interne 2.1.3 Architecture 2.1.4 Le serveur dapplication 2.1.5 Outils de programmation 2.2 INTRODUCTION A NET 2.2.1 Dfinition 2.2.2 Fonctionnement interne 2.2.3 Architecture 3 3.1 4 LES ARCHITECTURES DISTRIBUEES TYPOLOGIES DAPPLICATIONS DISTRIBUEES J2EE, NET ET LES APPLICATIONS MULTI-NIVEAUX

4.1 COUCHE DE PRESENTATION 4.1.1 J2EE 4.1.2 NET 4.2 COUCHE DE SERVICE 4.2.1 J2EE 4.2.2 NET 4.3 COUCHE DOBJETS METIER 4.3.1 J2EE 4.3.2 NET 4.4 COUCHE DACCES AUX DONNEES 4.4.1 J2EE 4.4.2 NET 5 6 7 CONCLUSIONS BIBLIOGRAPHIE GLOSSAIRE

1 INTRODUCTION
Les technologies J2EE et NET font partie de la famille des langages OO (Orients Objet) utiliss pour la cration dapplications commerciales multi-niveaux.

1.1

LES LANGAGES ORIENTES OBJET

1.1.1 Historique
Le premier langage de programmation orient objet a t Simula (1967), suivi dans les annes 70 par Smalltalk et par diverses extensions du Lips. Dans les annes 80 ont tais crs des extensions orientes objet pour des langages prexistants ; par exemple C++ et Objective C pour le C et Object Pascal pour le Pascal. Dans les annes 90 il est devenu le paradigme dominant. Aujourdhui les langages les plus utiliss parmi ces qui supportent que le paradigme OO soient Smalltalk et Eiffel. Des toutes faons les langages les plus utiliss en absolu sont ces qui supportent aussi le paradigme OO : C++, Java, NET, Phyton, Perl, PHP, etc. Un langage de programmation, pour tre dfinit objet doit possder certaines caractristiques.

1.1.2 Caractristiques dun langage OO


Le but de tout langage de programmation consiste fournir aux programmeurs des instruments dabstraction pour exprimer, de faon le plus efficace possible, le fonctionnement dun programme. Les langages OO (orients objet) ont permit lintroduction de certains concepts dabstraction plus puissants par rapport ces qui taient disponibles auparavant : cest dire les concepts de Classe et Objet. Classe: Objet: Structure de donnes formes par un ensemble de variables et oprations (appeles mthodes) qui peuvent tre excutes sur ces donnes Elment dune classe qui est cr dans un programme pour tre en suite utilise travers les mthodes que la classe dfinit. On dit quun objet est une instance dune classe. Les avantages de ce type dabstraction sont plusieurs et sexpriment principalement travers lhritage, le capsulage et le masquage de limplmentation.

Hritage:

Mcanisme pour crer des classes partir de celles dj dfinies. La classe drive

aura toutes les caractristiques de la classe dont elle drive plus ventuellement des autres ajouts. En fin a favoris la rutilisation du code. Capsulage: Un objet peut baser son fonctionnement sur des variables internes (dfinies privtes) que dans aucun cas peuvent tre modifies par le programme quutilise lobjet sauf en utilisant les mthodes prdfinis. Ce fonctionnement augmente la fiabilit des programmes par rapport aux erreurs de programmation. Masquage de limplmentation: Les objets dune classe sont compltement et exclusivement dfinis par la dfinition de la classe. Il nest pas ncessaire connatre la faon avec la quelle elles sont implmentes pour pouvoir les utiliser. Ca facilite la mise jour de certaines caractristiques dune classe sans obliger modifier quutilisent cette classe. Aujourdhui, la programmation par objet est vue davantage comme un paradigme, un ensemble dinstruments conceptuels, plutt que comme une simple technique de programmation. Les langages Java et NET font partie de la famille de langages OO bien que plusieurs diffrences et au niveau technique et de mise en uvre.

2 PRESENTATION DES TECHNOLOGIES J2EE ET NET


2.1 INTRODUCTION A J2EE 2.1.1 Dfinition
J2EE (aujourdhui appel JEE Java Enterprise Edition) est une spcification pour le langage de programmation Java de Sun destine aux applications dentreprise. La premire version des librairies J2EE a t mise a disposition des dveloppeurs en 1999. J2EE offre une plate-forme de dveloppement et dploiement en langage Java pour les applications distribues plusieurs niveaux. La version courante du langage est la 1.6 (ou Java 6).

2.1.2 Fonctionnement interne


Le langage Java, sur lequel les librairies J2EE sont utilises, met disposition un compilateur et une machine virtuelle (JVM Java Virtual Machine) qui se charge de crer un environnement standard pour le lancement de lapplication sur tout type de systme oprationnel. Le compilateur compile le code source est produit le bytecode, soit un code intermdiaire qui sera en suite lit par la machine virtuelle Java. Chaque systme oprationnel majeur possde une JVM expressment code.

2.1.3 Architecture
J2EE ajout nombreuses couches de niveau entreprise au-dessus de la plate-forme J2SE - Java Standard Edition. Chaque couche est conue pour supporter une diffrente technologie de dveloppement. Technologie web application: technologies lies la production des interfaces web dynamiques, par exemple JSP (Java Servlet Pages) et servlet Technologie enterprise application: technologies plus directement lies la logique de business : EJB (Enterprise Java Bean), JavaMail, JMS (Java Message Service), JTA (Java Transaction) ,etc. Technologie web services: technologies utiles au dveloppement des applications adhrentes au paradigme SOA (Service Oriented Architecture) : web services, JAX-WS (java API for XML-based web services), JAX-RPC (Java API for XML-Based RPC) 5

Technologie management and security: technologies lies la gestion de la technologie enterprise afin de raliser laccs et lchange dinfirmation entre machines et services distribus : JAAS (Java Authentication and Authorization Service), JCA (Java Connector Architecture)

voir glossaire Pour expliquer lutilisation de ces technologies on peut imaginer que les technologies enterprise sont utilises pour grer laccs aux donnes (gnralement un ou plus database), les technologies web application sont utilises pour montrer les donnes aux utilisateurs gnriques. Dans un contexte Business to Business, les technologies web service seront utilises pour changer les informations avec les partenaires commerciales et les technologies de gestion grent tous les processus informationnels assurant la scurit des transactions.

2.1.4 Le serveur dapplication


Les API J2EE ont tait projets pour travailler avec un particulier type de serveur appel J2EE Application Server. Un serveur dapplication est une couche software rsident sur une machine serveur qui fournit les services que la technologie J2EE ncessite. Il y a plusieurs application serveurs. Parmi les produits commerciaux on rappel Bea WebLogic, IBM Websphere, Sun Application Serveur, Pramati, etc. Parmi les produits libres le plus connu est JBOSS. Les diffrences principales entre les diffrents serveurs dapplications sont relatives aux oprations de dploy, clustering, etc Par contre toutes les fonctionnalits qui concernent strictement le fonctionnement des applications J2EE adhrent aux spcifications proposes par la Sun. Un serveur dapplication sinstalle et se lance comme un normale serveur web (de fait il met disposition des services typiques dun serveur web). En plus il possde un panneau dadministration accessible par un poste distant travers lequel on peut dfinir les diffrents services. On peut considrer le serveur dapplication comme une application Java standalone excute par une J2SE qui dessert les requtes provenant des diffrents clients.

2.1.5 Outils de programmation


Plusieurs Environnements de dveloppement intgrs (IDE) sont disponibles pour la plate-forme J2EE. Parmi les logiciels libres on rappel Eclipse de IBM, qui met disposition, grce au systme des plug-in, un riche environnement de dveloppement. Encore on retrouve NetBean de la Sun que, diffrence dEclipse, a tait crer exclusivement pour faciliter le dveloppement dapplications J2EE.

2.2 INTRODUCTION A NET

2.2.1 Dfinition
NET est un produit propos par la socit Microsoft, pour le dveloppement d'applications d'entreprises multi-niveaux, bases sur des composants Microsoft. NET constitue ainsi la rponse de Microsoft la plate-forme J2EE de Sun. Annonc pour lanne 2000, la premire version du langage a tait livre en 2002. La dernire version livre est la 4.5 sortie en juin 2008.

2.2.2 Fonctionnement interne


Un moteur d'excution, appel CLR (Common Language Runtime) permet de compiler le code source de l'application en un langage intermdiaire, baptis MSIL (Microsoft Intermediate Language) ou CIL (Common Intermadiate Language). Lors de la premire excution de l'application, le code MSIL est son tour compil la vole en code spcifique au systme grce un compilateur JIT (Just In Time). NET est de fait un framework qui contient diffrents langages de programmations intgrs entre eux. NET a tait conu pour les systmes Windows et bientt il sera disponible pour toutes les systmes oprationnels.

2.2.3 Architecture
La plate-forme NET a t labore en s'appuyant sur une communaut d'utilisateurs et a abouti l'laboration de spcifications. Ces spcifications ont t ratifies par un organisme international de standardisation, l'ECMA (European Computer Manufacturers Association), ce qui en fait un standard. Ainsi l'effort de standardisation a permis l'mergence de plates-formes portes par des entreprises tierces et disponibles sous un grand nombre de systmes d'exploitation. On parle gnralement de Framework pour dsigner l'ensemble constitu des services (API) offerts et de l'infrastructure d'excution. Le framework NET comprend notamment : L'environnement d'excution La machine virtuelle (CLR) Un environnement d'excution d'applications et de services web, appel ASP NET ; Un environnement d'excution d'applications lourdes, appel WinForms. Des services, sous forme d'un ensemble hirarchis de classes appel Framework Class Library (FCL). La FCL est ainsi une librairie oriente objet, fournissant des fonctionnalits

pour les principaux besoins actuels des dveloppeurs. Le SDK (Software Development Kit) fournit une implmentation de ces classes.

3 LES ARCHITECTURES DISTRIBUEES


Une application distribue est une application (typiquement de grandes dimensions) pour la quelle les diffrents composants ont tait distribus sur diffrents niveaux de lenvironnement dlaboration du rseau par rapport aux fonctions quelles offrent dans larchitecture globale. Ces applications sont complexes et sont constitus de nombreux programmes software qui sont excuts sur diffrents supports hardware. Les niveaux (tiers) dune application distribue sont les niveaux entre sa propre application et les donnes quelle gre. Ces niveaux respectent les rgles suivantes : Claque niveau ne communique quavec le niveau sous-jacent et dpend seulement de ce dernier Chaque niveau nas pas connaissance daucun niveaux en dehors du niveau sous-jacent

3.1 TYPOLOGIES DAPPLICATIONS DISTRIBUEES


Un niveau: Lapplication elle-mme gre ses donnes de faon directe. Ce type dapplications est trs spcialis et demande un accs aux donnes trs rapide.

Deux niveaux: Un serveur de base de donnes soccupe de grer les donnes et de retourner les rsultats. La communication envers la base de donnes peut tre faite travers des librairies particulires ou travers un pilote charg run-time par lapplication elle-mme. Cette dernire possibilit implique que la base de donnes peut tre change sans modifier le programme.

10

Trois niveaux: Une application trois niveaux implique que parmi elle-mme et la base de donnes il y ait une autre application qui augmente le niveau disolation entre les deux extrmits. Lapplication envoi ses requtes une autre application qui se charge dinteragir avec la base de donnes.

Multi niveaux: En gnral il peut y avoir plus que trois niveaux parmi lapplication et la base de donnes. Ca permet davoir une mineure dpendance entre les composants et, par exemple, on pourra changer de base de donnes sans trop de problmes. Une application multi-tiers permet de distribuer la charge de travail. Ca permet damliorer lutilisation du rseau et viter la saturation du rseau mme et des composants.

11

La couche de prsentation contient les diffrents types de clients, lger (Web, ASP, JSP) ou lourd (Swing, WinForm) La couche de service contient les traitements (contrleurs de Use Case UML) reprsentant les rgles mtier (crer un compte, rechercher un client, calculer un amortissement, ...) La couche d'objets mtier est reprsente par les objets du domaine, c'est dire l'ensemble des entits persistantes de l'application (Facture, Bon de Commande, Client, ...) La couche d'accs aux donnes contient les usines d'objets mtier, c'est dire les classes charges de crer des objets mtier de manire totalement transparente, indpendamment de leur mode de stockage (SGBDR, Objet, Fichiers, Legacy, ...)

4 J2EE, NET ET LES APPLICATIONS MULTI-NIVEAUX


4.1 COUCHE DE PRESENTATION
La couche de prsentation est la face visible de notre application. Les clients se divisent en deux catgories : Client lger : les navigateurs HTML car ils sont pr-installs sur la plupart des plate-formes avec le systme d'exploitation. Client lourd : utilisant une interface graphique base de formulaires riches et de contrles graphiques complexes

4.1.1 J2EE
Pour le client lger la technologie J2EE possde les APIs standard Java Servlet et Java Server Pages. Le servlet container de lapplication server permet le dploiement de ces composants web sur tout type de systmes oprationnels. Des framework comme Struts sont mis disposition pour amliorer larchitecture de cette couche. Pour le client lourd les librairies Java mettent dispositions les librairies Swing (propre J2EE) et AWT. La portabilit d'AWT et de Swing provient de la conception interne des classes existantes. Toutes les plate-formes possdent des systmes d'affichage vido diffrents : XWindow Motif pour Unix, Win32/GDI pour Windows, Apple/MAC. Sun a donc mis en place la notion de Composant Peer simplifiant le portage vers une plate-forme cible. Cette partie est donc native (code C/C++ ) et utilise des bibliothques lies chaque plate-forme. Quant la conception du modle objet Swing, elle est base sur le concept de conteneur/composant et utilise intensivement le design pattern MVC (Modle Vue Controlleur). 12

4.1.2 NET
Par rapport aux clients lgers les ASP.NET reprsentent l'quivalent des JSP avec un modle de dveloppement totalement intgr bas sur les WebForms. Les WebForms permettent de dvelopper une interface graphique Web de la mme manire qu'une interface graphique VB, cela dans le but de sparer les traitements de la prsentation. Ainsi, le formulaire reprsente la page Web et les traitements sont contenus dans une seconde page appele Code Behind. Cette page peut tre code dans n'importe quel langage du Framework.NET et contient plusieurs mthodes, dont l'implmentation des vnements lis cette page. La page HTML finale qui sera gnre au client intgre la prsentation et le Code Behind en ciblant diffrents navigateurs. D'ailleurs, vous n'avez pas ou trs peu la matrise du code gnr qui est laiss la charge du Framework. Pour rsumer, Microsoft adopte une stratgie d'intgration des outils et permet de simplifier le modle de dveloppement en proposant les WebForms au dessus des ASP.NET avec Visual Studio comme chef d'orchestre. Bien entendu, il est possible d'utiliser uniquement les ASP.NET sans les WebForms tout comme en Java il est possible d'utiliser les JSP sans Struts. Pour les clients lourds Microsoft propose une API similaire AWT/Swing : les WinForms (Windows Forms). Les WinForms sont une surcouche de GDI+ (Graphical Device Interface) dont la responsabilit est de crer nativement (code non manag) des contrles graphiques du type fentres, boutons, ... D'ailleurs GDI+ est crit en C++ et amliore considrablement le modle (non) objet de GDI/Win32 pour cibler l'architecture .NET et le namespace System.Drawing qui l'intgre. Dans le monde Java, Java 2D est l'API se rapprochant le mieux de GDI+ ceci prs que la majeure partie du code de Java 2D est crit en Java. A l'heure actuelle, l'architecture des WinForms cible essentiellement Windows et le portage des WinForms vers d'autres systmes s'avre dlicat. Les WinForms sont le pendant des Swing dans le monde Java et constituent la partie la plus dlicate porter du fait de leur forte intgration avec Windows. Quant la conception du modle objet WinForms, tout comme Swing, elle est base sur le concept de conteneur/composant avec une utilisation moindre du design pattern MVC.

13

4.2 COUCHE DE SERVICE


La couche de service est la partie de notre architecture contenant les traitements applicatifs. Vous avez plusieurs alternatives au dveloppement de services dans cette couche. Soit vous prenez l'entire responsabilit de l'implmentation des composants sans l'utilisation des services du Framework (vos besoins sont simples), soit vous faites appel au Framework pour : La gestion des transactions automatiques Le cache d'objets (Pooling) La monte en charge et le multi-threading Les composants asynchrones, ...

La responsabilit du conteneur est de vous fournir tous ces services en vous proposant un canevas dans lequel vous implmenterez vos composants.

4.2.1 J2EE
Le choix de l'implmentation de cette couche rside dans deux approches : utiliser les EJB ou ne pas les utiliser. Les composants concerns par cette couche sont les EJB Session. Sun spcifie un certain nombre d'lments dans J2EE allant de la gestion des transactions en passant par la scurit la synchronisation des tches. Encore une fois, Java se distingue par l'ouverture de ces APIs avec comme matre mot : la portabilit du serveur.

4.2.2 NET
Tout comme J2EE, .NET propose le mme ensemble de services sous l'appellation de ServicedComponent. Le conteneur utilis dans le Framework est COM+. D'ailleurs, cela n'est pas sans poser de problme, COM+ fonctionne dans un environnement non manag avec une gestion de type diffrente de celle de .NET (Common Type System). Tout appel une mthode d'un 14

ServicedComponent utilisant des services spcifiques (Transactions, scurit, ...) se traduit par une redirection vers les couches basses COM+ entranant la cration d'un Proxy (Wrapper). Ce dernier joue le rle d'interface entre le nouveau monde et le vieux monde. Cet aspect qui pourrait sembler tre un inconvnient n'en est pas vraiment un. En effet, le code d'un client utilisant un ServicedComponent n'est en aucun cas li aux interfaces COM+ tout comme le composant lui mme qui utilise l'API .NET : ServicedComponent. Tout cela se passe dans les tuyauteries internes du Framework comme dcrit dans le schma suivant. A plus long terme, lorsque Microsoft aura entirement port COM+ en COM+.NET 2020 seules ces couches seront impactes, pas le composant et encore moins le client.

La distribution est assure par Remoting pour .NET et RMI sur IIOP pour Java. Les transactions sont gres en Java l'aide des API JTA/JTS et l'ensemble des composants s'excutent dans un seul et mme environnement manag, ce qui n'est pas le cas de .NET comme nous l'avons vu prcdemment avec COM+.

4.3 COUCHE DOBJETS METIER


Les objets mtiers sont reprsents par l'ensemble des objets persistants du domaine de l'application. Une facture, un bon de commande ou tout autre objet ncessitant d'tre stock en base. Cette couche assure l'indpendance totale entre le client et le type de stockage utilis (SGBDR, SGBDO, fichiers XML, ...). Le client doit possder uniquement une vue sur un objet avec l'ensemble de ces attributs et non un ventuel curseur (ResultSet et RecordSet) pointant vers une ligne d'une quelconque base. Cette couche est en troite collaboration avec la couche de persistance qui assure la cration des objets mtier de manire totalement transparente.

4.3.1 J2EE
15

Ce type d'objet est reprsent par les EJB Entity dans la spcification J2EE. Dans ce cas, vos entits mtiers sont couples aux interfaces du Framework EJB et cela peut tre gnant si la spcification EJB volue dans le futur, d'autant plus que ces objets sont destins vivre trs longtemps contrairement aux objets de services qui dpendent de l'volution des rgles mtiers. Une autre approche consiste dvelopper des objets mtiers simples n'hritant d'aucune interface ou classe du Framework en utilisant des outils de persistance fonctionnant par introspection. C'est dire que le mapping entre vos objets et vos tables est ralis via des fichiers de configuration externes votre application. C'est le cas de la spcification JDO qui cible ce genre de besoin avec des produits comme Castor, JUDO, KODO etc.... Ainsi, vous ne couplez pas vos objets du domaine votre Framework de persistance.

4.3.2 NET
Les objets mtier persistants dans .NET sont l'heure actuelle des objets C# ou VB simples sans aucune caractristique particulire.

4.4 COUCHE DACCES AUX DONNEES


Cette couche est responsable de la cration, destruction et chargement des objets mtier de manire totalement transparente. La diffrence entre une application 2-tiers et 3-tiers se fait ce niveau. Son rle est de masquer entirement l'opration de cration et de manipulation de tables (SGBDR) ou autre types de stockages spcifiques (Fichiers plats, ...). En rgle gnral, vous avez deux alternatives : Implmenter cette couche vous mme par l'intermdiaire de classes jouant le rle d'usines objets mtier (pattern Factory), ou laisser le soin un Framework tiers de raliser cette tche (produits du march). Tout dpend de la nature de vos besoins et de la complexit des donnes manipules pour mettre en oeuvre le mapping objet/relationnel. Cette partie, souvent dlaisse dans la mise en place d'un projet est le tendon d'Achille d'une architecture. La conception de la couche de persistance doit se faire avec soin et en tenant compte de multiples facteurs tels que la monte en charge, la complexit de mise en oeuvre mais aussi l'impact d'volutions futures de la base. Voyons ce que proposent J2EE et .NET dans ce domaine.

4.4.1 J2EE
Dans le monde Java, l'API JDBC (Java Database Connectivity) est en charge de la communication entre un client et un SGBDR. Contrairement .NET qui propose des API oledb ciblant aussi bien

16

des bases relationnelles qu'un annuaire distribu (Exchange), JDBC s'adresse uniquement aux bases de donnes SQL. Si vous prenez le choix de grer vous-mme la persistance des donnes, il vous suffira d'implmenter des classes utilisant JDBC. Dans le cas o vos besoins sont plus complexes, il faudra faire l'acquisition d'un produit (gratuit ou payant) ralisant cette tche votre place. Il en existe un certain nombre s'interfaant avec les spcifications EJB (EJB Entity). Le but tant de fournir un composant standard qui utilise les services des outils de mapping objet/relationnel de manire totalement transparente. Il existe deux types d'EJB : BMP (Bean Managed Persistance) et CMP (Container Managed Persistance). Dans les deux cas, l'API utilise pour communiquer avec les bases de donnes relationnelles est JDBC. Cette API est spcifie par Sun, intgre J2EE et dispose de plusieurs implmentations travers de multiples drivers JDBC disponibles sur le march (Oracle, SQL Server, DB2, ...). JDBC permet aussi de convertir le rsultat de requtes SQL en XML (JDBC 3.0).

4.4.2 NET
Microsoft propose ADO.NET pour l'accs aux donnes. ADO.NET fonctionne de manire similaire JDBC avec quelques variantes. Historiquement, ADO souffre d'un pass quelque peu lourd porter. C'est pourquoi, vous trouverez deux types de provider : Managed (utilisant les services de la CLR) Unmanaged (pour supporter les anciennes versions)

17

CONCLUSIONS

Le Common Language Runtime (CLR), le Common Intermediate Language (CIL) et le .NET sont similaires la Java Virtual Machine, au bytecode et au langage Java. Les deux utilisent un bytecode intermdiaire mais ce de NET est projet pour tre compil au moment de lexcution. NET est pour linstant compatible avec les plates-formes Windows. Java est disponible pour tout type de plate-formes. Le projet Mono essai de ramener NET sur des autres systmes oprationnels. NET offre des avantages de prestations des applications en excution et des cots et temps mineurs de dveloppement par rapport J2EE Les deux environnements disposent de mcanismes trs similaires pour grer chaque couche de l'application. En plus de la simplicit, lapproche pragmatique de Microsoft a deux autres avantages : "les solutions tant plus packages, elles ncessitent moins de dveloppements, moins de ressources humaines, etc.", explique Jean-Christophe Cimetire, directeur technique adjoint du Groupe SQLI. "En dautres termes, la phase dacquisition des comptences est plus courte, la mise en oeuvre est plus rapide et tout cela cote forcment moins cher que lassemblage de briques de J2EE. Le retour sur investissement est donc plus rapide sur le court terme. Avec le temps, les choses squilibrent et cest mme plus dlicat sur le long terme, car il nest pas impossible que la phase initiale de J2EE, certes plus fastidieuse, savre plus avantageuse sur le long terme". En outre, chaque environnement de dveloppement prsente ses particularits. Un dveloppeur Visual Basic passera sans difficult .Net. Mais plus difficilement Java, linverse tant galement vrai. "Traditionnellement, les PME ont une culture Microsoft. Elles sont moins dpayses par les outils de dveloppement de .Net", estime Tanguy Crusson, responsable offre Web Services de la SSII Devoteam. "De plus, chez Microsoft, tout est packag : un problme correspond une solution alors que sur J2EE, il existe souvent diffrentes solutions, parfois sous forme de briques quil faut assembler. Lapproche .Net est donc plus simple et adapte la PME. Mais attention : la plateforme manque de maturit, Microsoft ne couvre pas tous les besoins dune PME et faire le choix .Net, cest accepter de dpendre de Microsoft l o avec J2EE on a le choix entre diffrents diteurs et mmes des solutions gratuites ou quasiment gratuites en Open Source".Lvolution de .Net reste en effet trs lie Microsoft malgr la standardisation de la plate-forme qui permet nimporte quel 18

diteur de "porter" .Net sur Linux, Solaris ou nimporte quel autre systme dexploitation. Des projets sont en cours, mais J2EE dispose dune longueur davance incontestable avec de nombreux serveurs dapplications qui implmentent ses standards et des solutions en Open Source pour sa plate-forme. De plus, la possibilit de dvelopper dans nimporte quel langage pour .Net, contrairement J2EE qui impose Java, est selon Tanguy Crusson un argument avant tout marketing : ".Net accepte certes plus de 25 langages de dveloppement l o J2EE naccepte que Java. Mais je vois mal un dveloppeur Cobol dvelopper pour .Net. Ce nest pas impossible, mais la culture, les architectures, les applications... tout est diffrent avec .Net ou J2EE. Lui permettre de conserver sa syntaxe pour dvelopper pour un environnement dont il ne comprend pas les concepts, cest certes lui faciliter la tche et faire en sorte quil ne soit pas mis au placard par son entreprise sous prtexte que son langage ne sert plus rien. Mais jusqu quel point est-ce raliste ?".

19

6 BIBLIOGRAPHIE
http://fr.wikipedia.org/wiki/Orient%C3%A9_objet http://java.html.it/guide/leggi/136/guida-j2ee/ http://it.wikipedia.org/wiki/Programmazione_orientata_agli_oggetti http://it.wikipedia.org/wiki/Microsoft_.NET http://fr.wikipedia.org/wiki/J2EE http://ditwww.epfl.ch/SIC/SA/publications/FI02/fi-6-2/6-2-page8.html http://www.journaldunet.com/developpeur/tutoriel/jav/050725-java-fonctionnement-jvm.shtml http://www.juddsolutions.com/images/J2EEArchitecture.jpg http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/topic/com.ibm.wics_developer.doc/doc/a ccess_dev_j2ee/resou000.gif http://www.dotnetguru.org/articles/architecturedotnet.htm http://www.dotnetguru.org/articles/architecturedotnet.htm http://www.indexel.net/bin/doc/2165

20

7 GLOSSAIRE
Applet container : Web container : EJB container : Applet : Servlet : A conteneur qui inclut un support pour la programmation des applets A conteneur qui supporte les applications client conteneur pour JSP et servlet conteneur pour les EJBs Application Client container :

client lourd Java objet Java qui gnre une rponse par rapport la requte

JSP : Page dynamique en Java EJB : Enterprise Java Bean (composant ct serveur pour les applications distribues) J2SE : Java 2 Standard Edition (librairies standard Java) JMS : Java Message Service API pour lenvoi de messages entre clients JAAS : JAXP : Java Authentication and Autorisation Service : framework de securit de codage Java API for XML Parsing: validation et parsing des documents XML

JDBC: Java Database Connectivity: mthodes pour les requtes JTA: Java Transaction API : permet aux applications web de grer les anomalies travers les transactions JavaMail : interface pour envoyer et recevoir mails JAF : JavaBeans Activation Framework: permet aux developpeurs de determiner le type du donne, decouvrit les fonctionnalites, etc. IIOP (Internet Inter-ORB Protocol) protocle qui permet la communication entre programmes crit en differents langages

21

Das könnte Ihnen auch gefallen