Urbanisation et architecture des systèmes d information Serveurs d applications et plateformes d applications distribuées Généralités David Eudeline eudeline.david@free.fr
Plan du cours Introduction Concepts de base Présentation de.net Présentation de J2EE Comparaison.NET/J2EE Conclusion Partie 1 Partie 2 2006/2007 2
Présentation des Concepts Technologies interapplicatives But des technologies interapplicatives: Dépasser les limites des ORB de type CORBA ou COM/DCOM Capacité de réaction adaptabilité Rapidité de développement et de déploiement Fiabilité et disponibilité Sécurité Évolutivité Intégration des données Modèle d architecture basé sur: Applications multiniveaux Avant 3 tiers, maintenant n-tiers Utilisation de composants logiciels Introduction du concept de conteneur Ensemble de services disponibles lors de l exécution du composant 2006/2007 3
Présentation des Concepts Technologies interapplicatives Pour implémenter ces applications, deux types de plateformes: Serveurs d application: orientés développement Serveurs d EAI: orientés intégration Objectif d un serveur d application: Développement, déploiement et exécution des applications réparties Objectif d un serveur d EAI: Intégration d applications déjà existantes Objectif d une plateforme d applications distribuées Couvrir tous les aspects de l application (les n-tiers) Vision globale de l application 2006/2007 4
Présentation des Concepts positionnement EAI/serveur d appli 2006/2007 5
Serveur d application Services logiciels apportés Services de déploiement Paquetage d application Fournir l application comme un tout Description du déploiement et paramétrage déclaratif Permettre l adaptation à l environnement d exécution Services de sécurité Confidentialité Assurer la confidentialité des données transmises Authentification Identifier les parties en présence Contrôle d accès Limiter l accès aux applications & ressources 2006/2007 6
Serveur d application Services logiciels apportés Services de transport Transports sur des protocoles web: HTTP, FTP, SMTP Transport sur des architectures techniques spécifiques ORB (le plus souvent) ou MOM Services transactionnels Intégration des services des moniteurs transactionnels Qualités supportées: Atomicité Cohérence Intégrité Durabilité 2006/2007 7
Serveur d application Services logiciels apportés Services de qualité de service Service de cache Mémorisation des éléments servant beaucoup Service de load-balancing Répartition de la charge entre plusieurs serveurs Service de clustering Assurer une grande disponibilité en doublant les ressources matérielles Services de sécurité Confidentialité Assurer la confidentialité des données transmises Authentification Identifier les parties en présence Contrôle d accès Limiter l accès aux applications & ressources 2006/2007 8
Présentation des Concepts Notion de framework Framework «Littéralement charpente, ossature. En informatique, désigne le cadre dans lequel va s'insérer une application. En programmation orientée objet, désigne l'infrastructure logicielle qui facilite la conception des applications par l'utilisation de bibliothèques de classes ou de générateurs de programmes.» Deux aspects importants Lors de l exécution: ensemble de l environnement d exécution des applications et services Lors du développement: ensemble des éléments nécessaires pour permettre à un développeur l exploitation de la plateforme 2006/2007 9
Présentation des Concepts Les protagonistes Deux grandes familles d architectures multiniveaux et de serveurs d application: Architecture J2EE standard basé sur le langage JAVA implémentée au sein de serveurs d appli comme BEA WebLogic, IBM WebSphere ou Oracle 9iAS Architecture.NET Architecture & offre produit intimement liées 2006/2007 10
Technologies pré-dotnet COM+ COM+ est l enrichissement de la plateforme middleware Microsoft basée sur COM/DCOM (à partir de 1998) Implémenté dans Windows 2K Regroupe COM, MTS et divers autres services additionnels Facilite la programmation des composants COM COM+ Équilibrage de charge Base de données en mémoire Regroupement d objets (polling) Composants en file d attente (MSMQ) Modèle d événements MTS Services transactionnels Sécurité basée sur les rôles Activation juste à temps DCOM Appels distants Services distribués de composants COM Programmation basée sur les interfaces Services basiques de composants 2006/2007 11
Technologies pré-dotnet Windows DNA Distributed inter-net Applications Regroupement et unification de l ensemble des technologies Microsoft disponibles sur Windows NT4 Option Pack (1997) puis W2K (2000) Avant tout un label marketing Traite tous les aspects de l architecture applicative: Tiers présentation, métier, données Service présentation: Client lourd: application Windows traditionnelles Client léger: IIS+ASP Possibilité d utiliser des composants ActiveX pour enrichir la présentation Services métiers: Service de composants COM+ Service d accès aux données: Accès aux annuaires (Active Directory): ADSI Accès aux bases de données: ADO 2006/2007 12
Technologies pré-dotnet Windows DNA Concurrent de J2EE orienté architecture 3 tiers Subit certaines limitations Absence d un langage de développement objet adapté Héritage lourd à porter des technologies COM Solution extrêmement propriétaire Modèle web très orienté présentation Cette solution est restée dans l ombre du succès des serveurs d application J2EE 2006/2007 13
Urbanisation et architecture des systèmes d information Serveurs d applications et plateformes d applications distribuées DOTNET
Présentation Une approche marketing confuse.net semble partout chez µsoft Microsoft n a pas réussi en interne à réguler l utilisation de l appellation.net De nombreuses technologies ont été rebaptisées.net SQL Server 2000, SharePoint Server 2000, Exchange Server 2000 Le nom.net a été utilisé à partir de 2000, alors que la technologie (le framework) n a été disponible qu en 2002.NET représente la «vision» tout Internet de Microsoft Orientation majeure de l ensemble des produits Microsoft: Web Services, Standards Web, IHM adaptables, terminaux divers A un peu noyé le lancement du framework.net 2006/2007 15
Présentation Nouvelle offre d architecture (janvier 2002) Construite sur un socle commun: le framework dotnet Permet le développement et le déploiement d applications distribuées => Nouvelle plateforme de développement Microsoft Virage technologique majeur pour µsoft A terme, l ensemble des produits Microsoft seront réécrits pour cette plateforme Objectif: concurrencer réellement J2EE Surmonter l échec de la solution Windows DNA.NET est avant tout un produit ( J2EE) 2006/2007 16
Présentation Une architecture n-tiers «standard» Bases de données Systèmes légatairesl Client Léger Applications externes Client Riche 2006/2007 17
Présentation Objectifs avoués de Microsoft 1. Migration de la communauté MS Séduire les développeurs existants 2. Séduire les «javaistes» Points forts de java: gratuité et liberté Propositions Microsoft de logiciels gratuits: Framework.NET redistribuable Framework Software Development Kit 4 compilateurs (C#, VB.NET, C++, JScript) Nombreux outils Documentation riche Équivalent du JDK Sun (marché de l éducation, universités ) Webmatrix Visual sutidio allégé orienté développement WEB MSDE (Microsoft SQL server Desktop Edition): runtime SQL Server 2006/2007 18
Présentation Objectifs avoués de µsoft (suite) 3. Concurrencer LAMP Linux Apache MySQL PHP Fournir des outils «gratuits» pour la réalisation de sites web de petite envergure 4. J# est présenté comme moyen de transition entre J2EE et.net Initiative JUMP (Java User Migration Path) JLCA (Java Language Migration Path) Pas gagné, réactions de la communauté java pas très positives Permet quand même la récupération de ce qui avait été fait en J++ 5. Promouvoir une communauté OpenSource Site GotDotNet (espace de travail collaboratif) Projets OpenSource pour le framework dotnet Portage du framework dotnet sur d autres plateformes (projets mono) Limitation: ne fonctionne bien sûr que sous Windows/IIS 2006/2007 19
Points clé de l architecture Adopter les standards S appuyer sur les standards de l industrie WebServices, XML, DNS, IP, LDAP Abandon des technos propriétaires (COM/DCOM) Publication de la CLI & du C# Soumis à l ECMA But: créer un environnement de développement universel Se débarrasser des casseroles DLL Hell Problèmes de déploiement des DLL et composants COM Hétérogénéité des API Trop nombreuses, de multiples possibilités pour faire la même chose Typées C (gestion de pointeurs, structures) 2006/2007 20
Points clé de l architecture Offrir un ensemble riche de services CLR: machine d exécution ( JVM) FCL: Framework Class Library Collection de classes et de services divers Winforms: développement de clients riches ASP.NET & Webforms: développement d interfaces web WebServices: intégration d applications Enterprise Services: partie «pûrement» serveur d application Remoting: objets distribués SDK:.NET Framework SDK pour développer les applications s exécutant sur la CLR Viser des cibles d exécution et des clients multiples et hétérogènes Clients riches ou légers Clients mobiles (PocketPC, smartphone, Tablet PC) «Clients multicanaux» 2006/2007 21
Points clé de l architecture Visual Studio.NET Framework.NET Serveurs.NET Plateforme.NET Services.NET Périphériques.NET 2006/2007 22
Framework: présentation Les fondations du framework: CLR: Environnement d exécution CLS/CTS: Contrat de service pour les langages et les types C#: langage de développement objet Et aussi C++, VC.NET, J# MSIL: langage intermédiaire JIT: Compilateur à la volée Le framework.net est un environnement de développement et d exploitation 2006/2007 23
Framework: architecture VB.NET C# C++ Autres Common Language Specification Web Forms ASP.NET Web Services Windows Forms Données et XML Framework Class Library Common Language Runtime Common Language Infrastructure 2006/2007 24
Framework: fonctionnement Code Source (C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.) CLS/CTS «Managed Code» (MSIL).NET Framework Libraries.NET Compact Framework Libraries.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR JIT Windows 98/Me NT/2000/XP 2003 Linux (Mono::) Autre 2006/2007 25
Framework: CLR CLR = Common Language Runtime Environnement d exécution des applications.net Principe de machine virtuelle et de code intermédiaire P-code appelé MSIL Atouts du principe de machine virtuelle: Indépendance à l architecture sous-jacente Java: Write Once, Run Anywhere (WORA) Microsoft: Execute on Many Platforms Limité aux PF Windows quand même, mais indépendance quand au processeur Mécanisme de ramasse-miettes Le code est exécuté au sein de la machine virtuelle qui permet le contrôle du cycle de vie des objets Sécurité du code Accès restreint à la machine pour le code Lutte contre les buffer overflow Signature du code (lutte contre les chevaux de Troie et les virus) 2006/2007 26
Framework: CLR Atouts plus spécifiques à la plateforme Support de nombreux langages Support des versions par les assembly Sûreté de typage Programmation simplifiée Les applications.net sont «gérées» par la CLR Code managé Les applications natives s exécutent hors du cadre de la CLR La CLI décrit la manière d implémenter la machine d exécution (déposé à l ECMA et à l ISO) La CLR n est qu une implémentation commerciale de la CLI Possibilité pour un tiers de créer sa propre implémentation Ex: mono pour linux, rotor pour FreeBSD & MacOS (µsoft) 2006/2007 27
Framework: CLR Services de la CLR le chargement (load) et l'exécution contrôlée des programmes, l'isolation des programmes les uns par rapport aux autres, les vérifications de type lors des appels de fonctions, la conversion de code intermédiaire en code natif lors de l'exécution des programmes (opération JIT, Just In Time compiler), l'accès aux méta données (informations sur le code stockées dans l entête PE de l exécutable) pour le déploiement la gestion de la mémoire, la gestion des exceptions, la sécurité, la compatibilité avec les DLL et les modules COM actuels qui s'exécutent en code natif non contrôlé par.net. La gestion des versions 2006/2007 28
Framework: CLS & CTS CLS = Common Language Specification Permet l interopérabilité entre les langages # Les langages doivent fournir un ensemble de possibilités, de constructions qui sont recensées dans un contrat de service dénommé CLS. CLS: plus petit dénominateur commun Force certaines caractéristiques pour les langages: Système de types Approche objet (problématique pour les langages procéduraux comme le C) 41 règles: les CLS Rules Ajout d un langage à.net: Respect de CLS, développement d un compilateur vers MSIL. 2006/2007 29
Framework: CLS & CTS CTS = Common Type System Types communs définis au niveau de la CLR Gère le problème de l échange de types Permet la simplification des échanges entre assembly Mise en correspondance avec les différents types des langages Limitations apportées par CLS&CTS: Assez contraignantes pour les langages Restent limitées aux cas où l on veut exporter des fonctions L impact est lourd pour les langages Les langages.net sont identiques sur le signifié même s ils ont des syntaxes différentes 2006/2007 30
Framework: MSIL MSIL =Microsoft Intermediate Language) Code source compilé sous la forme d un code binaire intermédiaire, indépendant du matériel et du systèmes d exploitation assembleur virtuel Le MSIL est ensuite exécuté dans la CLR Le MSIL est alors traduit en code machine par un compilateur "Juste à temps" (JIT compiler) à la première exécution. Java qui utilise un p-code objet interprété Meilleures performances que Java P-code moins facile à désassembler Spécificités d optimisation de performances: Le code IL est traduit petit à petit au fil du besoin en code natif Le ramasse miettes ne rentre en action que quand un nombre important d objets doivent être détruits Les performances ont été la préoccupation primordiale de Microsoft 2006/2007 31
Framework: compilation en MSIL Source Code C++, C#, VB or any.net language Compilateur csc.exe or vbc.exe Assembly IL DLL or EXE Assembly = DLL «IL» + méta données 2006/2007 32
Framework: Assembly Assembly: DLL contenant du MSIL Deux types d assembly: Assembly de type DLL Assembly de type exécutable Les assembly résolvent les problèmes des DLL & composants COM: Gestion de version, inscription, etc Les assembly sont auto descriptives Juste besoin d un drag&drop pour les installer Les assembly peuvent être signées Protégés contre la modification par un principe de certificat 2006/2007 33
Framework: Assembly Les assembly peuvent être publics ou privés Privés: utilisés uniquement pour une application Sont copiés dans la racine de l application cliente Publics: utilisés par de multiples clients Disposent d un numéro unique Utilisation de l utilitaire strong name (sn.exe) Sont placés dans le «Global Assembly Cache» GAC Sont forcément signés Contenu d un assembly: Metadata dont le manifeste Type metadata: types de données utilisés Code MSIL: l assembly peut être réutilisé par tout langage Ressources: comme pour les programmes windows classiques 2006/2007 34
Framework: Assembly Les assembly peuvent être publics ou privés Privés: utilisés uniquement pour une application Sont copiés dans la racine de l application cliente Publics: utilisés par de multiples clients Disposent d un numéro unique Utilisation de l utilitaire strong name (sn.exe) Sont placés dans le «Global Assembly Cache» GAC Sont forcément signés Contenu d un assembly: Metadata dont le manifeste Manifeste: carte d identité de l assembly Identite unique Liste des fichiers le composant Liste des assembly référencés Permissions Type metadata: types de données utilisés Code MSIL: l assembly peut être réutilisé par tout langage Ressources: comme pour les programmes windows classiques Déploiement: IE peut placer directement des assembly dans le cache 2006/2007 35
Framework Class Library Classes.NET pour le développement Simplicité & cohérence haut niveau d abstraction pérennité Domaine couverts: GUI client lourds Programmes console & services Applications WEB Accès aux données (ADO.NET) Communication entre objets distants Gestion de XML Programmation système (registre, services, threads, journal, réseau, etc ) Le système de classes couvre un large spectre et facilite le développement 2006/2007 36
2006/2007 37 Microsoft.NET Framework Class Library System.Data Design OLEDB SQLTypes SQL System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Xml XPath XSLT Serialization System.Web Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Form Button MessageBox ListControl
Framework: divers Gestion des erreurs: La gestion des erreurs a été unifiée Tout est géré par exception Modèle de type d exceptions Exceptions propagées par les assembly Exceptions propagées même en mode distribué Gestion effectuée au niveau de la CLR Interopérabilité DLL natives et COM Un assembly peut appeler une dll Avec tous les problèmes inhérents Un assembly peut appeler un composant COM Interopérabilité dans les deux sens 2006/2007 38
Langages.NET est multi-langages : Microsoft fourni plusieurs langages et les compilateurs associés, tels que C++, JScript, VB.NET (alias VB 7) et C# Support de 27 langages VB.NET Reprise de la syntaxe simple de VB Ajout des concepts objets Accès à toutes les fonctionnalités du framework Mais ce n est plus vraiment Visual Basic 2006/2007 39
Langages C# Langage privilégié de la plateforme.net Langage libre de droit (standardisé, ainsi que MSIL, par l ECMA) Évolution du C++ ANSI créé par Anders Hejlsberg, architecte de plusieurs langages et outils chez Borland, dont Delphi A reprit de très nombreux éléments de Java Permet la gestion des composants (attributs) C# est une sorte de synthèse des points forts de C++ et JAVA, avec quelques éléments en plus Approche plus pragmatique que Java sur certains points Java plus figé sur le paradigme objet 2006/2007 40
Langages C++ managé modification de C++ pour supporter.net Nouveau modèle de développement complet Améliore la gestion de la mémoire (pas de new, utilisation du ramasse miettes) Pas de MFC Les applications sont difficilement portables Autres langages: J# (peu d intérêt) Langages tiers: Eiffel, COBOL, PERL, PASCAL, etc 2006/2007 41
Langages Gestion Multi-langages: Les assembly peuvent être créés dans un langage et utilisés dans un autre Tout passe par le MSIL Une classe dotnet peut être étendue dans un autre langage! Gestion du cycle de vie d un projet Gestion multi-langages d un projet peut cependant être compliquée Conclusion: Le langage n a pas d impact sur l écriture Pas de différence flagrantes de performances entre langages 2006/2007 42
Développement clients riches Technologie WinForms: Le client lourd est mort, vive le client riche! Doit concilier les approches client lourd/client léger Pb clients lourds: difficulté d installation, protocole de communication propriétaire Pb clients légers: ergonomie limitée, pas de travail en mode déconnecté Clients riches: Ergonomie de l interface Déploiement sans douleur Interface indépendante de la plateforme Middleware standard Pré-requis: déploiement de l environnement d exécution sur le poste utilisateur Pb de normalisation: XUL est-il l avenir? Permet de construire l interface locale des applications réparties 2006/2007 43
Développement clients riches Principe: Un formulaire (Form) est utilisé pour présenter des informations à l utilisateur Boite de dialogue, Interface simple SDI ou multidocument MDI Interface type explorer Dérivent de System.Windows.Forms.Form Le principe est globalement le même que dans Visual C++ ou Visual Basic Programme de type console: l utilisateur est contraint de suivre le fil du programme défini par l utilisateur Programme de type fenêtré: l utilisateur déclenche de manière asynchrone les évènements qui définissent l application => Les notions d évènements et de délégués du framework sont ici utilisés de manière intensive 2006/2007 44
ASP.NET ASP.NET(ASP+) Amélioration de la technologie ASP qui tire parti de la CLR et de MSIL Compilation des pages (idem JSP) Utilisation des WebForms Problèmes ASP: Mélange dans un même source les descriptions HTML et le script serveur Langage de script limité (VBScript ou JScrip) Interactions clients/serveur mal intégrées 2006/2007 45
ASP.NET ASP.NET permet de créer une application Internet comme si c était une application normale: WebForms Plus de mélange script/html Compilation des pages à la volée=>meilleures performances Notion de «code behind» Codage de la page à l aide d un langage # Extension en.aspx Utilisation des classes APN.NET du framework Interaction avec le serveur web Suivi de session (cookie, URL, BDD) Fourniture de contrôles serveurs (45 intégrés) Présence de contrôles de validation de pages (exécution sur le client ou le serveur) Exécution obligatoire sur IIS, avec le framework.net installé sur le serveur 2006/2007 46
ASP.NET 2006/2007 47
Client Mobile Compact Framework: Sous ensemble du framework.net Destiné aux terminaux mobiles type pocketpc, Tablet PC, SmartPhones Permet un code partagé entre une application Windows et une application mobile Nécessité de prendre en compte quand même certaines limitation (ergonomie, accès aux données) Permet d accéder à toutes les fonctionnalités de la plateforme.net (Accès aux données, Web Services) CLR optimisée pour les terminaux à ressources réduites Taille du framework: 1,5 Mo RAM: 0,5 Mo Taille des applications: 5-100 Ko Émulateur intégré dans VS.NET pour les tests 2006/2007 48
Accès aux données ADO.NET Évolution d ADO (ActiveX Data Object) Met XML au centre des échanges de données Ensemble de classes exposant les services d accès aux données Abstraction du modèle de BDD Notion de fournisseur, utilisant OLEDB, SQL, ODBC Dataset: Modèle XML intermédiaire déconnecté des données Permet de réaliser une sorte de mini BDD locale Très utile dans les environnements répartis avec des tiers pas forcément toujours connectés Gestion des modes connectés/non connectés Définition des «data-adapters» synchronisation automatique sources de données/datasets Possibilité d échanger ces datasets 2006/2007 49
Accès aux données Support complet de XML Le framework contient tout ce qu il faut pour manipuler les données XML XSLT, XLK-Schema, DOM, X-Path, etc DataBinding Faculté de lier automatiquement une source de données et un contrôle WinForm ou WebForm Sérialisation Support pour réaliser une sérialisation/désérialisation facile des objets En XML, binaire ou custom 2006/2007 50
Accès aux données 2006/2007 51
Enterprise Services Partie «serveur d application» au pur sens du terme Capitalisation de Microsoft sur COM+ Nouvelle interface permettant d accéder aux services COM+ Cache les détails de COM Reste en cohérence avec le reste du framework.net Notion de composants.net Tout objet héritant de ServicedComponents devient un composant.net Gestion déclarative => Transparence pour le développeur Seul lien avec COM+: la console d administration 2006/2007 52
Enterprise Services Fonctionnalités proposées Gestion transactionnelle des ressources Plus puissante que celle proposée dans ADO.NET Gestion et activation des ressources en pool Plus fin que celui proposé dans.net Remoting ou Services Web Accès aux sources de données (pooling) Proposé également dans ADO.NET Gestion asynchrone des composants Surcouche à MSMQ orientée composants, plus puissant que ce qui est proposé dans system.messaging L utilisation des Enterprise Services est donc à discuter 2006/2007 53
Web Services Web Services: Communication interapplicative à l aide de protocoles standardisés: XML SOAP (Simple Object Access Protocol) UDDI (Universal Discovery description and Integration) Les services communiquent entre eux en XML SOAP: format XML des messages qui s échangent Sur HTTP, SMTP ou POP WSDL: fichier d interface ( IDL) UDDI: annuaire des services 2006/2007 54
Web Services Implémentation dans.net: Développement d un service Web ASP.NET Utilise IIS pour publier le Service Web Développement en.net remoting Exécution du Service Web dans un composant indépendant Vision «objet»: un Web Service est un objet qui présente une interface d appel à distance Attribut «webmethod» dans le code 2006/2007 55
Web Services 2006/2007 56
Web Services L'objectif de.net framework est de faciliter la conception d'applications et de Services Web: Vision globale Web Services 2006/2007 57
Service de transport.net remoting Remplaçant de la technologie DCOM CLR Object Remoting: appel d objets via le réseau comme si ils étaient locaux Modèle commun masquant les protocoles sous jacents (channel ) TCP/HTTP proposés de base Support d un mécanisme de sérialisation pour transporter les appels (Formatter) SOAP 1.1: sérialisation type service web CLR: Idem mais étendu Binaire: Programmation libre Sécurité intégrée dans le protocole(authentification) Intégré au modèle service Web: Producteur/Consommateur de services Indépendance vis-à-vis de IIS & ASP.NET Il y a forcément un serveur qui l exécute 2006/2007 58
Service de transport Deux types de passages: Par référence (il reste sur le serveur) Les proxy & stubs sont automatiquement générés par la CLR Par valeur (il est sérialisé et recopié vers le client) Trois types d activation d objets distants: Activation côté serveur Single call: créé lors de chaque appel de méthode Singleton: objet créé une seule fois Activation côté client: Durée de vie gérée par la CLR Les paramètres de connexion sont configurés: directement dans le code par des fichiers XML 2006/2007 59
Service de transport Service de transport :.NET remoting 2006/2007 60
Conclusion.NET: Avantage : l'homogénéité de l'architecture utilisation des ressources du système Windows et du Framework.NET performances et intégration de l'outil Visual Studio avec la plate-forme Inconvénient : posséder l'ensemble des produits de la gamme Microsoft.NET dont IIS. 2006/2007 61
Conclusion Vision Microsoft via.net: Un Internet constitué d une infinité d applications Web inter opérables formant un réseau planétaire d échange de services. Ces "Web Services" sont basés sur les protocoles SOAP et XML. Technologie prometteuse mais plus jeune que J2EE Relatif manque de visibilité sur les déploiements.net 2006/2007 62