Le Middlewar
Transcription
Le Middlewar
Cours Middleware Equipe pédagogique Introduction Corba J2EE/RMI Servlet/JSP Web Services Grid, temps -réel, surprise Cours Middleware Introduction au middleware ou intergiciel Bart Lamiroy Laurent Ciarletta Rémi Badonnel Vincent Cridlig … Pré[email protected] Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 1 Middleware : définitions (1) Écoledes Mines de Nancy – SI151- 2005-2006 2 Middleware : définitions (2) L'intergiciel (middleware en anglais) est un ensemble de logiciels ou de technologies informatiques qui servent d'intermédiaire entre les applications et le transport des données via le réseau. Ils offrent des services de haut niveau liés aux besoins de communication des applications (temps réel, sécurisation, sérialisation, transaction informatique, etc.). fr.wikipedia.org/wiki /Middleware Couche logicielle interm édiaire entre les applications et le réseau, permettant le dialogue entre des applications hétérogènes. Synonyme : Intergiciel. lexicom .free.fr/lexicommo .htm Écoledes Mines de Nancy – SI151- 2005-2006 Le Middleware Logiciel standard qui permet à deux autres logiciels de communiquer en utilisant un protocole applicatif. Dans un Centre d'appels, prend en charge les communications entre les différents constituants : ACD, SVI, applicatif... www.digiway.fr/html/glossairejm.htm Un middleware permet la communication entre des clients et des serveurs ayant des structures et une implémentation différentes. Il permet l'échange d'informations dans tous les cas et pour toutes les architectures. Enfin, le middleware doit fournir un moyen aux clients de trouver leurs serveurs, aux serveurs de trouver leurs clients et en g énéral de trouver n'importe quel objet atteignable. cynode.projet-enoch.net/resource/xml/doc/memoire /generatedhtml/memoire _g1107.html Écoledes Mines de Nancy – SI151- 2005-2006 4 3 Applications Applications Middleware Middleware Système de O.S Machine communication Communication physique O.S Machine Écoledes Mines de Nancy – SI151- 2005-2006 5 6 1 Pour quoi faire? Faciliter la programmation répartie Interface de haut-niveau (API) pour le développement d’applications Cacher hétérogénéité du système sous -jacent (matériel et logiciel) Cacher les problèmes de la répartition au maximum Fournir des services répartis d’usage courant Développement, évolution, réutilisation des applications Aspects importants Applications en constante évolution (besoins, architectures, ressources etc…) QoS Capacité d ’évolution Portabilité des applications Mobilité, dynamisme des environnements/utilisateurs Interopérabilité d’applications hétérogènes Adaptation Découverte de service Reconfiguration Comportement Faciliter la programmation répartie Dynamique/adaptable Réutilisation, simplicité etc .. Composants Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 7 Applications réparties : Système et Application Écoledes Mines de Nancy – SI151- 2005-2006 8 9 Applications réparties : Système et Application Système : Application : gestion Réponse à un probl ème spécifique Fournir des services à des utilisateurs (personnes, autres applications) des ressource communes De l’infrastructure Lié au mat ériel et logiciels sous -jacents Utilisant les services généraux offerts par le système Système D’exploitation De communication Cacher la complexité du matériel, des communications : fourniture de services d’un haut niveau Écoledes Mines de Nancy – SI151- 2005-2006 Certaines applications travaillent directement sur le matériel (systèmes embarqués, réseaux de capteurs etc… Écoledes Mines de Nancy – SI151- 2005-2006 10 Panorama des architectures et technologies Écoledes Mines de Nancy – SI151- 2005-2006 11 12 2 Plan Contexte Contexte L’informatique d’entreprise est répartie Contexte Vision OMG Vision .NET Vision Sun Les Services Web/Web Services Applications distribuées Objets répartis Client Serveur Objet Objet Passage du Web des utilisateurs/clients à un Web inter-système Client, B2C, B2B, EAI etc… Modèles qui évoluent : Middleware Client/serveur -> Grid, P2P Divers moyens d’accès en mode « client-serveur » Mobile, Internet, Minitel, Téléphone Besoin d ’architecture ouverte et adaptative Vers « l’entreprise étendue » Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 13 Architecture orientée service Écoledes Mines de Nancy – SI151- 2005-2006 14 3 principales approches SOA (Service-Oriented Architecture) Pas nouveau Permet l ’interopérabilité de systèmes hétérogènes Couplage « lâche » ou mou entre les composants logiciels Service = action exécutée par un « fournisseur » pour un « client » Différence avec l ’orienté objet : 15 CORBA Autour de Corba : informatique d’entreprise, intégration d’applications ‘legacy’ Autour de Java : Internet et Web Application et Web Serveurs COM+ , .NET : position forte de MS sur les postes de travail Découplage données – mode de traitement Ce n’est plus le « technique » qui dicte l ’architecture, mais le « métier » Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 16 Écoledes Mines de Nancy – SI151- 2005-2006 17 18 3 L’OMG Object Management Group Common Object Request Broker Architecture Objet Corba Une architecture d’interopérabilité distribuée et orientée objet selon un modèle client -serveur ouvert Créé en 1989 But non lucratif Plus de 850 membres Création et maintenance de spécifications: Client Serveur Objet Objet IDL (C++, Python …) Skeleton Stub Object Adapter IIOP ORB Écoledes Mines de Nancy – SI151- 2005-2006 ORB BOA (Basic) (**) (*) (*) marshalling www.omg.org (Java, Cobol …) (**) unmarshalling CORBA UML Eléments : Stub et skeleton g énérés automatiquement Object Adapter : enregistrement des objets, invocation, contr ôle Servant GIOP ( General) IIOP (Internet) Écoledes Mines de Nancy – SI151- 2005-2006 20 Interface d’invocation statique 21 OMA (Object Management Architecture) l’architecture globale Adaptateur d’objet Interface du bus Interface de squelettes statiques Interface de squelettes dynamiques Interfaces de domaine Objets applicatifs Utilitaires communs Workflow Télécoms Spécifiques Interface d’invocation dynamique Santé Finance DataWare Administration IHM Bus d’objets répartis SSI SII DSI DII Nommage ORB OA Bus de communication IR Référentiel des interfaces ImplR Vendeur Interrogations Référentiel des implantations Écoledes Mines de Nancy – SI151- 2005-2006 22 Interface Implémentation (C++, IDL Java, Cobol..) IDL : Interface Definition Language CORBA : les composantes du bus Écoledes Mines de Nancy – SI151- 2005-2006 Interoperable Object Reference ORB : Object Request Broker (messages) IOP : Inter -ORB Protocol Écoledes Mines de Nancy – SI151- 2005-2006 Un « référentiel des interfaces » stocke sous forme d’objets les descriptions d’interfaces OMG-IDL. Une API (DII: Dynamic Invocation Interface) permet de construire des requêtes à l’exécution. Objet CORBA POA (Portable) 19 CORBA : le mode dynamique Serveur Sécurité Cycle de vie Relations Collections Temps Transactions Propriétés Persistance Licences Externalisation Events Changements Concurrence Services objet communs Écoledes Mines de Nancy – SI151- 2005-2006 23 24 4 CCM (Corba Component Model) Implémentations Vers CORBA 3 Extension logique des EJB (interopérabilité avec les EJB) Composant « emballés » CORBA 2.2 Description XML du contenu Binaires (différentes plateformes) client/serveur orient é objet, les interfaces de base et le POA, les mécanismes dynamiques, GIOP, OMG-IDL et ses projections vers C, C++, SmallTalk, COBOL, ADA et Java. 4 cat égories de composants Service Session BEA WebLogic IBM WebSphere IONA Orbix Borland Enterprise Edition CORBA 3.0 interfaces multiples, passage par valeur, Entity Process modèle de composant, langage de script, minimumCORBA, realtimeCORBA, CORBA/COM/DCE CIF ( Component Implementation Framework) Utilise CIDL (Component Implementation Description Language) pour générer le code compl émentaire au code du composant Chaque composant est plac é dans un « container » Écoledes Mines de Nancy – SI151- 2005-2006 messaging, printing, fault tolerance, firewall Écoledes Mines de Nancy – SI151- 2005-2006 25 CORBA, UML, XML et MDA MICO OmniORB ORBit Écoledes Mines de Nancy – SI151- 2005-2006 26 27 Sun’s Java 2 Enterprise Edition Architecture générale J2EE UML = standard OMG W3C DOM (Document Object Model) : Client tier Navigateur Web et Applet Accéder à XML via des interfaces Se fonde sur l’IDL OMG Clients évolués Types Corba passés par valeurs mappés sur du XML CCM : encodage, configuration et déploiement décrits en XML Etc… Evolution vers le MDA (Model Driven Architecture) Composants d’application cliente Serveur Web tier Serveur d’applications tier JSP Conteneurs EJB PIM (Pateform-Independent Model) BD Entity Beans Stateful et stateless Beans Servlets Web Services Clients Spécifications écrites à 2 niveaux Backend tier Applications « legacy » Message Driven Beans PSM (Plateform- Specific Model) Mapping PIM vers PSM Processus business et entit é s modelé s au niveau PIM Gén ération automatique avec les mappings Nommage et répertoire (JNDI) Messaging (JMS) « englober CORBA, J2EE, XML, .NET et les autres technologies » Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 28 Écoledes Mines de Nancy – SI151- 2005-2006 29 30 5 Composants dans l’univers Java Applets et JavaBeans Applets (J2SE) JavaBeans (J2SE) Enterprise Java Beans (J2EE) Servlets/JSP (J2EE) Composants d’application cliente (J2EE) Servlets/JSP Applets : Servlet : Composants légers Téléchargeables pour les clients (navigateurs Web) Modèle de sécurité fort Esprit des applets, côté serveur Composants légers instanci és par les serveurs Web Exécuté JSP : JavaBeans : Programmation « connection-oriented » (« wiring ») Flux d’év ènements entre des sources et des « listeners » Clients (le plus souvent) et serveurs Support pour la conception visuelle d’applications Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 31 EJB Écoledes Mines de Nancy – SI151- 2005-2006 32 EJB Services intégrés dans des conteneurs d’EJB Beans Nécessité de déclarer leurs attributs Besoin de « descripteurs de déploiement » Différent des Java Beans ! : 33 Application client components 4 types de E-Beans Applications non contraintes côté client Utilisant JNDI pour accéder aux propriétés de l’environnement, aux EJB, et ressources sur les serveurs Stateless Session Traitement, workflow Sans état Stateful Session Traitement, workflow Composition « orient ée objet » « code Java et HTML entrelacés » Pour la présentation Définition d éclarative : génération automatique de pages Web (et des servlets correspondantes) Interprété Avec état Création d’instances, appels de méthodes Entity Pas très adapté au « wiring » Mémoriser un composant métier Partage entre plusieurs utilisateurs Point fort : composition contextuelle Message Driven (depuis EJB 2.0) (MOM) Middleware orientés message : point à point ou publication/souscription Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 34 Écoledes Mines de Nancy – SI151- 2005-2006 35 36 6 Directions explorées par Sun Les composants selon Microsoft Jini Fédérations de clients et de services Java (protocole de découverte de services) Service de noms, transactions réparties, év ènements COM Chemin choisi : construire ses propres applications et plateformes, et les modifier continuellement (pas de standard global) Composants s’améliorent au fur et à mesure VBX (non orienté-objet!), OLE (Object Linking and Embedding), … ActiveX, ASP (Active Server Page). JXTA « juxtaposition » P2P Focus sur l’Internet et le Web (IETF, W3C) Standards ECMA pour les spécifications .NET (CLI et C#) Écoledes Mines de Nancy – SI151- 2005-2006 37 DCOM, OLE/ActiveX, COM+ Mapping des types simples de données vers et depuis des flux d’octets Standard binaire OLE Object Linking and Embedding Combiner les applications « legacy » Paradigme « document -centric » Collection prédéfinie d’interfaces COM OCX : très lourds ActiveX : certaines interfaces sont optionnelles, interfaces « sortantes » et propri étés (modifiables par l ’application ou l’utilisateur : Look and Feel) transactions, messages asynchrones, clustering, équilibrage de charge Écoledes Mines de Nancy – SI151- 2005-2006 40 A influencé d’autres modèles (XPCOM de Mozilla, CCM de l’OMG) Standard « binaire » 39 CLR (Common Language Runtime ) COM+ Écoledes Mines de Nancy – SI151- 2005-2006 Op n Composant .NET VBX, OCX puis ActiveX Composants COM implantant une des interfaces prédéfinies (serveurs de documents et évènements essentiellement) interprocessus dans COM, inter - machine Op 2 Écoledes Mines de Nancy – SI151- 2005-2006 OLE Control Distributed COM Client -Side Proxy et Server-Side Stub : Microsoft et Macintosh Tierces parties (HP) Op 1 38 DCOM, OLE/ActiveX, COM+ DCOM Modèle initial : COM vtable Interface Node Pas de description de la liaison avec des langages de programmation particuliers Objets : ni favorisés ni déniés Seule d éfinition : l’interface Récemment : Écoledes Mines de Nancy – SI151- 2005-2006 Variable du Client Implantation de : CLI (Common Language Infrastructure) : spécification ECMA Continuation/interopérabilité de/avec COM Chargement/d échargement dynamique, ramasse- miette, reflection , persistance etc… indépendamment du langage C#, Jscript , Managed C++, VB .NET Modules en CIL (Common Intermediate Language) Sorte de bytecode Assemblies : unités de déploiement (sorte de fichiers jar) Écoledes Mines de Nancy – SI151- 2005-2006 41 42 7 .NET, Composants .NET Evolution Application Flux XML Application cliente Windows Service Web WebForm WinForm SOAP Cible à 3 niveaux ASP. NET Page HTML Code Behind (code compilé) Interopérabilité 2 à 2 des différentes visions Services Web Plateformes de d éploiement (côtés clients et serveurs) Plateforme de d éveloppement Composants « tout XML » Assembly Composants fonctionnels ADO.NET CLR Base de Données ADO Enterprise Services (ex COM+) Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 43 Quelques chiffres Écoledes Mines de Nancy – SI151- 2005-2006 44 XML 45 L’émergence d’XML Gartner (USA Août 2004) eXtensible Markup Language, W3C (1998) Représentation de données (partiellement) structurées BD : 40% Java/J2EE, 41% .NET Outils : 24/25% Microsoft/IBM … Open Source 5% Travail sur les Web Services : 50% Travail sur le SOA : 30% .NET perç u comme « solution pour Web Services » par 70% organisation plutôt autour de tables Comparé à XML : 49% : solution complète et intégrée IDEO (France sept 2004) plutôt arbres, mais autres structures aussi >60% Java/J2EE / <40% .NET Frameworks J2EE Si on a des données non–structurées : y faire référence depuis le document XML Utilisés par 56% 68% Open Source, 1/3 interne, 17% commerciaux Web Services : 50% int éressés, 18% projet pilote 40% prometteur, 38% manque de recul Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 46 Écoledes Mines de Nancy – SI151- 2005-2006 47 48 8 XML Principes Représentation de données Messages Pages Web Documents traditionnels Données de configuration <cours> <titre> XML Web Services </titre> <chapitre> <numero > 1 </numero > <titre> Bases du XML </titre> <contenu> quelques informations </contenu> </chapitre> <chapitre> … </chapitre> </cours> Contraintes sur la validit é d ’un document Définition de grammaires : XML est un Meta-Langage Expression faible (type, structure) XML Schéma Langage XML de définition de grammaire XML MathML, NewsML, XMI, Doc, Slides, … Extensible Séparation de la forme et du fond Racine unique du document Non extensible Largement utilisé L’utilisateur peut créer de nouvelles balises éléments, attributs XML, texte non structuré Deux fa çons de d éfinir une grammaire XML : DTD (Document Type Description) Langage de définition de grammaire XML Ensemble non fini de balises Langage commun (syntaxe) Éléments XML Grammaire Interaction avec autres standards XML (XML Namespace et Xpath) Un document XML peut être constitué de deux entités (le fond et la forme) De + en + utilisé Expression puissante (type, structure, héritage) Un document XML est dit valide lorsqu’il est conforme à une grammaire Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 49 XML Namespace : Espaces de noms Écoledes Mines de Nancy – SI151- 2005-2006 50 XML-Web Services : un nouveau Middleware Pourquoi XML? Mécanismes permettant de partitionner les balises XML (permet d’avoir deux fois le même nom de balise) Un espace de nom est défini dans n’importe quelle balise par l’attribut xmlns et par une URI. Dans un document XML, un espace de noms est identifi é par un nom logique, les balises appartenant à cet espace doivent alors être préfixées par ce nom logique. Ex : <meta:body xmlns:meta="http://meta.lip6.fr/meta/" Écoledes Mines de Nancy – SI151- 2005-2006 Standard W3C La syntaxe XML ne contient que peu de mots clefs : Simplicité XML est indépendant des plates -formes : Portabilité XML est un m éta-langage, il est possible de créer ses propres balises : Extensibilité Outils disponibles (et gratuits) « les Web Services » Largement utilisé pour les échanges inter -applications Écoledes Mines de Nancy – SI151- 2005-2006 52 51 Écoledes Mines de Nancy – SI151- 2005-2006 53 54 9 Limitations des middlewares Limitations des middlewares Passage à large échelle : Web Protocoles hétérogènes Inconvénients intrinsèques Complexité IIOP, RMI, DCOM Firewall Plates-formes Compétences Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 55 Plateforme pour les WS Grid Business Process Reliability Transaction Messaging … Applications et infrastructure applicative 57 Exemple : achat de véhicule en ligne Besoin de connectivité, d’interaction, d’interopérabilité, intra et inter-organisation dans le cadre du Web Donc ce sont les standards du Web et donc le XML et le modèle de Web Service qui fournissent une couche d’intégration prometteuse, pour toutes les technologies y compris celles des composants Client Application Web TCP SMTP Service « profile client » Service « assurance moins chère » Fondation Service « prêt plus bas » XML HTTP Transformation Service « voiture moins chère » Agrégation Management Metadata Security B2B Écoledes Mines de Nancy – SI151- 2005-2006 56 XML Web Services Platform Mobile Portage d’applications existantes difficile Solutions non standards Prix Doit posséder les souches Difficulté de construire dynamiquement EAI CORBA vers DCOM CORBA, EJB, .Net, … Trop de contraintes sur le client ! Devices RMI / IIOP Passerelles Pérennité : remise en question Notion de moteur de recherche inexistante P2P Modification du Protocole CORBA : IDL, Mapping, … EJB : Container, JNDI, … Pas d’ouverture des services Connected Applications Solutions existantes Transport Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 58 Écoledes Mines de Nancy – SI151- 2005-2006 59 60 10 les Web-Services Approche Envisagée Applications modulaires, autodescriptives , publiables, invoquées par des protocoles du Web. Acteurs •Client (invoque) •Fournisseur (service) 3 spécifications associées basées sur XML •SOAP : invocation des services (transport des données) •WSDL : description des services offerts (méthodes invocables) •UDDI : annuaire permettant la découverte des services par le client •Annuaire (informations) 2: Découverte Annuaire UDDI SOAP Remote Object Invocation XML-RPC SOAP (Simple Object Access Protocol) Basé sur XML Portabilité, H étérogénéité Porté par des protocoles large échelle existants HTTP, SMTP, … Paradigme orienté service : WSDL Découverte automatique des services (dynamicité) : UDDI Middleware 2: Invocation Un nouveau protocole : SOAP Définition de services offerts (en XML) 1: Inscription Web Service Client Vers SOAP Interface WSDL Application métier L’adresse de l ’invocation Embarque une large gamme de types de donn ées dans les messages d’invocation Décrit les parties obligatoires et optionnelles Référentiel de Web Service (Pages Jaunes, Vertes, Blanches) Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 61 XML Web services 62 SOAP WSDL, UDDI, WSFL, XLANG Reposent sur SOAP Services offerts par des serveurs Web SOAP (exemple) Protocole d’échange de messages (client / serveur) Basé entièrement sur XML Standard W3C (Initiative IBM et Microsoft) Actuellement SOAP 1.1/1.2 Pas pour les individus Mais pour d’autres systèmes enveloppe ( Header + Body ) Corps Porté sur HTTP, SMTP, FTP… POST / InStock HTTP/1.1 Host: www.stock. org Content -Type: application/ soap+xml; charset=utf-8 <soap:Envelope xmlns:soap=http://www.w3. org/2001/12/soap-envelope Message = Enveloppe En-tête Extensibilité Requête Content -Length: nnn <?xml version="1.0"?> Concepts WS-I Web Service Interoperability (WS-I Organisation) 63 soap:encodingStyle="http://www.w3. org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock. org/stock"> Faute <m: GetStockPrice> Contenu </m:GetStockPrice> <m: StockName>IBM</m:StockName> </soap:Body> </soap:Envelope> Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 64 Écoledes Mines de Nancy – SI151- 2005-2006 65 66 11 SOAP (exemple) Description des Services Web Réponse Découverte de Web Service WSDL : Web Service Description Language Langage de définition de Web Services Basé entièrement sur XML Standard W3C (Initiative IBM et Microsoft) HTTP/1.1 200 OK Content -Type: application/ soap; charset=utf-8 Content -Length: nnn <?xml version="1.0"?> <soap:Envelope xmlns:soap=http://www.w3. org/2001/12/soap-envelope Actuellement WSDL 1.1 soap:encodingStyle="http://www.w3. org/2001/12/soap-encoding"> <soap:Body Définition de l’interface, de l’URL et du port du Web Service. Utilise le système de typage de XML Schéma xmlns:m="http://www.stock. org/stock"> <m: GetStockPriceResponse> <m: Price>34.5</m:Price> </m:GetStockPriceResponse> UDDI : Universal Description, Discovery and Integration Référentiel de définitions Web Service Permet de construire dynamiquement des clients Recommandation OASIS Référentiel défini lui-même en WSDL Référentiel Public / Privé </soap:Body> </soap:Envelope> Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 67 Orchestration/Chorégraphie Moteur WS1 orchestration requête 1 Client requête A partir du réponse Moteur d’orchestration (centralisé) Business Process Modeling (BPM) 68 WS2 WS3 2 Exemple : achat de véhicule en ligne (suite) Client 3 4 1 3 2 visions : Orchestration : vision centralisée 6 5 2 Application Web 4 WS2 WS3 réponse requête Chorégraphie : vision globale des interactions réponse WS WS1 WS2 WS3 chorégraphié requête 1 3 4 1 5 2 Service « assurance moins chère » Sécurité dans/pour les Web Services ! Tout est Web Service Authentification Autorisation Confidentialité Intégrité Garage 1 Garage 2 Modèles propos és Garage 3 Agence 1 Service « prêt plus bas » Banque 1 Banque 2 Banque 3 3 réponse WS1 Services de sécurité Service « profile client » Agence 2 2 Web Service (« chorégraphié ») W3C WS-CDL Pas de produits Agrégation Client Transformation Service « voiture moins chère » 5 6 WS1 BPEL (Business Process Execution Language) d’ OASIS Produits 69 WS2 4 Pour XML XML Signature XML Encryption SAML -XML (Security Assertions Markup Language) XACML (Extensible Access Control Markup Language) XKMS (XML Key Management Specification Pour WS WS-Security : messages SOAP ( et WSDL) sécurisés WS3 Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 70 Écoledes Mines de Nancy – SI151- 2005-2006 71 72 12 Niveaux de service Service Level Agreement SLA / SLS : vue réseau ØUn SLA est établi entre un client et un fournisseur de service. SLA : Service Level Agreement SLA ØSLA intra-domaine SLS : Service Level Specification Un SLA est un contrat entre un fournisseur et un client garantissant des niveaux de performance et de fiabilité à un certain coût. Les SLA peuvent être utilisés pour établir les besoins en disponibilité, fiabilité, temps de réponse, etc. Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 73 Structure d’un SLA : application aux Web Services Désignation des parties Période de validité Services fournis Service Level Specifications Pénalités Reporting Informations juridiques SLS ØSLA inter-domaine ØUn SLS est la partie technique du SLA. ØUn SLS est utilisé par un fournisseur de réseau pour configurer les éléments de son réseau afin de ne pas violer le SLA. Écoledes Mines de Nancy – SI151- 2005-2006 74 Indicateurs de niveau de service pour les Services Web 75 Problèmes WSLA Participants Négociation des paramètres Définitions de service Obligations Temps de réponse Disponibilité Vérifications de la validité/ du respect des contrats Bande passante Niveau de sécurité Pénalités / compensation Fréquence de pannes Temps de résolution d’une panne Sécurisation Temps d’enregistrement Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 76 Écoledes Mines de Nancy – SI151- 2005-2006 77 78 13 Produits sur le marché Et l’Open Source BEA WebLogic 8 et 9, framework Beehive IBM WebSphere (6.0) et Atlantic Microsoft .NET , WSE (Web Service Enhancement) HP Netaction Borland Compuware WebMethod … Sun One Apache Software Foundation Concepts : BEA a offert Beehive à Apache Et l’Open Source Pas d’administration ou de monitoring Jonas (Java Open Application Server - ObjectWeb) Serveur d’application « middleware opensource » Axis JaxMe (Java XML binding ) XML-RPC jUDDI (Java UDDI) SOAP WSFX (Web Service Functionality Extension) Mono .NET WSS4J (WS Security) Etc … WSIF (Web Service Invocation Framework), WSIL (Web Service Inspection Language), WSRP4J (Web Service 4 Remote Portlet) « On Demand » d’IBM « Agile » de Microsoft Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 79 Business Process Écoledes Mines de Nancy – SI151- 2005-2006 80 Directions et conclusion Références Int égration des architectures existantes parallèlement aux Web Services Mise en œuvre de la logique métier Clustering : Commercial Amberpoint, Actional, Blue Titan Equilibrage de charge JBPM (définitions de processus basé s sur UML/J2EE) Open Business Engine (norme WfMC workflow management coalition), J2EE « Component Software, Beyond Object Oriented programming » « J2EE et les Design Patterns » Prometteur mais encore immature Standard Interopérabilit é Xavier Blanc (transparents de cours) Christophe Bouthier (transparents de cours) Francine Krief (transparents) Réutilisation Assemblage souple de composants Werflow (BPML et BPELWS) Etc… Clemens Szypersky Sacha Krakowiak Deepak Alur et al. Réplication de session Open Source 81 Mais la diff érentiation se fait par des « services » non standards Écoledes Mines de Nancy – SI151- 2005-2006 Écoledes Mines de Nancy – SI151- 2005-2006 82 Écoledes Mines de Nancy – SI151- 2005-2006 83 84 14