View
109
Download
2
Category
Preview:
Citation preview
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 -
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
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.
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.
5
Web Services - UDDIWeb Services - UDDI
Structure Structure macroscopique d’un macroscopique d’un annuaire UDDIannuaire UDDI
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
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>
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>
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>
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>
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
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
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
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
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
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.
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
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)
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.
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>
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)
Recommended