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

Slides:



Advertisements
Présentations similaires
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Xavier Blanc Web Services Xavier Blanc
Introduction aux environnements répartis
Serveurs web pour JSP et Servlets
Chapitre 1 Introduction
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Cours 2 : Les Web Services Concepts Généraux


CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
UV J2EE Module Java Expert
Programmer avec Java EE
Introduction aux services WEB
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Etude des Technologies du Web services
Serveurs d’application
XML-Family Web Services Description Language W.S.D.L.
Architectures Web - N-Tiers
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Sommaire Objectif de Peakup Principes de fonctionnement
7 - EAI Les EAI : Enterprise Application Integration Marché
Applications Chapitre B17 et C18
Développement Rapide dApplications Web avec.NET « Mon premier site »
Programmation Approche composants Ing5 SI
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Interopérabilité JOnAS - CORBA
Gestion des bases de données
WINDOWS Les Versions Serveurs
EJB & Serveurs d’applications
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
L’architecture J2EE
1 - Architecture Internet
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
Les EJB Samir AZZOUZ Équipe ObjectWeb
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
.NET Plateforme, framework, produits Bernard Fedotoff (Pdg) Stéphane Vancauwenberghe (Consultant)
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Introduction à la plateforme .NET
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Architecture J2EE gfgfgfggf Khin Chhoung LAO, Cnam.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Struts.
Module 3 : Création d'un domaine Windows 2000
Les différents modèles d’architecture technique
Module 1 : Vue d'ensemble de Microsoft SQL Server
Introduction aux outils de supervision
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Séance /01/2006 Les technologies des sites dynamiques.
Analyse, élaboration et exploitation d’une Base de Données
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Auditeur: Léonardo AMODIO Cours: NFE107
Transcription de la présentation:

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.