Les Services Web Version 1.3 UDDI o Les principes UDDI o La recherche de services UDDI o La publication (c) Leuville Objects. Tous droits de traduction, d adaptation et de reproduction par tous procédés, réservés pour tous pays. Toute reproduction ou représentation intégrale ou partielle, par quelque procédé que ce soit des pages publiées dans le présent ouvrage, faite sans l autorisation de Leuville Objects, est illicite et constitue une contrefaçon (loi du 11 mars 1957 et code de la propriété intellectuelle du 1er juillet 1992, articles L 122-4, L 122-5 et L 335-2).
(c) Leuville Objects Les Services Web - UDDI 1/30/08 5-108
Les Services Web - UDDI Version 1.3 Principes de fonctionnement Recherche du service 1 Annuaire UDDI Client description WSDL <une balise>......... </une balise> Enregistre le service dans l annuaire Requête SOAP Fournisseur du service 2 Réponse SOAP Frontal SOAP Objet Métier : J2EE,.NET,... (c)leuville Objects 5-109
Principes de fonctionnement Le fournisseur du service WEB peut l enregistrer au sein d un annuaire UDDI, soit à l intérieur de son entreprise, soit à l extérieur si ce service est destiné à être utilisé par des acteurs externes. Un client est alors en mesure d interroger l annuaire à partir de critères qui lui sont propres pour obtenir la description WSDL du service WEB. Cette description permet d automatiser et donc de simplifier la phase de requêtage via SOAP. En effet, de nombreux outils permettent de produire des proxy d interrogation des services WEB à placer côté client afin de masquer les complexités de SOAP. Un service WEB peut être réalisée avec n importe quelle technologie de développement. Les serveurs d applications de type J2EE ou.net proposent généralement des mécanismes permettant de simplifier énormément la réalisation d un service WEB. Il s agit la plupart du temps de frontaux SOAP générés automatiquement qui permettent au concepteur de se concentrer sur le développement de ses objets métier. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-110
Les Services Web - UDDI Version 1.3 UDDI o Fonctionnement comparable aux DNS réseau Publication de services WEB o Permet la création, l édition et la suppression d enregistrements via des messages SOAP avec accès sécurisé o Publisher API Recherche de services WEB o Accessible par l intermédiaire de SOAP o Quatre types d informations définies avec XML schéma o <businessentity> : identification d une entreprise ou d une organisation permettant une recherche de type "Pages blanches" o <businessservice> : informations métier sur un service particulier ("Pages jaunes") o <bindingtemplate> : éléments techniques indispensables à l invocation du service ("Pages vertes") o <tmodels> : références aux spécifications utilisées o Inquiry API (c)leuville Objects 5-111
UDDI La spécification UDDI a été établie suite aux travaux initiaux de Ariba, IBM et Microsoft. Elle définit un accès programmatique normalisé à des services métier invocables indépendamment des technologies. Les registres UDDI fonctionnent avec un système de réplication d informations, à la façon des serveurs DNS, afin d offrir une fiabilité maximale. Publication de services WEB Le volet publication de la spécification UDDI prévoit plusieurs modalités de publication d un service WEB: o l utilisation d une API dédiée qui permet d automatiser cette t, o l utilisation d un service en ligne avec une interface de type WEB, de façon analogue à ce que certains moteur de recherche proposent sur Internet. Recherche de services WEB Dans le cadre d échanges de type B2B, la présence d une API normalisée de recherche est indispensable. Cette API permet d accèder aux pages blanches et jaunes d un registre, mais également à sas pages vertes, ce qui permet d automatiser la recherche et l invocation d un service WEB. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-112
Les Services Web - UDDI Version 1.3 Contenu de la spécification UDDI Description o Une organisation des fournisseurs de services par secteurs d activités o Un modèle de données pour décrire: o la taxonomie des acteurs et services o les services eux-mêmes o Des modalités d échanges entre fournisseurs de services et de registres o Une API basée sur XML pour interagir avec les registres UDDI o Une indépendance vis-à-vis des plateformes et systèmes (c)leuville Objects 5-113
Contenu de la spécification UDDI Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-114
Les Services Web - UDDI Version 1.3 L architecture définie par UDDI UDDI Business Registry o Définit un ensemble de noeuds publics appelés Operator Nodes o Réplication et partage d informations entre opérateurs Private Operator Nodes o Propose des informations à l intérieur d une organisation, sans partage avec le niveau UBR (c)leuville Objects 5-115
L architecture définie par UDDI Notes Les opérateurs du niveau UBR sont responsables de la validité des informations publiées. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-116
Les Services Web - UDDI Version 1.3 L organisation UDDI Pages blanches o Identifications des fournisseurs de services o identifiant unique o nom, adresses,... Pages jaunes o Classification arborescente des services par secteurs d activités o Taxonomie basée sur des standards économiques Américains (NAICS) Pages vertes o Description des moyens techniques d utilisation des services o Localisation des descriptions WSDL (c)leuville Objects 5-117
L organisation UDDI Notes Ces trois niveaux d organisation sont suggérés par la spécification UDDI. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-118
Les Services Web - UDDI Version 1.3 API UDDI o Ensemble de messages SOAP qui doivent être traités par un Operator Node Deux niveaux o Inquire API o accès en lecture aux informations liées aux organisations, aux services et à leurs spécifications techniques o Publish API o accès en écriture aux informations Caractéristiques des opérations UDDI o mode requête / réponse sur HTTP ou HTTPS o services sans état (stateless) (c)leuville Objects 5-119
API UDDI Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-120
Les Services Web - UDDI Version 1.3 Les structures de données UDDI o businessentity o nom de société, adresse, catégorie, description et liens vers d autres businessentity o businessservice o représente un service unitaire o bindingtemplate o description technique et URL d accès o publisherassertion o association publique entre deux businessentity o tmodel o description abstraite de l interface d un service UUID o Chaque structure est identifiée par un Universal Unique Identifier (c)leuville Objects 5-121
Les structures de données UDDI UUID Les UUID sont des chaines hexadécimales générées par un algorithme conforme à la spécification ISO/IEC 11578:1996. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-122
Les Services Web - UDDI Version 1.3 Les structures de données UDDI Exemple (c)leuville Objects 5-123
Les structures de données UDDI Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-124
Les Services Web - UDDI Version 1.3 businessentity XMLSchéma (c)leuville Objects 5-125
businessentity XMLSchema (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-126
Les Services Web - UDDI Version 1.3 publisherassertion XMLSchema (c)leuville Objects 5-127
publisherassertion XMLSchema (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-128
Les Services Web - UDDI Version 1.3 businessservice XMLSchema (c)leuville Objects 5-129
businessservice XMLSchema (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-130
Les Services Web - UDDI Version 1.3 bindingtemplate XMLSchema (c)leuville Objects 5-131
bindingtemplate XMLSchema (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-132
Les Services Web - UDDI Version 1.3 tmodel XMLSchema (c)leuville Objects 5-133
tmodel XMLSchema (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-134
Les Services Web - UDDI Version 1.3 Les messages SOAP de l API Inquire Opérations de type find o <find_business> retourne <businesslist> o <find_service> retourne <servicelist> o <find_binding> retourne <bindingdetail> o <find_tmodel> retourne <tmodellist> o <find_relatedbusinesses> retourne <relatedbusinesseslist> Opérations de type get o <get_businessdetail> retourne <businessdetail> o <get_servicedetail> retourne <servicedetail> o <get_bindingdetail> retourne <bindingdetail> o <get_tmodeldetail> retourne <tmodeldetail> o <get_businessdetailext> retourne <businessdetailext> (c)leuville Objects 5-135
Les messages SOAP de l API Inquire Opérations de type find Ces opérations retournent souvent des collections. Opérations de type get Ces opérations admettent un paramètre de type UUID. (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-136
Les Services Web - UDDI Version 1.3 Exemple d invocation SOAP de <find_service> Requête Réponse (c)leuville Objects 5-137
Exemple d invocation SOAP de <find_service> Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-138
Les Services Web - UDDI Version 1.3 Les messages SOAP de l API Publish Login / logout o <get_authtoken> o <discard_authtoken> Modifier le registre en sauvant les modifications o <save_business> o <save_service> o <save_binding> o <save_tmodel> o <add_publisherassertions> (c)leuville Objects 5-139
Les messages SOAP de l API Publish Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-140
Les Services Web - UDDI Version 1.3 Les messages SOAP de l API Publish Destruction d informations o <delete_business> o <delete_service> o <delete_binding> o <delete_tmodel> o <delete_publisherassertions> Toutes ces opérations retournent <dispositionreport> Autres opérations o <get_registeredinfo> o <get_publisherassertions> o <set_publisherassertions> o <get_assertionstatusreport> (c)leuville Objects 5-141
Les messages SOAP de l API Publish Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-142
Les Services Web - UDDI Version 1.3 Exemple d invocation SOAP de <delete_service> Requête (c)leuville Objects 5-143
Exemple d invocation SOAP de <delete_service> Notes (c) Leuville Objects Les Services Web - UDDI 1/30/08 5-144