21
1 Les technologies XML Les technologies XML Cours 6 : Cours 6 : Les Web Services et UDDI Les Web Services et UDDI Mars 2010 Mars 2010 - Version 1.0 - - Version 1.0 -

1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

Embed Size (px)

Citation preview

Page 1: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

1

Les technologies XMLLes technologies XML

Cours 6 : Cours 6 : Les Web Services et UDDILes Web Services et UDDI

Mars 2010Mars 2010

- Version 1.0 - - Version 1.0 -

Page 2: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

2

Web Services – UDDI Web Services – UDDI

Même si la conjonction SOAP / WSDL permet d’invoquer des Web Services, il était nécessaire d’ajouter une fonctionnalité de recherche de services.

Cette fonctionnalité c’est UDDI

Page 3: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

3

Web Services - UDDIWeb Services - UDDI

UDDI est une spécification définissant la manière UDDI est une spécification définissant la manière de publier et de découvrir les Web Services sur de publier et de découvrir les Web Services sur un réseau. un réseau.

La description du service est faite en XML selon La description du service est faite en XML selon la spécificationla spécification

Un registre UDDI peut être accédé en SOAP mais Un registre UDDI peut être accédé en SOAP mais aussi en XML-RPC ou Corba. La spécification ne aussi en XML-RPC ou Corba. La spécification ne limite pas l’utilisation au Web Service.limite pas l’utilisation au Web Service.

Page 4: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

4

Web Services - UDDIWeb Services - UDDI

L'annuaire UDDI est consultable de différentes L'annuaire UDDI est consultable de différentes manières :manières :

Les pages blanchesLes pages blanches comprennent la liste des comprennent la liste des entreprises ainsi que des informations associées à entreprises ainsi que des informations associées à ces dernières. ces dernières.

Les pages jaunesLes pages jaunes recensent les services Web de recensent les services Web de chacune des entreprises sous le standard WSDL. chacune des entreprises sous le standard WSDL.

Les pages vertesLes pages vertes fournissent des informations fournissent des informations techniques précises sur les services fournis. Ces techniques précises sur les services fournis. Ces informations concernent les descriptions de informations concernent les descriptions de services et d'information de liaison ou encore les services et d'information de liaison ou encore les processus métiers associés. processus métiers associés.

Page 5: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

5

Web Services - UDDIWeb Services - UDDI

Structure Structure macroscopique d’un macroscopique d’un annuaire UDDIannuaire UDDI

Page 6: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

6

Web Services - UDDIWeb Services - UDDI

Le modèle UDDI comporte 5 structures de Le modèle UDDI comporte 5 structures de données principales:données principales:

BusinessEntity : ensemble des informations sur BusinessEntity : ensemble des informations sur l’entreprise proposant le servicel’entreprise proposant le service

BusinessService : ensemble des informations sur BusinessService : ensemble des informations sur les services publiés par l’entrepriseles services publiés par l’entreprise

BindingTemplate : ensemble des informations sur BindingTemplate : ensemble des informations sur le lieu d’hébergement du servicele lieu d’hébergement du service

tModel : ensemble des informations sur le mode tModel : ensemble des informations sur le mode d’accès du service (WSDL)d’accès du service (WSDL)

publisherAssertion : ensemble des informations publisherAssertion : ensemble des informations contractuelles pour accéder au service contractuelles pour accéder au service

Page 7: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

7

Web Services - UDDIWeb Services - UDDI

Exemple Schéma BusinessEntity (pages blanches)

<element name="businessEntity" type="uddi:businessEntity" />

<complexType name="businessEntity">

<sequence>

<element ref="uddi:discoveryURLs" minOccurs="0" />

<element ref="uddi:name" maxOccurs="unbounded" />

<element ref="uddi:description" minOccurs="0" maxOccurs="unbounded" />

<element ref="uddi:contacts" minOccurs="0" />

<element ref="uddi:businessServices" minOccurs="0" />

<element ref="uddi:identifierBag" minOccurs="0" />

<element ref="uddi:categoryBag" minOccurs="0" />

</sequence>

<attribute name="businessKey" type="uddi:businessKey" use="required" />

<attribute name="operator" type="string" use="optional" />

<attribute name="authorizedName" type="string" use="optional" />

</complexType>

Page 8: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

8

Web Services - UDDIWeb Services - UDDI

Exemple Schéma BusinessEntity (pages jaunes)

<element name="businessService" type="uddi:businessService" />

<complexType name="businessService">

<sequence>

<element ref="uddi:name" minOccurs="0" maxOccurs="unbounded" />

<element ref="uddi:description" minOccurs="0" maxOccurs="unbounded" />

<element ref="uddi:bindingTemplates" minOccurs="0" />

<element ref="uddi:categoryBag" minOccurs="0" />

</sequence>

<attribute name="serviceKey" type="uddi:serviceKey" use="required" />

<attribute name="businessKey" type="uddi:businessKey" use="optional" />

</complexType>

Page 9: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

9

Web Services - UDDIWeb Services - UDDI

Exemple Schéma bindingTemplate (pages vertes)

<element name="bindingTemplate" type="uddi:bindingTemplate" />

<complexType name="bindingTemplate">

<sequence>

<element ref="uddi:description" minOccurs="0" maxOccurs="unbounded" />

<choice>

<element ref="uddi:accessPoint" />

<element ref="uddi:hostingRedirector" />

</choice>

<element ref="uddi:tModelInstanceDetails" />

</sequence>

<attribute name="serviceKey" type="uddi:serviceKey" use="optional" />

<attribute name="bindingKey" type="uddi:bindingKey" use="required" />

</complexType>

Page 10: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

10

Web Services - UDDIWeb Services - UDDI

Exemple Schéma tModels

<element name="tModel" type="uddi:tModel" />

<complexType name="tModel">

<sequence>

<element ref="uddi:name" />

<element ref="uddi:description" minOccurs="0" maxOccurs="unbounded" />

<element ref="uddi:overviewDoc" minOccurs="0" />

<element ref="uddi:identifierBag" minOccurs="0" />

<element ref="uddi:categoryBag" minOccurs="0" />

</sequence>

<attribute name="tModelKey" type="uddi:tModelKey" use="required" />

<attribute name="operator" type="string" use="optional" />

<attribute name="authorizedName" type="string" use="optional" />

</complexType>

Page 11: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

11

Web Services - UDDIWeb Services - UDDI

La norme UDDI 3.0.1 regroupe 9 schéma XMLLa norme UDDI 3.0.1 regroupe 9 schéma XML

UDDI API UDDI API SchemaSchema

UDDI UDDI CustodyCustody SchemaSchema

UDDI UDDI SubscriptionSubscription SchemaSchema

UDDI UDDI SubscriptionSubscription listenerlistener SchemaSchema

UDDI UDDI ReplicationReplication SchemaSchema

UDDI Value Set Validation UDDI Value Set Validation SchemaSchema

UDDI Value Set UDDI Value Set CatchingCatching

UDDI UDDI PolicyPolicy

UDDI UDDI PolicyPolicy Instance Instance ParametersParameters

Page 12: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

12

Web Services - UDDIWeb Services - UDDI

UDDI API UDDI API SchemaSchema : : http://uddi.org/schema/uddi_v3.xsdhttp://uddi.org/schema/uddi_v3.xsdLe schéma de base avec les principaux types de Le schéma de base avec les principaux types de

donnéesdonnées

UDDI UDDI CustodyCustody SchemaSchema : : http://uddi.org/schema/uddi_v3custody.xsdhttp://uddi.org/schema/uddi_v3custody.xsdSchéma pour spécifier la pérennité des informationsSchéma pour spécifier la pérennité des informations

UDDI UDDI SubscriptionSubscription SchemaSchema : : http://uddi.org/schema/uddi_v3subscription.xsdhttp://uddi.org/schema/uddi_v3subscription.xsdSchéma pour les messages de publication dans Schéma pour les messages de publication dans

l’annuairel’annuaire

Page 13: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

13

Web Services - UDDIWeb Services - UDDI

UDDI UDDI SubscriptionSubscription listenerlistener SchemaSchema http://uddi.org/schema/uddi_v3subscriptionListehttp://uddi.org/schema/uddi_v3subscriptionListener.xsdner.xsd

UDDI UDDI ReplicationReplication SchemaSchema : : http://uddi.org/schema/uddi_v3replication.xsdhttp://uddi.org/schema/uddi_v3replication.xsd

Schéma pour les messages de réplication d’annuaire Schéma pour les messages de réplication d’annuaire

UDDI Value Set Validation Schema : UDDI Value Set Validation Schema : http://uddi.org/schema/uddi_v3valueset.xsdhttp://uddi.org/schema/uddi_v3valueset.xsd

Schéma pour les types de validation à effectuer sur Schéma pour les types de validation à effectuer sur les données reçuesles données reçues

Page 14: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

14

Web Services - UDDIWeb Services - UDDI

UDDI Value Set Catching : UDDI Value Set Catching : http://uddi.org/schema/uddi_v3valuesetcaching.xhttp://uddi.org/schema/uddi_v3valuesetcaching.xsdsd

UDDI Policy : UDDI Policy : http://uddi.org/schema/uddi_v3policy.xsdhttp://uddi.org/schema/uddi_v3policy.xsd

Schéma pour la gestion des droitsSchéma pour la gestion des droits

UDDI Policy Instance Parameters : UDDI Policy Instance Parameters : http://uddi.org/schema/uddi_v3policy_instancePahttp://uddi.org/schema/uddi_v3policy_instanceParms.xsdrms.xsd

Schéma pour les politiques d’accès aux droitsSchéma pour les politiques d’accès aux droits

Page 15: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

15

Web Services - UDDIWeb Services - UDDI

UDDI permet de classer et de rechercher des UDDI permet de classer et de rechercher des Web Services. Web Services.

Un annuaire UDDI contient :Un annuaire UDDI contient :

des informations techniques (documents WSDL) des informations techniques (documents WSDL)

des informations à caractère général sur une des informations à caractère général sur une entrepriseentreprise

On peut donc effectuer deux grandes familles On peut donc effectuer deux grandes familles d’actions sur un annuaire UDDId’actions sur un annuaire UDDI

Publier un servicePublier un service

Rechercher un serviceRechercher un service

Page 16: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

16

Web Services - UDDIWeb Services - UDDI

Primitives de recherchePrimitives de recherchefind_bindingfind_binding  : récupère la liaison du service considéré.: récupère la liaison du service considéré.

find_businessfind_business  : récupère l’identité de l’entreprise productrice du Web Service.: récupère l’identité de l’entreprise productrice du Web Service.

find_relatedbusinessfind_relatedbusiness  : récupère la liste des entreprises étant reliées (filiale, : récupère la liste des entreprises étant reliées (filiale, département, partenaire, …) à l’entreprise productrice du Web Service.département, partenaire, …) à l’entreprise productrice du Web Service.

find_servicefind_service  : récupère la définition du service.: récupère la définition du service.

find_tmodelfind_tmodel  : récupère le modèle de données associé.: récupère le modèle de données associé.

get_bindingDetail get_bindingDetail :: récupère, par une liaison précédemment établie par récupère, par une liaison précédemment établie par find_bindingfind_binding les champs individuels. les champs individuels.

get_businessDetail, get_businessDetailExtget_businessDetail, get_businessDetailExt  : récupère une entité précédemment : récupère une entité précédemment établie par établie par find_businessfind_business les attributs individuels. les attributs individuels.

get_serviceDetailget_serviceDetail  : récupère un service précédemment établi par : récupère un service précédemment établi par find_servicefind_service les les attributs individuels du service (prototypes des méthodes).attributs individuels du service (prototypes des méthodes).

get_tmodelDetailget_tmodelDetail : récupère un modèle établie par  : récupère un modèle établie par find_tmodelfind_tmodel les champs les champs individuels. individuels.

Page 17: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

17

Web Services - UDDIWeb Services - UDDI

Primitives de publicationPrimitives de publication

savesave et et deletedelete : manipulation de service dans : manipulation de service dans l’annuaire l’annuaire

get_authTokenget_authToken et et discard_authTokendiscard_authToken : : Authentification des commandes par jeton Authentification des commandes par jeton

joint_venturesjoint_ventures : Ajout de relations inter entreprises : Ajout de relations inter entreprises

Page 18: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

18

Web Services – WS InspectionWeb Services – WS Inspection

Devant la complexité grandissante de UDDI et Devant la complexité grandissante de UDDI et peu d’implémentation, IBM et Microsoft on peu d’implémentation, IBM et Microsoft on proposé une norme moins ambitieuse WS proposé une norme moins ambitieuse WS Inspection.Inspection.

Comme pour UDDI le but est de permettre la Comme pour UDDI le but est de permettre la « découverte » de services WEB.« découverte » de services WEB.

Ces services sont aussi décrits à l’aide de WSDLCes services sont aussi décrits à l’aide de WSDL

WS-Inspection est basé sur le langage XML WSIL WS-Inspection est basé sur le langage XML WSIL (Web Service Inspection Language)(Web Service Inspection Language)

Page 19: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

19

Web Services – WS InspectionWeb Services – WS Inspection

Les descriptions des services sont stockées avec Les descriptions des services sont stockées avec les services, et les demandes d'informations les services, et les demandes d'informations sont acheminées vers les sites qui offrent les sont acheminées vers les sites qui offrent les services. services.

WS-Inspection est un format XML qui permet à WS-Inspection est un format XML qui permet à une application appelante d'interroger un site une application appelante d'interroger un site connu pour obtenir les services disponibles connu pour obtenir les services disponibles proposés.proposés.

Elle définit une série de règles spécifiant de Elle définit une série de règles spécifiant de quelle manière les sites doivent exposer leurs quelle manière les sites doivent exposer leurs informations aux systèmes appelants qui informations aux systèmes appelants qui émettent une requête.émettent une requête.

Page 20: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

20

Web Services – WS InspectionWeb Services – WS Inspection

<?xml version="1.0"?><?xml version="1.0"?>

<inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"><inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/">

<service><service>

<description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://ws.com/weatherservice.wsdl" />location="http://ws.com/weatherservice.wsdl" />

</service></service>

<service> <description referencedNamespace="urn:uddi-org:api"> <service> <description referencedNamespace="urn:uddi-org:api"> <wsiluddi:serviceDescription location="http://ws.com/uddi/inquiry"> <wsiluddi:serviceDescription location="http://ws.com/uddi/inquiry"> <wsiluddi:serviceKey>52946BB0-BC28-11D5-A432-0004AC49CC1E</wsil<wsiluddi:serviceKey>52946BB0-BC28-11D5-A432-0004AC49CC1E</wsiluddi:serviceKey> </wsiluddi:serviceDescription> </description>uddi:serviceKey> </wsiluddi:serviceDescription> </description>

</service></service>

<link <link referencedNamespace="http://schemas.xmlsoap.org/ws/2001/10/inspectireferencedNamespace="http://schemas.xmlsoap.org/ws/2001/10/inspection/" location="http://ws.com/secondarysiteservices.wsil"/>on/" location="http://ws.com/secondarysiteservices.wsil"/>

</inspection> </inspection>

Page 21: 1 Les technologies XML Cours 6 : Les Web Services et UDDI Mars 2010 - Version 1.0 -

21

Web Services – WS InspectionWeb Services – WS Inspection

L’exemple précédent montre :L’exemple précédent montre :

Une exposition directe d’un service par sa Une exposition directe d’un service par sa description WSDLdescription WSDL

Une exposition à travers un annuaire UDDIUne exposition à travers un annuaire UDDI

Une référence à une autre description WSIL.Une référence à une autre description WSIL.

On peut voir WS-Inspection comme un On peut voir WS-Inspection comme un complément à UDDI en particuliers dans des complément à UDDI en particuliers dans des solutions maîtrisées (intranet)solutions maîtrisées (intranet)