SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Chapitre 1-
Les services Web-Introduction
Responsables du cours :
Héla HACHICHA
Année Universitaire : 2014 - 2015
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
2
Besoins des Applications Web
3
 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é
Principes des services Web
4
 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
Exemple d'applications
5
 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.
Définition
6
 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
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.
7
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/)
8
Un Service Web, c’est quoi ?
 URI : Uniform Resource Identifier : Exemples
 URL : http://www.w3.org/
 mail : mailto:getlost@nospam.org
 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
9
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…)
10
Evolution du Web
11
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
Architectures existantes
13
• 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
Architecture des Services Web
14
Client x
Serveur A
Client y
Client z
Objet
métier A
Serveur B
Serveur C
S
E
R
V
I
C
E
W
E
B
Objet
métier B
Objet
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
Exemple
15
Hôpital X
Hôpital Y
Mutuelle Z
S
E
R
V
I
C
E
S
W
E
B
APB
CARENET
Médecin A
Médecin B
Kind & Gezin
S3
Le Web 3ème génération :
Architecture Web Services
16
Service
Requester
Service
Provider
Service
Provider
Service
Provider
Service
Provider
WEB-HTTP
CLIENT
Service
Registry
Request
Request
Request
Request
Publish
Publish
Publish
Publish
Find
SERVEUR
SERVEUR
SERVEUR
SERVEUR
SERVEUR
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
17
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).
18
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 …
19
Architecture de base
20
Trois 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
Architecture de base
21
Cycle de vie d’utilisation
22
7: Réponse SOAP
5: Requête SOAP
1: Inscription2: Recherche
de service 3: Description
WSDL
4: Construction
requête 6: Traitement
UDDI
Fournisseu
r
Client
Cycle de vie complet
23
 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
1: Déploiement du WS
24
2: Enregistrement du WS
25
3: Découverte du WS
26
4: Invocation du WS
27
Architecture globale
28
HTTP/S
Description
of providers
and services
UDDI Category
Provider
WSDL
Service
Publication
SOAP
Transport
SOAP Client
XML
Service
Call
SOAP
Transport
Service
Service
Provider
Application
discovery?
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
29
Architecture de base
30
Mise en œuvre de l’architecture
1. Communication : SOAP/HTTP
2. Description : WSDL
3. 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)
31
Implémentations des services Web
suite …
32

Más contenido relacionado

La actualidad más candente

Une RESTful Architecture
Une RESTful ArchitectureUne RESTful Architecture
Une RESTful ArchitectureBrisebois
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: IntroductionLilia Sfaxi
 
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
Normes avancées du Web  - GTI780 & MTI780 - ETS - A09Normes avancées du Web  - GTI780 & MTI780 - ETS - A09
Normes avancées du Web - GTI780 & MTI780 - ETS - A09Claude Coulombe
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Fabien Gandon
 
ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain MaretASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain MaretCyber Security Alliance
 
Idm 28-administrator
Idm 28-administratorIdm 28-administrator
Idm 28-administratorinf_med13
 
Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Formationcsc
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEMarouan OMEZZINE
 
Hébergement du protocole kerberos dans un cloud
Hébergement du protocole kerberos dans un cloudHébergement du protocole kerberos dans un cloud
Hébergement du protocole kerberos dans un cloudMouadNahri
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeigerPhilippe Geiger
 
Microsoft Sync Framework Fr
Microsoft Sync Framework FrMicrosoft Sync Framework Fr
Microsoft Sync Framework FrGregory Renard
 

La actualidad más candente (20)

Web services
Web servicesWeb services
Web services
 
Une RESTful Architecture
Une RESTful ArchitectureUne RESTful Architecture
Une RESTful Architecture
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
Soap, wsdl et uddi
Soap, wsdl et uddiSoap, wsdl et uddi
Soap, wsdl et uddi
 
.NET DotNet CF - 3
.NET DotNet CF - 3.NET DotNet CF - 3
.NET DotNet CF - 3
 
Pourquoi migrer vers exchange 2010
Pourquoi migrer vers exchange 2010Pourquoi migrer vers exchange 2010
Pourquoi migrer vers exchange 2010
 
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
Normes avancées du Web  - GTI780 & MTI780 - ETS - A09Normes avancées du Web  - GTI780 & MTI780 - ETS - A09
Normes avancées du Web - GTI780 & MTI780 - ETS - A09
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
 
ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain MaretASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
ASFWS 2012 WS Security - REST vs SOAP par Sylvain Maret
 
Idm 28-administrator
Idm 28-administratorIdm 28-administrator
Idm 28-administrator
 
Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000Web 2.0 Wikipedia 2000
Web 2.0 Wikipedia 2000
 
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINEIntroduction aux Technologies Web élaborée par Marouan OMEZZINE
Introduction aux Technologies Web élaborée par Marouan OMEZZINE
 
Web 2.0 Complet
Web 2.0 CompletWeb 2.0 Complet
Web 2.0 Complet
 
Hébergement du protocole kerberos dans un cloud
Hébergement du protocole kerberos dans un cloudHébergement du protocole kerberos dans un cloud
Hébergement du protocole kerberos dans un cloud
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
 
Microsoft Sync Framework Fr
Microsoft Sync Framework FrMicrosoft Sync Framework Fr
Microsoft Sync Framework Fr
 

Similar a Chap1 p1-introduction

2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_servicesCamus LANMADOUCELO
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlinangeeLee
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbhindguendouz2000
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)Klee Group
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhindguendouz2000
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxhachchaneemsi
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbHINDGUENDOUZ
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesLilia Sfaxi
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureMicrosoft
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EEYassine Badri
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 

Similar a Chap1 p1-introduction (20)

Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services2 20 presentations_generales_des_web_services
2 20 presentations_generales_des_web_services
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Web Services
Web ServicesWeb Services
Web Services
 
Cours services web_fabrice_mourlin
Cours services web_fabrice_mourlinCours services web_fabrice_mourlin
Cours services web_fabrice_mourlin
 
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
0570-les-services-web.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Architecture orientée service (SOA)
Architecture orientée service (SOA)Architecture orientée service (SOA)
Architecture orientée service (SOA)
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
presentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptxpresentation_NET creation et consomation de services.pptx
presentation_NET creation et consomation de services.pptx
 
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbintro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
intro-ws.pdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Chp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées ServicesChp2 - Vers les Architectures Orientées Services
Chp2 - Vers les Architectures Orientées Services
 
Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
 
les servlets-java EE
les  servlets-java EEles  servlets-java EE
les servlets-java EE
 
Azure Mesh Et Surface
Azure Mesh Et SurfaceAzure Mesh Et Surface
Azure Mesh Et Surface
 
Axis2 services fr
Axis2 services frAxis2 services fr
Axis2 services fr
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 

Chap1 p1-introduction

  • 1. 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 2
  • 3. Besoins des Applications Web 3  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 4  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 5  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 6  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. 7
  • 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/) 8
  • 9. Un Service Web, c’est quoi ?  URI : Uniform Resource Identifier : Exemples  URL : http://www.w3.org/  mail : mailto:getlost@nospam.org  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 9
  • 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…) 10
  • 12. 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 13 • 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 14 Client x Serveur A Client y Client z Objet métier A Serveur B Serveur C S E R V I C E W E B Objet métier B Objet 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 15 Hôpital X Hôpital Y Mutuelle Z S E R V I C E S W E B APB CARENET Médecin A Médecin B Kind & Gezin S3
  • 16. Le Web 3ème génération : Architecture Web Services 16 Service Requester Service Provider Service Provider Service Provider Service Provider WEB-HTTP CLIENT Service Registry Request Request Request Request Publish Publish Publish Publish Find SERVEUR SERVEUR SERVEUR 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 17
  • 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). 18
  • 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 … 19
  • 20. Architecture de base 20 Trois 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
  • 22. Cycle de vie d’utilisation 22 7: Réponse SOAP 5: Requête SOAP 1: Inscription2: Recherche de service 3: Description WSDL 4: Construction requête 6: Traitement UDDI Fournisseu r Client
  • 23. Cycle de vie complet 23  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
  • 28. Architecture globale 28 HTTP/S Description of providers and services UDDI Category Provider WSDL Service Publication SOAP Transport SOAP Client XML Service Call SOAP Transport Service Service Provider 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 29
  • 31. Mise en œuvre de l’architecture 1. Communication : SOAP/HTTP 2. Description : WSDL 3. 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) 31
  • 32. Implémentations des services Web suite … 32