La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS IV

Présentations similaires


Présentation au sujet: "1 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS IV"— Transcription de la présentation:

1 1 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS IV Laurent.granie@free.fr Franck.legendre@lip6.fr (01 44 27 88 77)

2 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 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 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 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 6 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Du RPC aux composants

7 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 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 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 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 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 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 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 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 15 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Évolution de l’architecture des SI

16 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 17 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture 3-Tiers Source: http://msdn.microsoft.com/library/en-us/dndna/html/vba4dna.asp

18 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 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 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 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 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 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 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 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 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 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 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 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 30 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Microsoft DNA et.NET

31 31 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture DNA /.Net (Distributed Internet Architecture) Source: http://msdn.microsoft.com/.../dnentdevgen/ html/msdn_windnawp.asp

32 32 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB DNA/.NET (2) Source: http://www.autofieldguide.com/mag_images/020105a.GIF

33 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 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 35 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB.NET (2) Source: http://www.ecoswitch.com/publications_liste/ dotnet/slide3.html

36 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 37 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Java J2EE

38 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 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 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 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: http://java.sun.com

42 42 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (2) Source: http://java.sun.com

43 43 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture N-Tiers J2EE (3) Source: http://www.atermon.com/ j2eeArchitecture.htm

44 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 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 46 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB JDO Source : http://www.java-application-servers.com/articles/app_servers.html

47 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 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 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 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 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 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 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 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 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 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 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 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 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 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 61 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Web Services

62 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 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 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 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 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 67 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Exemple d’invocation d’un Web Service Source : http://www.dotnetguru.org/articles/webservices/WebServices.htm

68 68 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Questions ? ? ? ? ? ? ?

69 69 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ANNEXES

70 70 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Architecture CORBA

71 71 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE Source : http://www.theserverside.com/resources/article.jsp?l=J2EE-vs-DOTNET

72 72 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (2) Source : http://www.sdmagazine.com/documents/s=733/sdm0103a/0103a.htm Un langage Plusieurs plate-formes Plusieurs langages Une plate-forme

73 73 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (3) Source : http://www.dotnetguru.org/articles/architecturedotnet.htm.NET 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 74 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB Comparaison de l’architecture.NET & J2EE (4)

75 75 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB L'architecture Web Services.NET Source : http://www.dotnetguru.org/articles/webservices/WebServices.htm 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 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB L'architecture Web Services J2EE Source : http://www.dotnetguru.org/articles/webservices/WebServices.htm 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.


Télécharger ppt "1 / 76 7 / 02 / 2003 Laurent GRANIE & Franck LEGENDRE – MIAGE 3ème année - ARCHITECTURE WEB ARCHITECTURE WEB – COURS IV"

Présentations similaires


Annonces Google