chap1 p1-introduction

32
Chapitre 1- Les services Web-Introduction Responsables du cours : Héla HACHICHA Année Universitaire : 2014 - 2015

Upload: moez-re

Post on 06-Apr-2017

244 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Chap1 p1-introduction

Chapitre 1- Les services Web-Introduction

Responsables du cours : Héla HACHICHA

Année Universitaire : 2014 - 2015

Page 2: Chap1 p1-introduction

2

Les services Web Objectifs Généralités (définition, évolution) Architecture des services web Briques de l’architecture de base

SOAP WSDL UDDI

Implémentations Les APIs Java (JAXP, JAX-RPC, JAXM, JAXR, JAXB) Implémentation avec JAX-RPC Apache SOAP, Apache Axis

Conclusion

Page 3: Chap1 p1-introduction

3

Besoins des Applications Web Le Web classique

Conçu pour les applications à interactions humaines

Partage d'information E-commerce de type B2C

Extensions nécessaires : Nouveaux besoins Accès à l'information depuis des programmes Processus de e-commerce B2B automatisés Interopérabilité entre applications Plate-forme pour le calcul distribué

Page 4: Chap1 p1-introduction

4

Principes des services Web Proposer une plate-forme de traitement

distribuée autour d'Internet/Intranet Permettre l'interopérabilité totale entre

composants Offrir un modèle de composants simple

Modules avec interfaces de fonctions Permettre de découvrir dynamiquement

les services Annuaire de services et service de recherche

Offrir des outils d'intégration de composants à l'échelle de l'Internet ou de l'Intranet

Page 5: Chap1 p1-introduction

5

Exemple d'applications Diffusion d'information

horaires, incidents, états de stocks cours de bourse, entrées d'annuaires, etc.

Contrôle d'information autorisation de cartes de crédits authentification d'un client Mise à jour de logiciels

Documentation automatique présentation, marketing, veille technologique librairie électronique, manuels, maintenance, etc. communication et "knowledge management"

Commerce électronique présentation, sélection, transaction, médiation, etc.

Page 6: Chap1 p1-introduction

6

Définition Les Services Web sont des services offerts via

le web

Par exemple, un client demande le prix d’un article en envoyant un message sur le web. Ce message contient la référence de l’article. Le Service Web va recevoir la référence, effectuer le traitement du service et renvoyer le prix au client via un autre message

Page 7: Chap1 p1-introduction

7

Un Service Web, c’est quoi ? Un service Web est une « unité logique

applicative » accessible en utilisant les protocoles standard d’Internet

Une «librairie» fournissant des données et des services à d’autres applications.

Un objet métier qui peut être déployé et combiné sur Internet avec une faible dépendance vis-à-vis des technologies et des protocoles.

Combine les meilleurs aspects du développement à base de composants et du Web.

Page 8: Chap1 p1-introduction

8

Un Service Web, c’est quoi ? Un Web service est un composant logiciel identifié par une

URI, dont les interfaces publiques sont définies et appelées en XML.

Sa définition peut être découverte par d'autres systèmes logiciels.

Les services Web peuvent interagir entre eux d'une manière prescrite par leurs définitions, en utilisant des messages XML portés par les protocoles Internet.

proposant diverses fonctionnalités que d’autres programmes peuvent découvrir dynamiquement et utiliser grâce à des protocoles

décrits en XML basés sur l’échange de messages

écrits en XML transmis par HTTP, FTP, SMTP, etc.(http://www.w3.org/TR/ws-gloss/)

Page 9: Chap1 p1-introduction

9

Un Service Web, c’est quoi ? URI : Uniform Resource Identifier : Exemples

URL : http://www.w3.org/ mail : mailto:[email protected] FTP : ftp://ftp.ufrmd.dauphine.fr/pub/docs/

Un service web est un programme accessible par internet par l’intermédiaire de messages XML transmis par HTTP

Un standard pour les systèmes répartis basés sur XML+HTTP

Une vision plus simple

Page 10: Chap1 p1-introduction

10

Un Service Web, c’est quoi ?Caractéristiques:

Réutilisable Indépendamment de

la plate-forme (UNIX, Windows, …) l’implémentation (VB, C#, Java, …) l’architecture sous-jacente (.NET, J2EE,

Axis…)

Page 11: Chap1 p1-introduction

11

Evolution du Web

Page 12: Chap1 p1-introduction

Architectures existantes

12

Architecture 2 tiers

Architecture n tiers

Client x

Serveur

Client zClient y

Client x

Serveur A

Client y Client z

Objet métier (CORBA,DCOM,RMI…

)

Serveur B

Serveur C

INTRANETINTRANET

Page 13: Chap1 p1-introduction

13

Architectures existantes• L’architecture 2 tiers fonctionnait très bien mais a

vite montré ses limitations de part l’apparition de systèmes hétérogènes devant être interfacés

• C’est alors que l’architecture n tiers est arrivée, permettant l’interfaçage de différents systèmes mais entraînant un investissement en terme de puissance serveurs et fluidité des réseaux

Page 14: Chap1 p1-introduction

14

Architecture des Services Web

Client x Serveur A

Client y

Client z

Objet métier

AServeur

B

Serveur C

SERVICEWEB

Objet métier

BObjet métier

C

INTERNET INTRANET

Le Service Web apparaît donc ici clairement comme une interface entre les clients disséminés sur Internet et les différents objets métiers permettant l’accès aux serveurs de données

Page 15: Chap1 p1-introduction

15

Exemple

Hôpital X

Hôpital Y

Mutuelle Z

SERV I CESWEB

APB

CARENET

Médecin A

Médecin B

Kind & Gezin

S3

Page 16: Chap1 p1-introduction

16

Le Web 3ème génération : Architecture Web Services

ServiceRequester

ServiceProvider

ServiceProvider

ServiceProvider

ServiceProvider

WEB-HTTP

CLIENT

ServiceRegistry

Request

Request

Request

Request

Publish

Publish

Publish

Publish

Find

SERVEUR

SERVEURSERVEUR

SERVEUR

SERVEUR

Page 17: Chap1 p1-introduction

17

Pourquoi faire ? Les services Web permettent

d’interconnecter : Différentes entreprises Différents matériels Différentes applications Différents clients

Distribuer et intégrer des logiques métiers Vers le Web sémantique Les services Web sont faiblement couplés

Page 18: Chap1 p1-introduction

18

Quels objectifs ? Remplacer les protocoles actuels

(RPC,DCOM,RMI) par une approche entièrement ouverte et interopérable, basée sur la généralisation des serveurs Web avec scripts CGI.

Faire interagir des composants hétérogènes, distants, et indépendants avec un protocole standard (SOAP).

Dédiés aux applications B2B (Business to Business), EAI (Enterprise Application Integration), P2P (Peer to Peer).

Page 19: Chap1 p1-introduction

19

Et plus concrètement ? Une nouvelle technologie des objets distribués ?

Invocation distante des services Web : SOAP (~IIOP) Description des services Web : WSDL (~IDL) Enregistrement et découverte de services Web : UDDI

(~NameService) Basés sur des standards XML

Standards du W3C : XML, SOAP, WSDL Standards industriels : UDDI, ebXML Propriétaires : DISCO, WSDD, WSFL, ASMX, …

Implémentations actuelles : Microsoft .Net Sun JavaONE : J2EE + Web services (WSDP = JAXP,JAX-

RPC,JAXM…) Apache XSOAP / Axis, IBM WSTK Oracle, Bea, Iona, Enhydra …

Page 20: Chap1 p1-introduction

20

Architecture de baseTrois acteurs : le fournisseur de service (service provider ) :

définit le service publie sa description dans l’annuaire réalise les opérations

l’annuaire (discovery agency, Service Registry ) : reçoit et enregistre les descriptions de services publiées

par les fournisseurs reçoit et répond aux recherches de services lancées par

les clients le client (service requestor ) :

obtient la description du service grâce à l’annuaire utilise le service

Page 21: Chap1 p1-introduction

21

Architecture de base

Page 22: Chap1 p1-introduction

22

Cycle de vie d’utilisation

7: Réponse SOAP

5: Requête SOAP

1: Inscription2: Recherche de service 3: Description

WSDL

4: Construction requête 6: Traitement

UDDI

Fournisseur

Client

Page 23: Chap1 p1-introduction

23

Cycle de vie complet Etape 1 : Déploiement du service Web

Dépendant de la plate-forme (Apache : WSDD) Etape 2 : Enregistrement du service Web

WSDL : description du service Référentiels : DISCO (local), UDDI (global)

Etape 3 : Découverte du service Web Etape 4 : Invocation du service Web par le

client

Page 24: Chap1 p1-introduction

24

1: Déploiement du WS

Page 25: Chap1 p1-introduction

25

2: Enregistrement du WS

Page 26: Chap1 p1-introduction

26

3: Découverte du WS

Page 27: Chap1 p1-introduction

27

4: Invocation du WS

Page 28: Chap1 p1-introduction

28

Architecture globale

HTTP/S

Descriptionof providersand services

UDDI CategoryProvider

WSDLService

Publication

SOAP Transport

SOAP Client

XMLService

Call

SOAP Transport

Service

ServiceProvider

Application discovery?

Page 29: Chap1 p1-introduction

29

Briques de l’architecture de base SOAP (Simple Object Access Protocol) :

version 1.1 : mai 2000 (http://www.w3c.org/TR/SOAP/) version 1.2 : CR en décembre 2002 cadre général permettant l’échange de données structurées au format XML protocole de transport de ces données basé sur HTTP

WSDL (Web Services Description Language) : version 1.1 : mars 2001 (http://www.w3.org/TR/2001/NOTE-wsdl-20010315) version 1.2 : Working Draft dialecte XML permettant de décrire un service web

UDDI (Universal Data Description Interface) : version 3 : juillet 2002 (http://uddi.org/pubs/uddi-v3.00-published-

20020719.htm) annuaire permettant d’enregistrer et de rechercher des descriptions de

services web

Page 30: Chap1 p1-introduction

30

Architecture de base

Page 31: Chap1 p1-introduction

31

Mise en œuvre de l’architecture1. Communication : SOAP/HTTP2. Description : WSDL3. Publication et Recherche : UDDI

Attention : l’architecture précise des formats (dialecte XML) des sémantiques associées (sens de chaque

élément des documents XML) des protocoles (e.g., utilisation de HTTP pour

transmettre des messages SOAP) des services web standards (comme les API de

UDDI)

Page 32: Chap1 p1-introduction

32

Implémentations des services Websuite …