Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Introduction aux Services Web
belkhir a
2
Vue d’ensemble Du web des humains…
HTML dans le navigateur BD relationnelle sur le serveur, sites web dynamiques …au web des machines : communication directe entre applications hétérogènes. Des principes anciens… Appels de procédures distants architectures distribuées (CORBA, DCOM) …dans un contexte nouveau le web, XML, Commerce électronique à grande échelle 07/04/2017 belkhir a
3
Le Web aujourd’hui Protocole: HTTP Documents: HTML
Des millions de sites web indépendants, des milliards de pages Navigation et recherche par mots-clés Publication de bases de données, accessibles à travers des formulaires. 07/04/2017 belkhir a
4
les services web Possibilité d’invoquer une fonction sur un serveur web distant Fournit une infrastructure souple pour les systèmes distribués, basée sur XML 2 applications principales Commerce électronique Accès à des bases de données distantes 07/04/2017 belkhir a
5
Un exemple SOURCE : W3C 07/04/2017 belkhir a
6
La vision: Trouver quelque chose
Interroger un annuaire : qui fournit des Choses? Négocier avec les fournisseurs potentiels Nature exacte du service fourni Qualité/coût/etc. Interagir avec le service du fournisseur choisi Connaître les modalités d’interaction Introduire le service dans ma chaîne de traitements Eventuellement composer des services Eventuellement publier mes propres services 07/04/2017 belkhir a
7
Principe général d’architecture
SOURCE : W3C 07/04/2017 belkhir a
8
Un service web en action
Client du Service Web Annuaire UDDI Trouver un fournisseur de service (UDDI) Lien vers un document WSDL Fournis-seur du Service Web Modalités d’interaction (WSDL) Description du service Echanges réels (SOAP) XML/SOAP body SOURCE: SIMON HUTSON, KPMG 07/04/2017 belkhir a
9
Idée principale: Intégration de technologies existantes en utilisant les standards du Web
soap Distributed Computing (Corba) Web search uddi wsdl IDL Knowledge representation BPEL4WS workflow XML 07/04/2017 belkhir a
10
Organisation Introduction Prérequis: XML Le protocole SOAP
Similaire à Corba (en plus simple) Similaire à IDL Introduction Prérequis: XML Le protocole SOAP Description des services web: WSDL Annuaire des services web: UDDI Pour aller plus loin… Conclusion Les Pages Jaunestm 07/04/2017 belkhir a
11
SOAP (ex) Simple Object Access Protocol
07/04/2017 belkhir a
12
Les points forts de SOAP
Protocole de communication entre applications: Sans état Unidirectionnel Indépendant du protocole de communication. Basé sur XML et les namespaces. Permet d’utiliser les protocoles du Web (HTTP/SMTP/…) Indépendant de la plateforme (windows, unix, mac, …) Simple et extensible 07/04/2017 belkhir a
13
Principes de SOAP Permet d’envoyer des messages XML entre deux machines. Les messages sont « emballés » dans une enveloppe SOAP L’enveloppe SOAP utilise un XML schéma prédéfini Le schéma du message dépend de l’application Application Message (Application-Specific grammar) SOAP Envelope (SOAP grammar) 07/04/2017 belkhir a
14
Anatomie d’un message SOAP
Corps de message: SOAP Body C’est la partie qui dépend de l’application Conventions pour faire du RPC Gestion des erreurs: SOAP Fault Code Reason: compréhensible par un humain Entêtes: SOAP Header des méta-données pour un ou plusieurs destinataires du message. Des moyens pour contrôler qui doit traiter quelle entête 07/04/2017 belkhir a
15
La pile réseau Determine comment un message est envoyé. SOAP envelope
extensions Security Manageability Quality of Service SOAP Header XML HTTP SMTP FTP… XML messaging Data encoding Network protocol Determine comment un message est envoyé. 07/04/2017 belkhir a
16
WSDL : Web Services Description language
07/04/2017 belkhir a
17
Principes Un langage (en XML) de description des services fournis par un serveur. Une description de type « boîte noire » de ces services : Quelles sont les opérations disponibles ? Comment on y accède (adresse, protocole,…) Quel est le format des messages échangés entre le client et le serveur: Pour invoquer le service Pour interpréter les résultats …mais rien sur ce qu’ils font vraiment (leur sémantique). Types XML Schema des entrées sorties. 07/04/2017 belkhir a
18
Structure d’un document WSDL
Un service est composé de plusieurs opérations. Chaque opération peut avoir une entrée et/ou une sortie. Chacun de ces messages est composé de plusieurs parties. Chaque partie est décrite par un type. Ces éléments sont associés par des bindings à un protocole particulier. Pour un protocole donné, les opérations associées constituent un port, associé à une adresse. 07/04/2017
19
Types : Définition XML Schema des données
Service Port Binding <types> <schema targetNamespace=" xmlns=" <element name="TradePriceRequest"> <complexType> <element name="tickerSymbol" type="string"/> </complexType> </element> <element name="TradePrice"> <element name="price" type="float"/> </schema> </types> Port Types Operations Messages Types 07/04/2017 belkhir a
20
Messages : Collections de types
Service Port Binding Port Types Operations <message name="GetLastTradePriceInput"> <part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> Messages Types 07/04/2017 belkhir a
21
Operations : Fonctions disponibles
Service Définition du pattern d’intéraction par les entrées-sorties : Input only Output only Input-Output Output-Input Port Binding Port Types Operations <operation name="GetLastTradePrice"> <soap:operation soapAction=" <input> <soap:body use="literal"/> </input> <output> </output> </operation> Messages Types 07/04/2017 belkhir a
22
Port Types (interfaces): Ensembles d’opérations
Service Port Binding Port Types <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType> Operations Messages Types 07/04/2017 belkhir a
23
Binding : Associe des protocoles aux méthodes
Service Trois types de bindings : SOAP HTTP GET & POST MIME Port Binding <binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType"> <soap:binding style="document“ transport=" <operation name="GetLastTradePrice"> <soap:operation soapAction=" <input> <soap:body use="literal"/> </input> <output> </output> </operation> </binding> Port Types Operations Messages Types 07/04/2017 belkhir a
24
Port : Associe une addresse (URL) à chaque Binding
Service Port <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location=" </port> Binding Port Types Operations Messages Types 07/04/2017 belkhir a
25
Service : ensemble de ports
<service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location=" </port> </service> Port Binding Port Types Operations Messages Types 07/04/2017 belkhir a
26
Implémentation des services web
07/04/2017 belkhir a
27
De nombreux acteurs Microsoft .Net J2EE (Sun, IBM, etc...)
Implémentations open-source … Intéropérabilité : Les services des uns sont utilisables par les autres ! WS-I.org: Web Services interoperability organization 07/04/2017 belkhir a
28
UDDI : Universal Description, Discovery and Integration (of services)
07/04/2017 belkhir a
29
UDDI Où trouver le service dont j’ai besoin ?
Quels sont les fournisseurs potentiels ? Lequel est le meilleur pour moi ? Noyau: annuaires – les pages jaunes Liste d’entreprises + comment les contacter Classification en catégories (à la Yahoo!) Informations en +: protocole, coût, qualité, contrat… Question cruciale : Qui contrôle l’annuaire ? Par exemple: qui contrôle les catégories ? Qui peut s’enregistrer dans l’annuaire ? 07/04/2017 belkhir a
30
Les clients choisissent des services
UDDI (2) Consortium industriel (IBM, Microsoft,…) + de 200 entreprises. Moyens de publier et de rechercher des services Beaucoup de bruit Limité Peu de services Langage d’interrogation primitif Informations très limitées Les entreprises enregistrent Des services UDDI IBM UDDI Microsoft réplication Les clients choisissent des services 07/04/2017 belkhir a
31
Business Registrations
Fonctionnement Marketplaces, search engines, and business apps query the registry to discover services at other companies 4. 1. Companies, standards bodies, and programmers populate the registry with descriptions of different types of services Business Registrations Businesses populate the registry with descriptions of the services they support 2. UDDI Business Registry Business uses this data to facilitate easier integration with each other over the Web 5. Service Type Registrations The process of UDDI should be obvious now. First, software companies, standards bodies, and programmers populate the registry with descriptions of different types of services Next, businesses populate the registry with descriptions of the services they support Then, the UDDI Business Registry assigns a programmatically unique identifier to each service and business registration Finally, Marketplaces, search engines, and business apps query the registry to discover services at other companies and businesses use this data to facilitate easier integration with each other over the Web © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved. 3. UBR assigns a unique identifier to each service and business registration SOURCE: UDDI.ORG 07/04/2017 belkhir a
32
Contenu d’un annuaire White pages: les entreprises
Adresse, numéro de tel, Catégorie d’activité Yellow pages: les services Description textuelle Classification en catégories Green pages: infos techniques Descriptions WSDL BusinessEntity BusinessService BindingTemplates tModel publisherAssertion Spécifs de services et taxonomies Relations entre deux parties Infos techniques 07/04/2017 belkhir a
33
Pour aller plus loin Sécurité Composition et orchestration Sémantique
07/04/2017 belkhir a
34
Sécurité des services web
Principales fonctions : Confidentialité Authentication Integrité des messages Non-repudiation Infrastructure Cryptographie Systèmes à clé publique, tels que RSA 07/04/2017 belkhir a
35
Sécurité des services web (2)
HTTP fournit un méchanisme d’authentication très simple SSL: secure socket layer; un protocole pour transmettre des données encryptées HTTPS = HTTP over SSL: très utilisé XML digital signature non-repudiation XML encryption SSL encrypte le message en entier; problème des intermédiaires. XML encryption permet d’encrypter de manière sélective 07/04/2017 belkhir a
36
Composition et orchestration
Comment définir des intéractions entre services en créer de nouveaux, par composition S’apparente aux : Systèmes de workflow Transactions Domaine très actif Travaux de recherche Spécifications industrielles (ex: IBM WSFL, BPEL4WS, WSCI…) 07/04/2017 belkhir a
37
Conclusion 07/04/2017 belkhir a
38
Les points forts des services web
XML comme norme et modèle de données Le Web comme terrain de jeu La standardisation (w3c, OASIS) Intéropérabilité La modularité et l’extensibilité des specs : Choix du protocole Synchrone / asynchrone 07/04/2017 belkhir a
39
Vision d’ensemble La conception d’applications devient de la gestion de flux entre services et d’évenements Les services atomiques sont vus comme des ensembles de fonctions invocables Les services peuvent: Être situés n’importe où Appartenir à n’importe qui Être développés avec tous types d’outils S’executer sur n’importe quelle plateforme Les applications utilisent les services selon leurs besoins Elles les découvrent grâce à UDDI Peuvent négocier leur utilisation dynamiquement Les choisir et les exécuter en temps réel. SOURCE: IDC 07/04/2017 belkhir a
40
Courte bibliographie XML – Extensible Markup Language XML (W3C): XML Schema – XML Schema: Xquery – XML Query: W3C WS – Web Services Activity: HTTP – Hypertext Transfer Protocol: SOAP – Simple Object Access Protocol: WSDL – Web Services Description Language: OMG – Object Management Group : CORBA – Common Object Request Broker Architecture, see OMG UDDI – Universal Description, Discovery, and Integration: WSFL – Web Services Flow Language: WSCI – Web Services Choreography Interface: Apache Axis – J2EE – Java 2 Platform, Enterprise Edition: 07/04/2017 belkhir a
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.