1 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS IV ( )
2 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB OBJECTIFS Introduction aux architectures réparties Évolution du Middleware Évolution de l’architecture des SI Architecture N-Tiers Microsoft vs. Java (EJB - Entreprise Java Beans) Web Services
3 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB PLAN Du RPC aux composants Évolution de l’architecture des SI Microsoft DNA et.NET Java J2EE Web Services Annexes
4 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Introduction - Architecture Réparties Avantages –Organisationnel Décentraliser les responsabilités Découpage en unité –Fiabilité et disponibilité Individualisation des défaillances Duplication des constituants de l’application –Performances Partage de la charge –Maintenance et évolution
5 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Introduction - Architecture Réparties (2) Inconvénients –Mise en œuvre plus délicate Gestion des erreurs Suivi des exécutions –Pas de vision globale instantanée Délai des transmissions –Administration plus lourde Installation Configuration Surveillance –Coût Formation Achat des environnements
6 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Du RPC aux composants
7 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Le Middleware Objectif : faciliter l'intégration d'architecture client/serveur/traitement applicatif/base de données, ainsi que le déploiement et la maintenance d'applications –Résoudre l’interopérabilité: unifier l’accès à des machines distantes –Résoudre l’hétérogénéité: être indépendant des SE et du langages des applications Middleware = API+FAP API: Application Program Interface –Si standard permet la portabilité FAP: Format and Protocols –Permet de passer d’un espace d’adressage à un autre –Et d’une machine à une autre
8 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Le Middleware - RPC Les environnements répartis sont basés pour la plupart sur un mécanisme RPC ( Remote Procedure Call ). Ce mécanisme fonctionne en mode requête-réponse –Le client effectue une requête (demande un service) –Le serveur traite la demande puis retourne la réponse au client PCSparc NT PC UNIX Middleware ClientServeur
9 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Le Middleware - Rôles avancés Nommage –Identification logique (DNS) Persistance –Assure la pérennité des données (liens vers SGBD) Sécurité –Authentification, Autorisation, … Transaction –Gestion avancée des transactions (ACID) Événement –Message Oriented Middleware (MOM)
10 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Définition d’une transaction Unité indivisible de travail comprenant plusieurs opérations dont toutes ou aucune doivent être effectués pour protéger la cohérence des données –Ex: programme accédant et/ou modifiant des données persistantes (fichier ou BD) Une transaction doit respecter les propriétés ACID –A: Atomicité - tout ou rien –C: Cohérence - respect des contraintes définies sur les données –I: Isolation - garantie de non interférence entre des transactions s’exécutant concurremment –D: Durabilité - état produit par la transaction ne doit pas être perdu
11 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Middleware à objets Structuration d’un middleware à base objets –Propriétés de l’objet (encapsulation, modularité, réutilisation, polymorphisme, composition) –L’objet est l’unité de désignation et de distribution Trois solutions essentielles –CORBA de l’OMG –COM+ services de Microsoft –Java (RMI, JDBC, JTS, JNDI)
12 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Évolution vers les composants Évolution des middleware à objets vers les middleware à base de composants COM+ et.NET pour Microsoft CORBA 3 pour CORBA Java Beans et Entreprise Beans pour Java
13 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Composant Module logiciel autonome pouvant être installé sur différentes plate-formes Exporte différents attributs, propriétés ou méthodes L’interface d’un composant représente son « mode d’emploi », les services disponibles (méthodes) Peut être configuré Capable de s’auto-décrire (introspection en Java: classe Class et classe Object) Intérêt: briques de base configurables pour permettre la construction d’applications par composition
14 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Conteneurs et structures d’accueil Conteneurs –Encapsulation d’un composant –Prise en charge transparente de services systèmes (nommage, sécurité, transaction, persistance, …) –Prise en charge partielle des connecteurs (invocations et évènements) –Interposition entre le client et le composant Structure d’accueil –Espace d’exécution des conteneurs et des composants
15 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Évolution de l’architecture des SI
16 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture 3-Tiers On distingue 3 couches dans les architectures 3- Tiers –Client Interface Homme-Machine (IHM) –Tiers du milieu Regroupe l’ensemble de l’application –Logique métier –Présentation –Interconnexion avec le reste du SI –Connexions aux ressources –Données (ressources) BD ou applications distantes
17 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture 3-Tiers Source:
18 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture 3-Tiers (2) Le tiers client Le tiers du milieu (Middle tier) Le tiers ressource (EIS) Le côté serveur
19 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture Web N-Tiers On distingue 5 couches dans les architectures N-Tiers –Client Peut contenir un minimum d’interactivité (ex: JavaScript et la vérification des champs de formulaires) –Présentation Logique de navigation (ex: JSP/Servlets, PHP/CGI) –Logique métier Couche de traitement qui contient les classes métiers c’est-à-dire les classes couramment utilisées dans un secteur d’activité –Middleware Interconnexion avec le reste du SI ou SI distant (ex: connexion aux bases de données (JDBC) ou entre composants) –Ressources: gestion de la persistance Assure la pérennité des informations (SGBD, LDAP)
20 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers (2) Le tiers client Le tiers du milieu Le tiers ressource (EIS) Le côté serveur Clients web Web services Clients lourds Le tiers web Web Services
21 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers client Le tiers client Le tiers du milieu Le tiers ressource (EIS) Le côté serveur Clients web Web services Clients lourds Le tiers web Web Services
22 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers client (2) Un browser Web –HTTP, HTTPS, XML Un PDA –HTTP, HTTPS / WML, XML Un client lourd –IIOP de CORBA, RMI de JAVA
23 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers présentation (au niveau Web) Le tiers client Le tiers du milieu Le tiers ressource (EIS) Clients web Web services Le tiers web Web Services Contenu statique Web Container Web Serveur CGI scripts Scripts (Fast CGI) Autres extensions HTML, XML / HTTP, HTTPS SOAP / HTTPS SOAP / HTTPS SQL, propriétaire XML, RMI / HTTP, IIOP, JRMP, JMS
24 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers présentation (2) Reçoit les requêtes HTTP des clients et renvoi les réponses Contient la logique du flot de présentation Permet de faire la séparation entre présentation et logique métier Support plusieurs types de clients
25 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Technologies utilisées dans le tiers présentation CGI/FastCGI (Common Gateway Interface) –C, C++, Perl, Tcl, Bash ASP (Active Server Pages) / PHP –Scripting interprété Servlets Java JSP (Java Server Pages) –Scripting compilé en Servlet
26 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers du milieu (logique métier+middleware) Le tiers client Le tiers du milieu Le tiers ressource (EIS) Le côté serveur Clients web Web services Clients lourds Le tiers web Web Services
27 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers du milieu (2) Gestion des composants –Implémente la logique métier (Business logic) –Offre des services aux composants Tolérance aux fautes, disponibilité accrue Passage à l’échelle (Scalability) Équilibrage de charge (Load balancing) Gestion des transactions Sécurité
28 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers ressource Le tiers client Le tiers du milieu Le tiers ressource (EIS) Le côté serveur Clients web Web services Clients lourds Le tiers web Web Services
29 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Tiers ressource (2) Base de données –JDO, SQL/J, JDBC, ODBC, ADO.NET Anciens systèmes (legacy systems) –Connecteurs J2EE, Protocoles propriétaires ERP (Entreprise Ressource Planning) –Connecteurs J2EE, Protocoles propriétaires EAI (Entreprise Application Integration) –Connecteurs J2EE, Protocoles propriétaires
30 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Microsoft DNA et.NET
31 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture DNA /.Net (Distributed Internet Architecture) Source: html/msdn_windnawp.asp
32 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB DNA/.NET (2) Source:
33 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB DNA Apporte des solutions à un ensemble de problèmes rencontrées dans les architectures distribuées Technologies Microsoft –Client/Présentation: Internet Explorer –Serveur/Présentation: IIS –Rendu et business: ASP, VBScript –Composants: COM (Common Object Model) –Communication entre composants: COM, MSMQ, COM+ –Middleware business Données: ActiveX Data Objects, ODBC –Accès aux données: OLEDB, ADO –Persistance: SQL Server, Exchange, Active Directory, NTFS
34 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB.NET.NET est une stratégie marketing de Microsoft Remplacement de DNA Composé de plusieurs parties –CLR (Common Language Runtime): moteur d’exécution équivalent à la JVM en Java –BCL (Base Class Library) –ASP.NET –CLS (Common Language Specification): standard Microsoft de l’API –CTS (Common Type System): type commun pour tous les langages –MSIL (Microsoft Intermediate Language): langage intermédiaire avant compilation en code machine
35 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB.NET (2) Source: dotnet/slide3.html
36 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ADO.NET Dataset sont une vue en mémoire de la BD Les clients reçoivent les données en XML Source : msdn.microsoft.com/
37 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Java J2EE
38 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Approche Java – J2EE J2EE est un standard industriel –Architecture pour construire une application Java par composition de composant Java (EB) –.NET est une spécification Technologies J2EE –Client/Présentation: applications clients, applets dans navigateur possédant une JVM –Serveur/Présentation: Serveur d’informations, Tomcat –Rendu et business: Servlet et JSP –Composants business: EJB (Entreprise Java Beans) –Communications entre composants: JMS (Java Message Service) –Données: JDO (Java Data Objects) –Accès aux données: JDBC –Persistance: Oracle Server
39 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Serveurs applicatifs J2EE Composé d’un serveur de composants Application Java à base de composants Hébergent –Des containers Pages Web Composants Métier (EJB) –Des services Nommage Base de données/Mapping sur Base Moniteurs transactionnels Déploiement... –Des API sur les services JDBC/JTS/JMS...
40 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Exemples de serveurs applicatifs J2EE Serveurs d'applications J2EE –Weblogic BEA, WebSphere IBM, Iplanet Sun, Oracle –WebObject (Jonhatan/Jonas) INRIA/BULL –Jboss (Version Gratuite) Autres serveurs d'applications –Microsoft.Net / DNA Entreprise Servers –Zope (Python) –Serveur CORBA 3: OrbixWeb, Borland VisiBroker, IONA ORBacus
41 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE Applet container Applet J2SE Application Client Container J2SE Application Client JM S JNDI RMI/IIO P JDBC Web containerEJB container Servlet JSP JM S JNDI JTA Java Mail RMI/IIO P JDBC JAF J2SE JM S JNDI JTA Java Mail RMI/IIO JDBC JAF EJB Databases http/ssl rmi/ssl - Protocoles Source:
42 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (2) Source:
43 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (3) Source: j2eeArchitecture.htm
44 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (4) EJB : définit la façon dont les composant doivent être écrit et le contrat qu’ils doivent respecter avec le serveur d’application RMI : communication inter-composants JNDI : service de nommage JDBC : connexion avec les bases de données JTA : service de transaction JMS : service de messagerie JSP : servlet et Java Server Page adapté à la construction de composants réseau Java IDL : permet l’intégration avec d’autres langages (en particulier à travers CORBA) Java Connectors : intégration à des systèmes d’information existant API XML
45 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (5) JavaMail Technology –Contrôle de l’envoi de mails –Fournisseur de services mails JavaBeans Activation Framework (JAF) –Service de découverte et d’encapsulation de composants Java Authentication and Autorization Service (JAAS) –Gestion de la sécurité dans les applications J2EE
46 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB JDO Source :
47 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Services du container de pages Web Servlet / JSP Services internes –Gestion de la charge du serveur –Gestion des autorisations d’accès Service externe –API Java
48 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Services du container EJB Environnement d’exécution fournissant des services au niveau du système –Services Interne Gestion de la charge du serveur (cycle de vie, accès client, passivation …) Service de nommage Gestion des accès aux objets métiers –Services Externes Gestion du Mapping sur base de données relationnelle Gestion des transactions et des échanges de messages
49 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Caractéristiques principales EJB Éléments d’architecture –EB, conteneurs, serveurs, clients Conteneurs isolent les beans du client et d’une implantation spécifique au serveur => portabilité Conteneurs et serveurs implantent les mécanismes systèmes qui fournissent des services aux beans –Transaction –Persistance –Autorisation –Gestion mémoire
50 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Caractéristiques principales (2) EJB contiennent la logique applicative –Plus de routines contenant les règles métiers ou les accès aux bases de données par exemple
51 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Contrats EJB Modèle de développement uniforme pour les application utilisant les composants EB –Contrat coté client: fournir une vue uniforme du bean au client indépendante de la plate-forme de déploiement –Contrat coté conteneur: assurer la portabilité du bean sur différents serveurs EJB –Contrat coté « packaging » (ejb-jar file): fournir un format de fichier standard pour packager les beans
52 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Types de Beans Les EJB de type « Session » –Exécutent une tâche pour le client (ex: service de change pour une banque) Les EJB « Entity » –Représentent un objet métier qui existe dans le système de stockage permanent (ex: compte client) Les EJB « Message-Driven » –Traitent les messages asynchrones
53 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture J2EE Distribution, Equilibrage de charge, Tolérance de pannes Nommage, Sécurité, Cycle de vie, Accès concurrents, Transaction, Persistance EJB Container Serveur d ’application Logique d'application Logique métier Accès données Ett Ses DBMS Ses IHM
54 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Les Beans de session sans état (Stateless) Ils fournissent un service pour un utilisateur Pas d’état conversationnel avec le client Ne survivent pas à un crash du serveur Ils sont destinés à vivre sur une courte période Deux instances d’un même bean sont identiques
55 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Les Beans de session avec état (Stateful) Ils interagissent d'une manière conversationnelle Maintiennent un état sur le client connecté Ne survivent pas à un crash du serveur d'EJB Une instance est hébergée par un seul thread Une instance peut être partagée par plusieurs clients
56 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Les Beans entités Ils représentent les données persistantes Ils survivent à un crash Plusieurs clients peuvent utiliser des EJB qui "pointent" sur les mêmes données L'instance EJB contient une copie des données du système de stockage Les attributs d'un objet sont déposés sur un support persistant Exemples de supports de persistance –Sérialisation –Accès à une base par JDBC
57 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Propriétés des Beans entités Quand plusieurs clients partagent un EJB entité ils –reçoivent leurs propres instances d'EJB –partagent les données sous-jacentes –n'ont pas à gérer la synchronisation sur les données Il existe deux modes de gestion de la persistance des données –Container-Managed Persistence (CMP) Le développeur ne développe pas les méthodes de gestion de la persistance Le container gère l’accès à la BD –Bean-Managed Persistence (BMP)
58 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Persistance Gérée par le bean (via JDBC ou SGF) => CMP Gérée par le conteneur (utilisation des container maintened fields): le code d’accès à la BD est délégué au conteneur => BMP Dans les 2 cas le conteneur est responsable de la cohérence entre l’état du bean et l’état de la BD
59 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Sécurité Déléguée au maximum au conteneur –Simplifier la programmation et améliorer la portabilité Support sécurité basé sur –API sécurité de Java –Méthodes liées à la sécurité peuvent être implantées par le conteneur –Attributs de sécurité définis dans le descripteur de bean utilisés en déploiement
60 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Évolutions des middleware Objets –CORBA (ORBIX, VisiBroker, OpenORB, …) –DCOM Composant –J2EE (Websphere, Weblogic, JBOSS) –.Net Web-Services
61 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Web Services
62 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Limitations des middleware Passage à large échelle: Web Protocoles hétérogènes entre architectures –IIOP, RMI, DCOM, J2EE,.NET –Firewall Pas d’ouverture des services –Moteur de recherche sur services des composants inexistant Trop de contraintes sur le client –Doit posséder les souches –Difficulté de construire dynamiquement
63 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Limitations des middleware (2) Inconvénients intrinsèques Complexité –CORBA: IDL, JNDI –EJB: Container, JNDI Pérennité: remise en question –CORBA, EJB,.Net Prix –Plateformes –Compétences
64 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Solutions existantes Modification du protocole –RMI/IIOP Passerelles –CORBA vers DCOM,.NET vers J2EE? Portage d’applications existantes difficile Solutions non standards
65 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Web Services Collection de fonctions packagées dans une même entité et publiées pour être utilisée sur le réseau –Interface XML sur un ensemble de services –Évolution naturelle des systèmes distribuées Les Web Services sont des services offerts via le Web –Le fondement des Web Services est l’utilisation de messages XML transportés sur des protocoles standards comme HTTP Protocoles simples et standards permettant une utilisation universelle Interfaces au-dessus des architectures n-tiers existantes (.NET & J2EE)
66 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Approche envisagée Un nouveau protocole: SOAP –Basé sur XML Portabilité –Véhiculé sur des protocoles existants déployés à grande échelle HTTP, SMTP Paradigme orienté service: WDSL –Définition de services offerts (en XML) Découverte automatique des services (dynamicité): UDDI –Référentiel des Web Services (Pages jaunes/blanches)
67 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Exemple d’invocation d’un Web Service Source :
68 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Questions ? ? ? ? ? ? ?
69 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ANNEXES
70 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture CORBA
71 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE Source :
72 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (2) Source : Un langage Plusieurs plate-formes Plusieurs langages Une plate-forme
73 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (3) Source : propose le même ensemble de services sous l'appellation de ServicedComponent. Le conteneur utilisé dans le Framework est COM+ COM+ fonctionne dans un environnement non managé avec une gestion de type différente de celle de.NET (Common Type System) Dans J2EE les transactions sont gérées en Java à l'aide des API JTA/JTS et l'ensemble des composants s'exécutent dans un seul et même environnement managé.
74 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (4)
75 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB L'architecture Web Services.NET Source : Environnement totalement intégré Avantages : - homogénéité de l'ensemble de l'architecture permettant d'utiliser pleinement les ressources du système Windows et du Framework.NET - impact positif sur les performances et sur l'intégration de l'outil Visual Studio avec la plate-forme Inconvénients implique de posséder l'ensemble des produits de la gamme Microsoft.NET dont IIS
76 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB L'architecture Web Services J2EE Source : J2EE fournie un ensemble d'APIs et d'interfaces dans le but de proposer plusieurs implémentations différentes. A l'heure actuelle, excepté le WebService Pack de Sun faisant office de RI (Reference Implementation), il n'existe aucun produit intégrant toutes ces APIs.