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

Cours 4 : Web Services &UDDI & WSDL Objectifs Architecture Protocole Web (RPC, SOAP) Orchestration Sécurité Conclusion.

Présentations similaires


Présentation au sujet: "Cours 4 : Web Services &UDDI & WSDL Objectifs Architecture Protocole Web (RPC, SOAP) Orchestration Sécurité Conclusion."— Transcription de la présentation:

1 Cours 4 : Web Services &UDDI & WSDL Objectifs Architecture Protocole Web (RPC, SOAP) Orchestration Sécurité Conclusion

2 1. Objectifs des S.I. uAccès rapide, intégré et généralisé à linformation pertinente l en interne (Intranet) et en externe (Extranet, Internet) uSystème ouvert réduisant les coûts l capable d'inter-opérer avec les applications existantes l capable d'inter-opérer avec le monde extérieur (Extranet, Internet) uDéveloppement rapide dapplications (RAD) l utilisation de composants distribués l réduction des coûts de développement uAdministration simplifiée du système l depuis le Web avec des outils d'assistance

3 Besoins des Applications Web uAccès programmable à des services l Cours de bourse l Entrées d'annuaires l Autorisation de cartes de crédits l Authentification d'un client l Enregistrement de clients l Recherche Web, … uInterface d'accès par fonctions l URL longues contraignantes (ASCII, plats, 255) l Pouvoir découvrir dynamiquement les services l Paramètres structurés et diversifiés

4 Exemple d'applications uDiffusion d'information l horaires, incidents, états de stocks, etc. uDocumentation automatique l librairie électronique, manuels, maintenance, etc. uGestion de sites Web dynamiques l présentation, marketing, veille technologique, etc. uCommunication et "knowledge management" l échanges de données, gestion ressources humaines, etc. uCommerce électronique l présentation, sélection, transaction, médiation, etc.

5 2. Architecture Web Services Service Requester Service Provider Service Provider Service Provider Service Provider WEB-HTTP CLIENT Service Registry Request Publish Find SERVEUR

6 Qu'est ce qu'un Web Service ? uDéfinition [W3C] l Un Web service est un système logiciel identifié par une URI, dont les interfaces publiques et les liens sont définis et décrits en XML. l Sa définition peut être découverte par d'autres systèmes logiciels. l Ces systèmes peuvent interagir avec le service Web d'une manière prescrite par sa définition, en utilisant des messages XML portés par les protocoles Internet. uExposition l Langage WSDL utilisé pour décrire le service l Similaire à IDL mais basé sur XML uActivation l Protocole Web au-dessus de HTTP (RPC XML, SOAP) l Autres protocoles possibles …

7 Les Composants uService Provider (Fournisseur de service) l Application s'exécutant sur un serveur et comportant un module logiciel accessible par IxxNet en XML uService Registry (Annuaires de service) l Annuaire des services publiés par les providers (UDDI) l Géré sur un serveur niveau application, entreprise ou mondial uService Requester (Demandeur de service) l Application cliente se liant à un service et invoquant ses fonctions par des messages XML (SOAP)

8 Description des services: WSDL uElément Type l Types des paramètres (schéma XML) uElément Message l Appel et retour de chaque opération uElément Port type l Groupe d'opération uElément Binding l URL de l'opération l Type de protocole

9 Description en WSDL … … … …

10 Annuaire des services: UDDI uUniversal Description, Discovery and Integration uAnnuaire des services l décrit par un document l WSDL, spec. EJB, autre … uAccessible en SOAP uFonctions l Enregistrer votre société l Enregistrer des services l Enregistrer des opérations l Découvrir des services l … Annuaire UDDI Gérant de requêtes Enveloppe + Document Programm e Dde de Service Annuaire UDDI

11 Contenu de lannuaire uPages blanches (businessEntity) l BusinessKey l Name l Description l CategoryBag l BusinessServices uPages jaunes (businessService) l ServiceKey l BusinessKey l Name l Description l CategoryBag l BindingTemplates uPages vertes (bindingTemplates) l BindinKey l ServiceKey l Description l AccessPoint uContenu défini par un schéma XML uSpécifications pour réplication BusinessEntity BusinessService BindingTemplates tModel publisherAssertion Spécifs de services et taxonomies Relations entre deux parties Infos techniques

12 uUn service Web est une « unité logique applicative » accessible en utilisant les protocoles standard dInternet uCaractéristiques: l Réutilisable l Indépendamment de ula plate-forme (UNIX, Windows, …) ulimplémentation (VB, C#, Java, …) ularchitecture sous-jacente (.NET, J2EE, …) Un Service Web, cest quoi ?

13 Web Services

14 Modèle des services

15 Annuaire UDDI Client XML Le Cusmar a compris comment invoquer ce service et tenvoie un document XML représentant sa requête Serveur Le Cusmar a trouvé ! Voici le serveur hébergeant ce service web « Quel format dappel au service proposes-tu ? », demande le Cusmar Contrat SOAP Contrat SOAP Voici mon contrat (WSDL) XML Jai exécuté ta requête et je te retourne le résultat Le Cusmar recherche un service WEB

16 Fonctionnement de Web Services

17 Web Services : Place de XML uUne technologie "enabling" l description et invocation des services l similaire à CORBA (IDL/IIOP) ou DCOM, mais textuel et Internet l peut être intégrée en sur-couche à l'existant l facilite l'interopérabilité et la connaissance uEncapsulation des protocoles existants l échange de données (résultats) l échange de requêtes (RPC) l contrôle de transactions (AXTP) uUn nouveau protocole du W3C l SOAP l Web Protocol (WP) uApporte lisibilité, validation, contrôle, interopérabilité l IBM, Sun, Microsoft supporteront le même WP

18 3. XML-RPC et SOAP uXML-RPC l Appel de procédure distante sur Internet uRequête en XML uRésultat en XML l Utilisable au-dessus de HTTP uFormat MIME text/xml uDifférents formats de paramètres possibles uSOAP et WP du W3C l Protocole plus complet et objet l Sur HTTP, , FTP, MQ, IIOP, etc. l WP : ouverture, interopérabilité, sécurité...

19 Architecture type Application Java Client Autre serveur Browser... SERVEUR SOAP Documents Handlers SOAP RunTime Data Transaction WSDL Creation Application logic Donnees et acces aux aux objets Services Noyau XML Parser, DOM, XSL, XQL, Xpointer, DOMlets Classes Java, Securite, Gestion du cache Serveur HTTP IxxNet PROXYPROXY

20 SOAP uSimple Object Access Protocol uIntégration de XML au-dessus de HTTP : l Pour accéder services, objets et serveurs l Indépendant de toute plate-forme uCodage universel XML par opposition aux spécifiques : l DCOM - DCE/NDR l CORBA - IIOP/CDR l JAVA - RMI/JRMP l RDA - XDR uRésolution des problèmes de sécurité : l Les firewalls supportent des ports spécifiques (HTTP, FTP) l La plupart des middlewares assignent des ports dynamiques … uAssocié à WSDL pour publication d'interfaces

21 Un échange type Application Cliente Parser XML Procuration d'interface Translateur SOAP Parser XML Serveur d'application Messages SOAP Appel Réponse HTTP RPC local Port de connexion (URL) Pare-feu

22 Eléments d'un message uEnvelope l Élément pouvant contenir des déclarations d'espaces de noms ou des sous-éléments uHeader l Élément optionnel fils de Envelope l Permet des extensions telles que authentification, session, etc. uBody l Élément obligatoire fils de Envelope l Définit la méthode appelée, contient les paramètres l Peut contenir un élément Fault en cas d'erreur

23 Structure d'un message Protocol Headers SOAP Envelope SOAP Header SOAP Body Entête de protocoles (HTTP, SMTP, …)

24 Exemple uwww.stockquoteserver.comwww.stockquoteserver.com ufloat GetLastTradePrice (Symbol) uLe dialogue : Application Middleware SOAP HTTP Application Middleware SOAP HTTP Request Reply Error

25 Le WSDL de l'exemple My first service

26 La requête uPOST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI#GetLastTradePrice" DIS Standard HTTP

27 La réponse uHTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn 34.5 Standard HTTP

28 Bilan SOAP uProtocole dinvocation de services Web l Lisible et extensible l Intégré à HTTP l Passant les firewalls l Description en WSDL l Pousser par Microsoft, IBM, Ariba uCORBA ou DCOM « killer »? l Associé à nomination des objets l Véritable échange de messages entre objets l Performance ?

29 4. Stratégie des constructeurs uOutil de développement.NET l.net Framework SDK (//msdn.microsoft.com/webservices) l Support depuis Visual Studio.Net l Développement en tout langage (VB, C++, C#) l Deux composants essentiels uCommon Language Runtime (MSIL) u.net class Libraries (GUI, DB, ASP, …) uAu cœur des systèmes MS l Evolution de DNA vers.net, Visual Studio.net, … l Compilation des langages MS en MSIL l Machine virtuelle pour l'exécution l Semblable à Java mais MS

30 Architecture.NET VBC++JScript…C# ASP.NETADO.NETBCL.NET Common Language Runtime (CLR) Windows et COM+ Services SOAP & XML Toolkits Visual Studio.NET Stratégie

31 Exemples d'applications uMS Office (Word, Excel, Power Point, …) l Services = composants distribués l Accès par abonnement uHailStorm devenu.net MyServices l Communication par SOAP ue-Commerce et ebXML l Intégration de protocoles de e-commerce l Complément de UDDI pour le e-commerce l Remplacement de l'EDI traditionnelle EDIFACT

32 Exemple: Google uSearch requests l Soumet une requête avec un ensemble de paramètres à Google Web APIs service et reçoit en réponse un ensemble de résultats de recherche. uCache requests l Soumet une URL à Google Web APIs service et reçoit en réponse le contenu de l'URL lors de la dernière visite du crawler Google. uSpelling requests l Soumet une requête à Google Web APIs service et reçoit en réponse une suggestion de correction orthographique pour la requête.

33 Statégie J2EE de SUN, IBM, … uJ2EE l Ensemble d'API pour Java2 uIntégration de RPC, SOAP, WSDL, … l API spécialisée pour Java-XML (JAX) l Java API for XML Processing (JAXP) l Java Architecture for XML Binding (JAXB) l Java API for XML Messaging (JAXM) l Java API for XML-based RPC (JAX-RPC) l Java API for XML Registries (JAXR)

34 Produits uApache SOAP (Apache project) l Servlet permet de déployer les services l Appel servlet depuis SOAP uWeb Services Toolkit (IBM, alphaWorks) l Générateur WSDL à partir de classe Java ou EJB l Générateur de Proxy client Java uSunOne l Produit similaire de SUN annoncé l Version béta en démonstration uAutres l BEA, Broadvision, etc.

35 Architectures inter-opérables Serveur de présentation XML HTML … Java, C++, C#, Word, Excel, … WEB SERVICES J2EE WEB Service XML Visual studio WEB SERVICES.NET

36 5. Transactions et Processus uObjectifs l Modéliser des processus d'affaires / métiers l Composer des services Web distribués l Intégrer uOrchestration d'activités uEchanges XML uGestion de transactions l Business Process Management uTransaction uWorkflow uExemple : réservation Début Réserver Avion Louer Voiture Réserver Train Réserver Hotel OK ? Echec Succès oui non

37 Exemple : Pilotage Fabrication Fournisseur ERP Usine Partenaire Echange B2B Mainframe Serveur d'entreprise Interface XML Client WEB

38 Architecture Web Services Protocoles de Transport HTTP, HTTPS, FTP, SMTP Echange de Messages SOAP Publication et Découverte WSDL, UDDI Assemblage et Orchestration Négociation Besoins Business

39 Pile de travail W3C

40 Support de transactions uSaga l Séquence de transactions l Compensations si échec... T1 T2 T3Tn T1T2CT2CT1 uTransaction simple l Atomique l Cohérente l Isolée l Durable

41 Définitions uComposition de services (Services Composition) l Techniques permettant d'assembler des services Web pour réaliser des processus métiers par des primitives de contrôles (boucles, tests, traitement d'exception, etc.) et d'échanges (envoi et réception de messages).

42 Modélisation par Workflow uDéfinition de processus l Interface l implémentation uFlux d'activités et de messages l Contrôle l Données uModélisation en XML l Langage d'orchestration l Chorégraphie commandeVacances reserverVacances reserverHotel reserverVoiture Commande/classe=1 reserverAvion Commande/classe=2 demandePaiement Commande/Partie2 Commande/partie1+partie2

43 De multiples propositions uWSFL l Langage de workflow d'IBM uXlang l Langage d'orchestration de Microsoft (BizTalk) uBPML l Workflow et orchestration de BPM.org uBPSS l Orienté B2B de ebXML uBPEL l Proposition commune de IBM, Microsoft et BEA l Fusion WSFL et Xlang l Intégration aux Web Services

44 Vers un véritable standard ? uTrop de "standards" tue le standard uIl y a aussi BPSS de ebXML uInitiative commune Microsoft, IBM et BEA l BPEL (Business Process Execution Language for Web Services) uCréation de groupes au W3C l WS-Choregraphy l WS-Transaction uLes implémentations sont déjà là l Intalio (BPML), BizTalk Server (XLang), l WebSphere (WSFL),...

45 6. En résumé... uInvocation dynamique de services WEB décrits en WSDL uSOAP est le protocole d'invocation (WP) sur HTTP ou autre uIntégrité et typage des données (schémas XML) uPossibilité de découvrir dynamiquement les services (UDDI) uLisibilité et sécurité renforcée (standard de cryptage) uIndépendance des constructeurs (W3C) uIntégration des transactions, des workflows et de la sécurité en cours


Télécharger ppt "Cours 4 : Web Services &UDDI & WSDL Objectifs Architecture Protocole Web (RPC, SOAP) Orchestration Sécurité Conclusion."

Présentations similaires


Annonces Google