chap1 p1-introduction
TRANSCRIPT
Chapitre 1- Les services Web-Introduction
Responsables du cours : Héla HACHICHA
Année Universitaire : 2014 - 2015
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
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é
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
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.
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
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.
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/)
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
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…)
11
Evolution du Web
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
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
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
15
Exemple
Hôpital X
Hôpital Y
Mutuelle Z
SERV I CESWEB
APB
CARENET
Médecin A
Médecin B
Kind & Gezin
S3
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
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
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).
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 …
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
21
Architecture de base
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
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
24
1: Déploiement du WS
25
2: Enregistrement du WS
26
3: Découverte du WS
27
4: Invocation du WS
28
Architecture globale
HTTP/S
Descriptionof providersand services
UDDI CategoryProvider
WSDLService
Publication
SOAP Transport
SOAP Client
XMLService
Call
SOAP Transport
Service
ServiceProvider
Application discovery?
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
30
Architecture de base
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)
32
Implémentations des services Websuite …