Universal Description Discovery and Integration 147555 30906462 2008-06-23T08:52:18Z Albambot 363699 robot Ajoute: [[ko:UDDI]] '''Universal Description Discovery and Integration''', connu aussi sous l'[[acronyme]] '''UDDI''', est un [[annuaire]] de services basé sur [[Extensible Markup Language|XML]] et plus particulièrement destiné aux [[Service Web#Les Services Web WS-*|services Web]]. UDDI a été conçu pour une utilisation conjointe avec le [[registre ebXML]] pour le [[commerce électronique]]. Un annuaire UDDI permet de localiser sur le réseau le [[Service Web#Les Services Web WS-*|service Web]] recherché. C'est un élément clé dans les [[Liste des spécifications des Services Web WS-*|spécifications de Services Web WS-*]], car il permet l'[[Liste des spécifications des Services Web WS-*#Accès aux répertoires|accès aux répertoires]] des utilisateurs potentiels de services web. UDDI est une spécification mise au point par l'[[OASIS]]. == Historique == Le projet UDDI a commencé en octobre [[2000 en informatique|2000]] par une collaboration entre [[Microsoft]], [http://www.ariba.com/company/news.cfm?pressid=396&archive=1 Ariba], et [[International Business Machines Corporation|IBM]]. D'autres entreprises s'y sont jointes comme [[Sun Microsystems]], [[Oracle Corporation|Oracle]], [[Hewlett-Packard|HP]] ou encore [[SAP AG|SAP]]. Une version 2 a été mise au point en [[2002]]. La version 3 a été mise au point en [[2003]], et a été adoptée par quelques entreprises en [[2005]] ([http://xml.coverpages.org/ni2005-02-02-a.html pour information seulement]). == Utilisation d'UDDI pour le commerce électronique == === UDDI : un annuaire de services web pour ebXML === UDDI a vocation d'être employé dans le [[commerce électronique]] comme un annuaire pour la [[Découverte des services web WS-*|découverte des services web WS-*]], en étant couplé avec le [[registre ebXML]] avec lequel il est étroitement imbriqué <ref> Voir [http://www.webservices.org/categories/technology/registry_uddi/uddi_and_ebxml_registry_a_co_existence_paradigm/(go)/Articles UDDI and ebXML Registry: A Co-Existence Paradigm] </ref>. De cette façon, UDDI permet de construire des registres de services web. En pratique, UDDI permet de stocker à la fois des informations techniques et des informations sur les [[processus d'affaires]] telles que l'adresse pour accéder aux [[Service Web#Les Services Web WS-*|services Web]], mais également des informations beaucoup plus contextuelles, telles que le nom de la personne qui s'occupe de leur gestion, la description sommaire de leurs fonctionnalités ou encore le nom et la branche d'activité de l'entreprise dont ils dépendent. === Place d'UDDI dans le commerce électronique === Le commerce électronique comporte trois phases principales : * le transport : assuré grâce au protocole [[SOAP]], * la découverte des [[Service Web#Les Services Web WS-*|services Web]] : c'est là qu'intervient UDDI, * la description des [[Service Web#Les Services Web WS-*|services Web]] : assurée grâce à [[WSDL]] (basé sur [[Extensible Markup Language|XML]]). [http://www.guideinformatique.com/fiche-soap_uddi_wsdl-377.html Source : guide informatique] === Consultation de l'annuaire === L'annuaire UDDI est consultable de différentes manières : * ''Les pages blanches'' comprennent la liste des entreprises ainsi que des informations associées à ces dernières. Nous y retrouvons donc des informations comme le nom de l'entreprise, ses coordonnées, la description de l'entreprise mais également l'ensemble de ses identifiants. * ''Les pages jaunes'' recensent les [[Service Web#Les Services Web WS-*|services Web]] de chacune des entreprises sous le standard [[WSDL]]. * ''Les pages vertes'' fournissent des informations techniques précises sur les services fournis. Ces informations concernent les descriptions de services et d'information de liaison ou encore les processus métiers associés. Grâce à cette triple lecture, l'ensemble des informations utiles sont accessibles. === Utilisation d'UDDI pour trouver un registre/répertoire ebXML === En mai [[2001]], [[International Business Machines Corporation|IBM]] et [[Sun Microsystems|Sun]] ont signé un document intitulé "Using UDDI to find ebXML Registry/Repository". Ce document présente une étude de cas qui montre comment utiliser le registre "business" UDDI pour rechercher un [[registre ebXML]], et définit une série d'étapes qui doivent être suivies pour définir et enregistrer un registre ebXML dans un registre UDDI. Ce document peut être trouvé à l'adresse http://www.ebxml.org/specs/rrUDDI.pdf . Il y a la possibilité d'une [[interopérabilité informatique|interoperabilité opérationnelle]] entre UDDI et un registre [[ebXML]] en termes de découverte. Différents documents ont été écrits sur ce sujet. Dans l'architecture ebXML, UDDI peut interargir en utilisant [[CORBA]]. === UDDI comme registre pour les composants ebXML === En [[2003]], le comité technique UDDI a produit une note intitulée "UDDI as the registry for ebXML components" (UDDI comme registre pour les [[composant commun|composants]] [[ebXML]]). Cette note technique fournit des lignes directrices pour l'utilisation des registres UDDI dans le framework ebXML des services [[B2B]], et pour permettre la découverte automatique de [[composant commun|composants]] du framework ebXML (''Collaboration Protocol Profiles'', ''Collaboration Protocol Agreements'', ''Business Process Schema Specifications'', etc.) en utilisant UDDI. Cette interopérabilité démultiple les forces complémentaires de chaque registre de manière effective. == Architecture fonctionnelle == '''Avertissement''' : Cette section est placée à titre d'information exclusivement, et n'est pas destinée à une utilisation pour la programmation. Voir [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709189 Base UDDI architecture V3.0.1] === Représentation des informations === [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709198 Détails sur la représentation des informations, v3.0.1] Pour que les [[Service Web#Les Services Web WS-*|services Web]] aient du sens, on a besoin de fournir des informations qui dépassent les spécifications techniques des services. Le cœur du registre UDDI est constitué par la représentation des [[donnée]]s et des [[métadonnée]]s sur les [[Service Web#Les Services Web WS-*|services Web]]. === Schémas UDDI === Détails : [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709212 Schémas UDDI version 3.0.1] UDDI utilise le langage [[XML Schema]] pour décrire ses structures de données. En version 3.0.1 de UDDI, il existe 9 schémas XML : * [http://uddi.org/schema/uddi_v3.xsd UDDI API Schema] * [http://uddi.org/schema/uddi_v3custody.xsd UDDI Custody Schema] * [http://uddi.org/schema/uddi_v3subscription.xsd UDDI Subscription Schema] * [http://uddi.org/schema/uddi_v3subscriptionListener.xsd UDDI Subscription listener Schema] * [http://uddi.org/schema/uddi_v3replication.xsd UDDI Replication Schema] * [http://uddi.org/schema/uddi_v3valueset.xsd UDDI Value Set Validation Schema] * [http://uddi.org/schema/uddi_v3valuesetcaching.xsd UDDI Value Set Catching] * [http://uddi.org/schema/uddi_v3policy.xsd UDDI Policy] * [http://uddi.org/schema/uddi_v3policy_instanceParms.xsd UDDI Policy Instance Parameters] === Structures de données UDDI === ==== Quatre types principaux de structures de données ==== Les informations qui permettent d'établir un enregistrement UDDI consistent en quatre types principaux de [[structures de données]] [[Extensible Markup Language|XML]]. Cette répartition simple par type d'information aide à la localisation et à la compréhension rapide des différentes informations qui constituent un enregistrement. Ces quatre types constituent l'ensemble des informations fournies par le cadre de description de service UDDI. Chacune de ces structures XML contient un certain nombre de champs qui servent à décrire une affaire ou une technologie. Détails : * [http://uddi.org/pubs/DataStructure-V2.03-Published-20020719.htm Structure de données de référence, V2.03], 19 juillet [[2002]], participation [[International Business Machines Corporation|IBM]], HP, Fujitsu, Sun, [[Microsoft]], [[SAP AG|SAP]], [[Oracle Corporation]]. * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709219 UDDI structure de données du registre, version 3.0.1], 14 octobre [[2003]], participation [[International Business Machines Corporation|IBM]], [[Microsoft]], [[France Telecom]], [[SAP AG|SAP]], [[Oracle Corporation]]. ==== Entité d'affaires ==== Terme anglais : ''businessEntity'' Détails (v3.0.1) : * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709199 Représentation des entités métier avec businessEntity] * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709226 Description de la structure de businessEntity] BusinessEntity est une [[structure de donnée]] de haut niveau qui décrit une entreprise ou une autre entité pour laquelle une information est enregistrée. Elle est employée pour représenter les entreprises ("businesses") et les fournisseurs dans UDDI. Elle contient de l'information descriptive sur l'entreprise ou le fournisseur et sur les [[Service Web#Les Services Web WS-*|services]] qu'il propose. '''[http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709228 Documentation complémentaire]''' : * discoveryURL : URL de "découverte", * name : autres noms de la businessEntity, * description : descriptions dans de multiples [[langue]]s de la businessEntity (xml:lang), * contact : information sur les [[contact]]s, * adresse : adresse postale du contact, avec la langue (xml:lang), et ligne d'adresse, * businessServices, * identifierBag : information de classification. * categoryBag : informations sur les [[norme]]s par exemple, etc Les descriptions de service et l'information technique sont exprimés dans une businessEntity par les structures businessService et bindingTemplate qui lui appartiennent. Même si le nom de l'entité XML contient le mot “business”, la structure peut très bien être employée pour modéliser plus qu'un simple “business”. ==== Service d'affaires ==== Terme anglais : ''businessService'' Détails (v3.0.1) : * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709200 Représentation des services avec businessService] * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709229 Description de la structure de businessService] BusinessService permet de décrire un ensemble logique de [[Service Web#Les Services Web WS-*|services web]], qui peut contenir un ou plusieurs bindingTemplates. Au niveau service, aucune information technique n'est encore fournie sur ces services ; en revanche, cette structure offre la possibilité d'assembler un ensemble de services sous une rubrique commune. Chaque businessService est le fils logique d'une seule businessEntity. Chaque businessService contient de l'information descriptive – noms, descriptions et information de classification - qui soulignent l'objectif des [[Service Web#Les Services Web WS-*|services web]] individuels que l'on trouve à l'intérieur. Par exemple, une structure businessService pourrait contenir un ensemble de [[Service Web#Les Services Web WS-*|services web]] de commandes d'achat (soumission, confirmation et notification) qui sont fournies par un métier. ==== bindingTemplate ==== Détails (v3.0.1) : * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709201 Représentation de l'information technique des services web avec bindingTemplate] * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709232 Description de la structure de bindingTemplate] Information requise pour invoquer des services spécifiques qui peuvent contenir des liens avec un ou plusieurs protocoles, comme [[HTTP]] or [[Simple Mail Transfer Protocol|SMTP]]. ==== tModel ==== Détails (v3.0.1) : * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709202 Représentation des modèles techniques avec tModels] * [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709235 Description de la structure des modèles techniques] * [http://www.uddi.org/tmodels.html tModel sur le site UDDI] tModel (technical model ou modèle technique) correspond à l'“empreinte digitale” technique pour un [[Service Web#Les Services Web WS-*|service]] donné qui peut aussi fonctionner comme [[espace de noms]] (''namespace'') pour identifier d'autres entités, incluant d'autres tModels. L'utilisation des tModels est essentielle dans la manière avec laquelle UDDI représente les [[donnée]]s et les [[métadonnée]]s. Le tModel peut comporter les informations suivantes : * Définition des protocoles ([[HTTP]], SMTP), * Ensemble de valeurs : systèmes d'identificateurs, [[espaces de noms]],... * Groupes de catégorisations, * Formats d'[[adresses postales]], * ''Find qualifiers'' utilisés pour modifier le comportement des [[Interface de programmation|API]] UDDI find_xx, * Attributs de type d'utilisation, qui spécifient le type de [[ressource informatique|resource]] auquel on fait référence dans une [[URI]]. ==== Autres (publisherAssertion,...) ==== '''publisherAssertion''' : Description, dans la vue d'une businessEntity, de la relation qu'une businessEntity entretient avec une autre businessEntity. '''subscription''' : Description d'une requête dans la durée pour garder la trace des changements des entités déscrites par la souscription. == Architecture technique == === Orientations techniques === Techniquement, UDDI se place dans le cadre d''''[[architectures orientées services]]''' (''Service Oriented Architecture''). Il repose sur un ensemble de [[technologies de l'information et de la communication|technologies]] compatibles avec le [[langage de balisage]] [[Extensible Markup Language|XML]] : * le protocole de [[transmission de données|transport]] [[SOAP]] ([[HTTP]]), * le [[langage de description de format de document]] [[XML Schema]], * et le langage de description de [[Service Web#Les Services Web WS-*|service web]] [[WSDL]]. === Services et sets [[Interface de programmation|API]] === Sommaire : [http://uddi.org/pubs/uddi-v3.0.1-20031014.htm#_Toc53709191 UDDI Services and API Sets] === Nœuds UDDI === Les nœuds UDDI sont des services qui supportent les spécifications UDDI et appartiennent à un registre UDDI. === Registre UDDI === Les registres UDDI sont des ensembles d'un ou plusieurs nœuds. == Emploi au niveau des gouvernements == UDDI est employé dans le cadre des [http://www.xml.gov/presentations/uddi/sld001.htm initiatives XML du gouvernement fédéral des USA]. En septembre [[2003]], UDDI restait à l'état "à suivre" dans le [[cadre commun d'interopérabilité]] de l'[[Union européenne]] <ref> cf [http://ploug.eu.org/doc/format-ouvert-2003.pdf Cadre commun d'interopérabilité - les architectures applicatives, page 4]</ref>. == Implémentations == '''Avertissement''' : Cette section est placée à titre d'information exclusivement, et n'est pas destinée à une utilisation pour la programmation. === Clients UDDI === * [http://uddi4j.sourceforge.net uddi4j] : UDDI pour [[Java (programming language)|Java]] * [http://www.microsoft.com/downloads/details.aspx?FamilyId=542991CF-9056-49FD-BABF-7FF3638EE6B1 UDDI.NET SDK] : UDDI pour [[Microsoft .NET]] * [http://uddi4r.rubyforge.org uddi4r] : UDDI pour [[Ruby]] * [http://www.alphaworks.ibm.com/tech/uddi4py uddi4py] : UDDI pour [[Python (langage)|Python]] * [http://search.cpan.org/dist/SOAP-Lite/lib/UDDI/Lite.pm UDDI::Lite] : UDDI pour [[Perl]] === Serveurs UDDI === * [http://ws.apache.org/juddi/ Apache jUDDI: Open-Source UDDI Server] * [http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/aqualogic/service_registry/ BEA Aqualogic Service Registry] * [http://developer.novell.com/wiki/index.php/Novell_Nsure_UDDI_Server Novell nSure UDDI Server: Open-Source UDDI Server] * [http://www.microsoft.com/windowsserver2003/technologies/idm/uddi/default.mspx Microsoft Enterprise UDDI Server: Part of Windows 2003 Server] * [http://www.systinet.com/products/sr/overview Systinet Registry] * [http://www.oracle.com/technology/tech/webservices/htdocs/uddi/index.html OracleAS Service Registry] * [http://www.softwareag.com/Corporate/products/centrasite/default.asp Software AG CentraSite] == Référence == <references/> == Voir aussi == * [[ebXML]] * [[Interopérabilité informatique]] * [[Cadre commun d'interopérabilité]] * [[Composant commun]] * [[Registre de métadonnées]] * [[Carnet d'adresses]], [[Carnet d'adresses#Aspects normatifs|aspects normatifs]] == Liens externes == * {{fr}} [http://www-adele.imag.fr/Les.Publications/reports/DEA2004Del.pdf Découverte et sélection des services Web pour une application Mélusine] ([[2004]]) * {{en}} [http://uddi.xml.org/ Site officiel] * {{en}} [http://www.webservices.org/categories/technology/registry_uddi/uddi_and_ebxml_registry_a_co_existence_paradigm/(go)/Articles UDDI and ebXML Registry : A Co-Existence Paradigm sur le site webservices.org] * {{en}} [http://www.oasis-open.org/committees/uddi-spec/tcspecs.shtml#uddiv2 Spécifications d'UDDI sur le site de l'OASIS] * {{en}} [http://ws.apache.org/juddi/ Serveur d'annuaire de l'organisation Apache sous licence libre] [[Catégorie:Commerce électronique]] [[Catégorie:Annuaire]] [[Catégorie:Protocole réseau]] [[Catégorie:Services web]] [[de:Universal Description, Discovery and Integration]] [[en:Universal Description Discovery and Integration]] [[es:UDDI]] [[fa:شرح، کشف، و یکپارچه‌سازی فراگیر]] [[hu:UDDI]] [[it:Universal Description Discovery and Integration]] [[ja:UDDI]] [[ko:UDDI]] [[nl:Universal Description Discovery Integration]] [[pl:Universal Description Discovery and Integration]] [[pt:UDDI]] [[ru:UDDI]] [[sv:UDDI]] [[zh:UDDI]]