Introduction aux Services Web

Slides:



Advertisements
Présentations similaires
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Advertisements

La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
Les Web Services Schéma Directeur des Espaces numériques de Travail
Introduction au langage C++
Xavier Blanc Web Services Xavier Blanc
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
CORRECTION DU DEVOIR DE SYNTHESE N° 2
En ville M. Rocque. 1/23/20142 le supermarché 1/23/20143 le parc.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Julien HERON.
Stéphanie CLAPIÉ Antoine RENARD
Les webservices Samira Silhadi-Hacid Malika Tarafi.
l'impact sur le eBusiness
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Reference Model of Open Distributed Processing
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
Les Web Services.
Introduction Concepts fondamentaux Éléments d’architecture
TP 3-4 BD21.
Génie Documentiel Delacrétaz Jean-Marc
Les Web Services avec .Net
Veuillez sélectionner une question:
Le Workflow et ses outils
Introduction aux services WEB
Tout Comme Une Vieille Chanson
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Les relations clients - serveurs
Tout Comme Une Vieille Chanson
LA LYMPHE 31/03/2017 Elisabeth Chaniaud.
Tout Comme Une Vieille Chanson
Soutenance de stage de fin d’études
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Web Services HTTP UDDI SOAP WSDL Besnik SELJIMI, Novembre 2003
Wiki pour les nuls le LGI
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
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.
Enseignant de cours : M. Bouzguenda Lotfi
OI-M/DLI IPT Asia Découpe. OI-M/DLI IPT Asia Emboutissage dans l’agroalimentaire.
SGBD orientés Objet Standards : OMG et ODMG.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Présentation de CORBA et de IIOP
CENTRALISATION DES CANDIDATS LOCATAIRES
Université M’Hamed Bougara de Boumerdes
Cours Web Services ISIMA 3F3
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
L’identité numérique : outil de bonne gouvernance
E-Technology lab Plateformes, Technologies et Architectures pour les systèmes eGouvernement Par: Dr Mamadou Koné Université Laval, Québec, Canada et Houda.
Cours de programmation web
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Universal Plug and Play. Idée Connecter tout: PCs, appareils intelligents, et appareils domestiques Computer partout: Universal Plug and Play connectivité.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
 Formulaires HTML : traiter les entrées utilisateur
UDDI, la course aux annuaires
Representational State Transfer - REST
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éminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Pasinelli Paolo IIUF Étude de l’article: Service Interoperability.
Présentation TELW M2 Contexte : passage de la matière de M1 en M2 Transformation cours->TDs Sujet plus haut niveau basé : Web Services echanges au format.
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Universel Description Discovery and Integration « UDDI «
Transcription de la présentation:

Introduction aux Services Web belkhir a

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

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

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

Un exemple SOURCE : W3C 07/04/2017 belkhir a

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

Principe général d’architecture SOURCE : W3C 07/04/2017 belkhir a

Un service web en action Client du Service Web Annuaire UDDI Trouver un fournisseur de service (UDDI) http://www.uddi.org Lien vers un document WSDL Fournis-seur du Service Web Modalités d’interaction (WSDL) http://myservice.com?wsdl Description du service Echanges réels (SOAP) http://myservice.com/service XML/SOAP body SOURCE: SIMON HUTSON, KPMG 07/04/2017 belkhir a

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

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

SOAP (ex) Simple Object Access Protocol 07/04/2017 belkhir a

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

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

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

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

WSDL : Web Services Description language 07/04/2017 belkhir a

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

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

Types : Définition XML Schema des données Service Port Binding <types> <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema"> <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

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

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="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> </output> </operation> Messages Types 07/04/2017 belkhir a

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

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="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <input> <soap:body use="literal"/> </input> <output> </output> </operation> </binding> Port Types Operations Messages Types 07/04/2017 belkhir a

Port : Associe une addresse (URL) à chaque Binding Service Port <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> Binding Port Types Operations Messages Types 07/04/2017 belkhir a

Service : ensemble de ports <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> Port Binding Port Types Operations Messages Types 07/04/2017 belkhir a

Implémentation des services web 07/04/2017 belkhir a

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

UDDI : Universal Description, Discovery and Integration (of services) 07/04/2017 belkhir a

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

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

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

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

Pour aller plus loin Sécurité Composition et orchestration Sémantique 07/04/2017 belkhir a

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

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

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

Conclusion 07/04/2017 belkhir a

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

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

Courte bibliographie XML – Extensible Markup Language XML (W3C): http://www.w3.org/XML/ XML Schema – XML Schema: http://www.w3.org/XML/Schema Xquery – XML Query: http://www.w3.org/XML/Query W3C WS – Web Services Activity: http://www.w3.org/2002/ws HTTP – Hypertext Transfer Protocol: http://www.w3.org/Protocols/ SOAP – Simple Object Access Protocol: http://www.w3.org/TR/SOAP/ WSDL – Web Services Description Language: http://www.w3.org/TR/wsdl OMG – Object Management Group : http://www.omg.org/ CORBA – Common Object Request Broker Architecture, see OMG UDDI – Universal Description, Discovery, and Integration: http://www.uddi.org/ WSFL – Web Services Flow Language: http://xml.coverpages.org/wsfl.html WSCI – Web Services Choreography Interface: http://www.w3.org/TR/wsci/ Apache Axis – http://ws.apache.org/axis/ J2EE – Java 2 Platform, Enterprise Edition: http://java.sun.com/j2ee/ 07/04/2017 belkhir a