web service

40
Web Services Architecture et Protocoles Réalisé par : TEGANE SAHER BEKHOUCHE ABEDRAOUF Enseignant :F.AZOUAO U École Doctorale Sciences et Technologies de l'Information et de la Communication Option : Systèmes d’Information et de Connaissances

Upload: med-lamine-farah

Post on 03-Jul-2015

48 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Service

Web ServicesArchitecture et Protocoles

Réalisé par : TEGANE SAHERBEKHOUCHE ABEDRAOUF

Enseignant :F.AZOUAOU

 École DoctoraleSciences et Technologies de l'Information et de la

Communication Option : Systèmes d’Information et de Connaissances

Page 2: Web Service

2

Plan de travail

Problématique & Contexte

Pourquoi faire ? Définition

Quels objectifs ?

Architecture Web Service

Couche des protocoles des web services

Conclusion

Invocation Description Découverte

Page 3: Web Service

Problématique : comment interagir ?

3

Page 4: Web Service

4

WEB

Contexte

• Evolution du Web des usagers au Web des communications entre applications

Communications entre un usager et une application

Communicationsentre applications

Serveur Web Application 1 Application 2

Data General Data General Data General

Usager +Navigateur Web

L’entité principale est l’application. Ex : Achat automatisé de fournitures (via un Web Service)

L’entité principale est l’usager. Ex : Achat d’un livre via les pages Web d’une compagnie

WEB

Page 5: Web Service

Pourquoi faire ?

Je veux passer 2 semaines de vacance

Billets d’avions

Hôtels

Location de voitures

Web Services

Agent

Site dune agene Touristique

Page 6: Web Service

Pourquoi faire ?

• L'objectif des Web Services est de faciliter l'accès aux applications entre entreprises et ainsi de simplifier les échanges de données. Ils poursuivent un vieux rêve de l'informatique distribuée où les applications pourraient interopérer à travers le réseau, indépendamment de leur plate-forme et de leur langage d'implémentation.

6

Page 7: Web Service

7

Définition (1)• Un service web est un programme

informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel

Page 8: Web Service

8

Définition (2)

• Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés du XML. Il doit pouvoir être découvert et invoqué dynamiquement par d'autres services.

Page 9: Web Service

9

Quels objectifs ?• Système ouvert et performant

– capable d'inter-opérer avec les applications existantes– capable d'inter-opérer avec le monde extérieur : Extranet (B2B)– capable d'inter-opérer avec le monde intérieur : Intranet (B2C)– offrant un accès rapide, intégré et généralisé à l’information pertinente– offrant des outils de travail, de communication, …

• Système réduisant les coûts – développement rapide d’applications (RAD)– utilisation de composants distribués et de ressources distantes– réduction des coûts de développement

Page 10: Web Service

10

Quels objectifs ?– Modularité

• Réutilisation et composition de services,• Permettre « d’ouvrir » des applications existantes sur le

monde Internet

– Intégration • Intégration du système d’information au sein et en dehors de

l’entreprise,• Masquage de la complexité.

Page 11: Web Service

11

Architecture Web Service

Client du Service

Fournisseurdu Service

Annuaire de Services 1. Déploiement

2. Publication

4. V

oici

le se

rveu

r

Héber

gean

t ce s

ervic

e

5. Quel format d’appel ?

Service

Service

3.Clie

nt rec

herch

e

Un se

rvice

s web

6. Voici mon contrat WSDL ?

7. Le client a compris le contrat et envoi une requête sous forme XML

[1]

Page 12: Web Service

12

Couche des protocoles des web services

Echange messages SOAP,XML

Description WSDL

Transport HTTP, SMTP, FTP, JMS,BEEP

Découverte/Publication UDDI

Base

[The World Wide Web Consortium http://www.w3.org]

Page 13: Web Service

Couche des protocoles des web services

• La couche Transport : Cette couche est responsable du transport des messages XML entre les applications. Actuellement, elle est principalement constituée par les protocoles HTTP,SMTP et FTP. Mais, de nouveaux protocoles, notamment le prometteur "BEEP", seront intégrés a cette couche.

Actuellement, HTTP reste le protocole majoritairement utilisé par les services Web.

13

Page 14: Web Service

Couche des protocoles des web services

• La couche Echange des Messages (SOAP): Cette couche assure le codage des messages en un format XML normalisé. De cette façon, elle garanti la compréhension des messages à chaque extrémité de la chaîne de communication.

• La couche de Description (WSDL): Cette couche est responsable de la description de l’interface des services Web. Le langage WSDL, au formalisme XML, assure cette fonction.

14

Page 15: Web Service

Couche des protocoles des web services

• La couche Découverte :

Cette couche assure la centralisation des services Web dans un registre commun. Elle permet la publication et la découverte d'un service en fonction de ses fonctionnalités ou de son fournisseur. UDDI, en tant qu’annuaire, assure cette fonction.

15

Page 16: Web Service

Web services : Vision

16

UDDI WSDL SOAP

URI HTML HTTPThe WEB

WEB Services

Page 17: Web Service

Pourquoi utiliser HTTP ?

HTTP (HyperText Transfer Protocol) est devenu le protocole de communication de l’Internet.HTTP est disponible sur toutes les plates-formes – très rapidementHTTP est un protocole simple, qui ne requière que peu de support pour fonctionner correctementHTTP est un protocole sans connexion

- Peu de paquets sont nécessaires pour échanger des informationsHTTP offre un niveau de sécurité simple et effectifHTTP est le seul protocole utilisable à travers des pare-feu

Page 18: Web Service

SOAP : Simple Object Access Protocol

Service WebRéservation

Séjour

Description WSDL

Description WSDLClient

du Web Service

ProxyApplication

Fournisseur de Web Services

Web Service Application

Invocation

Protocole SOAP

Invocation d’un Web Service

Page 19: Web Service

19

Qu’est-ce que SOAP ?

• Définition : SOAP est un protocole pour transmission des messages

entre un service et son client de. Il définit un ensemble de règles pour structurer des messages qui peuvent être utilisés dans de simples transmissions,

Il n'est pas lié à un protocole de transport particulier mais

HTTP est le plus populaire. Il n'est pas non plus lié à un système d'exploitation ni à un langage de programmation

Page 20: Web Service

20

La philosophie SOAP

• SOAP codifie simplement une pratique existante– Utilisation conjointe de XML et HTTP

• SOAP est un protocole minimal pour appeler des méthodes sur des serveurs, services, composants, objets– Ne pas imposer une API ou un runtime– Ne pas imposer l’utilisation d’un ORB (CORBA, DCOM, …) ou d’un serveur

web particulier (Apache, IIS, …)– Ne pas imposer un modèle de programmation

• Plusieurs modèles peuvent être utilisés conjointement– Et “ne pas réinventer une nouvelle technologie”

• SOAP a été construit pour pouvoir être aisément porté sur toutes les plates-formes et les technologies– Vous pouvez écrire votre 1er appel SOAP en moins d’une heure !!

Page 21: Web Service

21

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/" env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>

<env:Header> <t:Transaction xmlns:t="some-URI" env:mustUnderstand="1"> 5 </t:Transaction> </env:Header><env:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>

GEM</symbol>

</m:GetLastTradePrice> </env:Body>

</env:Envelope>

Exemple : Message SOAP

Page 22: Web Service

22

SOAP ENVELOPESOAP HEADER

Structure d’un message

• Chaque SOAP message contient : • Enveloppe

– représente l’unité de communication entre les parties utilisant un service Web

Header (optionnel)– Contient les attributs et les caractéristique de

message• Body (obligatoire)

– Contient l’appel de méthode ou document– Ex : nom des procédures, nom des paramètres,

valeurs de paramètres,– Retour d’erreurs.

SOAP BODY

HEADER ENTRY

BODY ENTRY

Page 23: Web Service

23

Liaison SOAP/HTTP

Page 24: Web Service

24

Requête SOAP/HTTPPOST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnAction: "Some-URI"

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/" env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>

</env:Envelope>

<env:Header> <t:Transaction xmlns:t="some-URI"> 5 </t:Transaction></env:Header>

<env:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol> GEM</symbol> </m:GetLastTradePrice> </env:Body>

Page 25: Web Service

25

Réponse SOAP/HTTPHTTP/1.1 200 OKContent-Type: application/soap+xml; charset="utf-8"Content-Length: nnnn

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/" env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/>

</env:Envelope>

<env:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </env:Body>

Page 26: Web Service

26

En résumé

• SOAP = HTTP + XML

Serveur HTTP

Station

requêtes SOAP(XML)Client

HTTP

Serveur

ISAPI

CGIApplicationpartie -cliente

Browserclient universel

Réponses SOAP(XML)

Applicationpartie-serveur

ASP

Servlets

Page 27: Web Service

Service WebRéservation

Séjour

Description WSDL

Fournisseur de Web Services

Web Service Application

Description WSDL

WSDL :Web Service Definition Language

Description d’un Web Service

Page 28: Web Service

28

La spécification WSDL :

• La description WSDL d’un service Web représente un contrat entre le demandeur et le fournisseur

• Les clients qui souhaitent accéder à un service Web peut lire et interpréter son fichier WSDL pour se renseigner sur l'emplacement du service et de ses activités disponibles

• Langage de description des Web Services– Description abstraite de l’interface du service,

• Ensemble des méthodes et de types de paramètres, de messages– Description concrète de l’implantation du service, Décrit les aspects techniques d’implantation d’un service web (quel est le protocole

utilisé, quel est le l’adresse du service)Cette description sert à se connecter concrètement à un service web

Page 29: Web Service

29

La spécification WSDL :

ImplementationInterface

<portType>

<message>

<import>

<definitions>

<types>

<port>

<import>

<definitions>

<service>

<binding>

Page 30: Web Service

30

Description abstraite

• Définition de l’interface du service• <types>

– Définition des types de données utilisés dans les messages– Référence à un système de typage tel que Schéma XML

• <message>– Définition typée abstraite des données échangées– Ex : appel de méthode, retour de l’appel

• <operation>– Définition abstraite d’un ensemble cohérent de messages

(entrées/sorties) correspondant à l’interaction avec le Web Service

– Ex: appel de méthode + retour de l’appel• <portType> (type de port)

– Définition abstraite d’un ensemble d’opérations

Page 31: Web Service

31

Description concrète

• Définition de l’implantation d’un service donné• <binding> (liaison)

– Description des protocoles (SOAP, HTTP…) et des formats de messages concrets pour chaque <porttype>

• <port> – Définition d’un point d’entrée en associant un <binding> à une adresse

réseau d’un serveur (URL).

• <service>– Définition d’un Web Service comme un ensemble de <port>.

Page 32: Web Service

32

Point de vue architectural

WSDL

Service WebRéservation

Séjour

Description WSDL

Description WSDLClient

du Web Service

proxyApplication

Fournisseur de Web Services

Web Service Application

compilateur WSDL(côté client)

compilateur WSDL(côté serveur)

Squeletted’implémentation

générateur WSDL(2)

(1)

Page 33: Web Service

Client du Web Service

Fournisseur de Web Services

Annuaire UDDIDe Web Services

Publication

Description WSDL

Description WSDL

Découverte

Description WSDLDescription

WSDL

UDDI Découverte et publication d’un Web Service

Page 34: Web Service

34

Qu’est ce que UDDI ?

UDDI permet de retrouver un service web, et WSDL de décrire ses méthodes.On expose au format XML la signature d’un service web accessible sur Internet. Cette signature inclut les opérations exposées, le type de ces paramètres d’entrées-sorties, et l’adresse réseau à laquelle on pourra l’invoquer. [1]

Page 35: Web Service

35

Qu’est ce que UDDI ?

• Spécification (09/2000)– Ariba, IBM, Microsoft +260 autres sociétés

• Objectifs– annuaire mondial d'entreprises pour permettre d'automatiser les

communications entre prestataires, clients, etc.– plusieurs entrées indexées : nom, carte d'identité des sociétés,

description des produits, services applicatifs invocables à distance (références des connexions)

• Grammaire XML (schéma XML)– Soumission/interrogation basées sur SOAP et WSDL

Page 36: Web Service

36

Exemple : searchFaçons de rechercher un service.

Nous allons rechercher les Web Services de la société Amazon.

Page 37: Web Service

37

Exemple : search

AmazonBusiness propose un Web Service

Ce Web Service s’appelle GetBookPrice

Page 38: Web Service

38

Conclusion• Les services Web sont mûrs pour une utilisation dans le cadre des

échanges intra-entreprise, Par contre, dans un cadre inter-entreprise (B2B), les services Web souffrent encore d'une normalisation incomplète de l'architecture distribuée.[1]

• Les services Web souffrent de performances faibles comparée à d'autres approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM. Il n'offre pas les mécanismes nécessaires à la manipulation d'instance d'objets distante .[1]

• Par l'utilisation du protocole HTTP, les services Web peuvent contourner les mesures de sécurité mises en place au travers des pare-feu

Page 39: Web Service

39

select ? From DBA

Page 40: Web Service

40

Bibliographie

1. Antony Fons :Services Web; techniques et perspectives.2. Altova : Web services: Benefits, challenges, and a unique, visual

développent solution.3. The World Wide Web Consortium: http://www.w3.org/

4.Cours :Rémi Badonnel LORIA – INRIA Lorraine badonnel @loria.fr

Jeremy Fierstone [email protected] Blanc [email protected]