Web Services

publicité
Web services
par Philippe Poulard
0
[email protected]
© Philippe Poulard
Sommaire
par Philippe Poulard
•Qu ’est-ce ?
Web services
•Middleware XML
•Web Services in situ
•Couches de services
•Architecture des Web Services avec Java
•JAX-RPC
•JAXR
•JAXM
•Outils
1
Présentation
par Philippe Poulard
Navigateur : interface utilisateur universelle
Multi-tier model :
Web services
navigateur
HTTP
Web
serveur
requête
Web avec interface
Homme/Machine
SGBD
réponse
HTML
Client
Application
Quels protocoles utiliser pour reproduire le BtoC au BtoB ?
Web pour programmes
Web
serveur
HTTP
Web
serveur
requête
Une DTD peut faire
office de "contrat"
réponse
Client
2
Backend
systems
XML
Application
Middleware XML
par Philippe Poulard
Web services
CORBA
DCOM
Couplage fort
Dépendant d'un langage de programmation
Dépendant d'un système d'exploitation
Non communément adoptés par les éditeurs
Technologies émergentes : SOAP et Web services
XML
Couplage faible
Indépendant des langages et des OS
Suivit par tous les éditeurs (Microsoft, Sun, Oracle, IBM…)
Web services : XML - HTTP - SOAP
3
Web services in situ
par Philippe Poulard
Web services
Web services
(Informatique distribuée)
•Protocole léger (http)
•non connecté
•publication/localisation des services Web
Évolution des technologies
Client/Serveur
Client léger
Services Web
SOAP : structure des messages en XML
WSDL : description des services (méthodes et paramètres des composants)
Les services sont invocables par des messages SOAP
Finalité : interopérabilité des systèmes ET des données
BtoB
4
BtoC
BtoE
par Philippe Poulard
Couches des Web services
Couches de base
Web services
Web Services
Protocoles relatifs à la
sécurité et à la gestion des
transactions
Couches de base :
•Echange: comment échanger les messages entre les Web Services ?
→ SOAP, DIME
•Découverte: comment identifier et localiser les Web Services ?
→ ebXML, UDDI
•Description: comment exposer les fonctions des Web Services ?
→ WSDL
Exemple : la Fnac exploite les services Web pour dialoguer avec ses fournisseurs
en billetterie
5
Web services et architecture Java
par Philippe Poulard
Web services
XML est intégré aux éditions standards et entreprise (J2EE) des plates-forme Java
Orienté document :
•JAXP Java API for XML Processing
Orienté procédure :
•JAXM Java API for XML Messaging
•JAXR Java API for XML Registries
•JAX-RPC Java API for XML RPC
Application
SOAP
HTTP
6
Protocoles
Web services
JAX-RPC
par Philippe Poulard
Web services
RPC (Remote Procedure Call)
•Java IDL :
basé sur CORBA
utilise l'IDL (Interface Definition Language) de l'OMG
•RMI :
basé sur RPC avec Java / RMI-IIOP
(Remote Method Invocation over Internet Inter-ORB Protocol)
•JAX-RPC :
basé sur SOAP et adapté aux services Web
7
Une collection de procédures qui peuvent être
appelées par un client distant sur internet
Qu'est-ce que :
un service Web basé sur RPC ?
Application serveur déployée dans un container
(côté serveur) qui implémente les procédures
Avantages de JAX-RPC :
•intéropérabilité
•les utilisateurs de JAX-RPC ne
s'occupent pas de la "plomberie"
•principale API client/serveur de
services Web
Consommateur
Java
Non-Java
Java
S
O
A
P
Service
Non-Java
Java
Java
JAX-RPC
Web services
par Philippe Poulard
Objet local qui
représente le
service distant
Program
Service
Stub
Tie
JAX-RPC
Runtime
SOAP
message
HTTP
8
Couche à développer
Couche générée à
partir de WSDL
Couche de
JAX-RPC
l'implémentation de
Runtime
référence
JAXM
par Philippe Poulard
Transmission de documents XML sur internet
Web services
•Basé sur SOAP 1.1 et SOAP avec la spécification d'attachement
•Peut être étendu à des tâches qui intègrent des protocoles de messagerie de haut
niveau tel que ebXML transport, routage et packaging, qui reposent sur SOAP
Messaging
provider
Recipient
Recipient
Fonctionnalités JAXM (non disponibles avec RPC)
•Asynchronisme possible
•Routage multiple
•Haute qualité de service messagerie
(comme la garantie de délivrance)
Message JAXM
Partie SOAP
Attachement optionnel
9
Recipient
SOAPHeader
SOAPEnvelope
SOAPBody
ebXML
Profil
permettant
un usage
spécifique
JAXM
par Philippe Poulard
Request-Response messaging
Web services
JAXM
Client
Request
Request
Web
service
JAXM
Client
Response
Request
Response
Synchrone
One-way message
JAXM
Client
Messaging
provider
One-way message
Container J2EE
Asynchrone
10
Response
Messaging
provider
JAXR
par Philippe Poulard
Fournit des accès standard à des business registries à travers internet
Web services
Les business registries sont comme des pages jaunes :
on y trouve des listes d'activités et les produits ou services que chaque
activité peut offrir
JAXR
Les business registries sont basés sur des :
•standards ouverts : ebXML
•spécifications de consortium industriels : UDDI
JAXR
JAXM
11
ebXML
UDDI
Outil
par Philippe Poulard
Tutorial :
Web services
JWSDP : Java Web Service Developer Pack
12
•Tomcat
•Ant
•Tutoriaux
http://java.sun.com
Téléchargement