22
UDDI Universal Description, Discovery and Integration protocol Elizabeth Fischer

Universal Description, Discovery and Integration protocol

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universal Description, Discovery and Integration protocol

UDDI

Universal Description, Discoveryand Integration protocol

Elizabeth Fischer

Page 2: Universal Description, Discovery and Integration protocol

History of UDDI

First specification proposed in 2000 byIBM, Ariba and MicrosoftMost current version of specificationv3.02 in September 2005Control of UDDI given to OASIS – infofound in uddi.org

Page 3: Universal Description, Discovery and Integration protocol

Purpose of UDDI

“A UDDI registry, either for use in thepublic domain or behind the firewall,offers a standard mechanism to classify,catalog and manage Web services, sothat they can be discovered andconsumed. “ UDDI V3.0.2 specification

Page 4: Universal Description, Discovery and Integration protocol

Basic goals of UDDIFramework for describing and discoveringbusiness services, and service providersDefines data structures and APIs forpublishing services descriptions to the registryand querying the registrySupport developers in finding informationabout servicesDetermine the security and transportprotocols supported by a given Web serviceSupport looking for services based on ageneral keyword

Page 5: Universal Description, Discovery and Integration protocol

Ways to Use a UDDI registryWhite Pages Obtaining listings of organizations, contact info,

list of general services provided

Yellow Pages Look up information via standardized or user-

defined taxonomies. UDDI supports standardizedand user-defined classifications

Green pages Full descriptions of individual web services.

Provided by pointers to service descriptions, whichare usually stored outside of the registry

Page 6: Universal Description, Discovery and Integration protocol

Structure of UDDIXML documentsAPIs are specified in WSDL with SOAPbindingUDDI registry itself can be accessed asa web serviceSupports four core data structures: businessEntity businessService bindingTemplate tModel

Page 7: Universal Description, Discovery and Integration protocol

Relationship of UDDI Core Data Types

Page 8: Universal Description, Discovery and Integration protocol

businessEntity fields

Page 9: Universal Description, Discovery and Integration protocol

<identifierBag> <keyedReference tModelKey="uddi:uddi.org:ubr:identifier:dnb.com:d-u-n-s" keyName="SAP AG" keyValue="31-626-8655" /></identifierBag>

Page 10: Universal Description, Discovery and Integration protocol

businessService fields

Page 11: Universal Description, Discovery and Integration protocol

businessServiceEach businessService structure represents a logical grouping ofWeb services. At the service level, there is still no technicalinformation provided about those services; rather, this structureallows the ability to assemble a set of services under a commonrubric. Each businessService is the logical child of a singlebusinessEntity. Each businessService contains descriptiveinformation – again, names, descriptions and classificationinformation -- outlining the purpose of the individual Webservices found within it. For example, a businessServicestructure could contain a set of Purchase Order Web services(submission, confirmation and notification) that are provided bya business.

Page 12: Universal Description, Discovery and Integration protocol

bindingTemplate fields

Page 13: Universal Description, Discovery and Integration protocol

bindingTemplate

Each bindingTemplate structure represents an individual Webservice. In contrast with the businessService and businessEntitystructures, which are oriented toward auxiliary informationabout providers and services, a bindingTemplate provides thetechnical information needed by applications to bind andinteract with the Web service being described. It must containeither the access point for a given service or an indirectionmechanism that will lead one to the access point.Each binding Template is the child of a single businessService.The containing parents, a bindingTemplate can be decoratedwith metadata that enable the discovery of thatbindingTemplate, given a set of parameters and criteria.

Page 14: Universal Description, Discovery and Integration protocol

tModel fields

Page 15: Universal Description, Discovery and Integration protocol

<tModel tModelKey=“uddi:uddi.org:v3_publication”> <name>uddi-org:publication_v3</name> <description>UDDI Publication API V3.o</description> <overviewDoc> <overviewURL useType=“wsdlInterface”>http://uddi.org/wsdl/uddi_api_v3_binding.wsdl#UDDI_Publication_SoapBinding</overviewURL> </overviewDoc> <overviewDoc> <overviewURL useType=“text”> http://uddi.org/pubs/uddi_v3.htm#PubV3 </overviewURL> </overviewDoc> <categoryBag> <keyedReference keyName=“uddi-org:types:wsdl” keyValue=“wsdlSpec” tModelKey=“uddi:uddi.org:categorization:types” />

tModel describing the UDDI API

Page 16: Universal Description, Discovery and Integration protocol

tModel… The UDDI information model is based on this notion ofshared specifications and uses tModels to engender thisbehavior. For this reason, tModels exist outside the parent-childcontainment relationships between the businessEntity,businessService and bindingTemplate structures.Each distinct specification, transport, protocol or namespace isrepresented by a tModel. … To describe a Web service thatconforms to a particular set of specifications, transports, andprotocols, references to the tModels that represent theseconcepts are placed in the bindingTemplate. In such a way,tModels can be re-used by multiple bindingTemplates. ThebindingTemplates that refer to precisely the same set of tModelsare said to have the same "technical fingerprint" and are of thesame type. In this way, tModels can be used to promote theinteroperability between software systems.

Page 17: Universal Description, Discovery and Integration protocol

Data encoded in tModels

Transport and protocol definitions such as HTTP and SMTP.Value sets including identifier systems, categorization systemsand namespaces. Structured categorizations using multiplevalue sets called "categorization groups.“Postal address formats.Find qualifiers used to modify the behavior of the UDDI find_xxAPIs.Use type attributes that specify the kind of resource beingreferred to by a URI reference.

Page 18: Universal Description, Discovery and Integration protocol

Registering tModels

UDDI.org will publish them on their memberssectionRegistration is “limited to tModels thatrepresent a well-known concept and/or areowned by a well-known standards group, anindustry vertical or a consortium”Must conform to UDDI best practices forcodingSee currently registered tModels here

Page 19: Universal Description, Discovery and Integration protocol

UDDI Registry keys

Each entity is assigned a unique keyV3 allows keys to be defined in a waythat they are unique across registriesNow URI-based, patterned on DNSnamesUDDI key for UDDI API itself isuddi:uddi.org:categorization:types

Page 20: Universal Description, Discovery and Integration protocol

UDDI Registry API

Six separate APIs that can be used by: serviceproviders, requesters and other registriesUDDI Inquiry APIUDDI Publishers APIUDDI Security APIUDDI Custody and Ownership Transfer APIUDI Subscription APIUDI Replication API

Page 21: Universal Description, Discovery and Integration protocol

UDDI Inquiry API

Intended for developers looking to locateservices, and for clients at run-time fordynamic binding find_business, find_service, find_binding,

find_tModel get_businessDetail, get_serviceDetail,

get_bindingDetail, get_tModelDetail

Page 22: Universal Description, Discovery and Integration protocol

Purposes for UDDI Registries

Public implementation – UDDI UniversalBusiness Registry – now disbanded -see hereStated purpose now seems to be withina business infrastructure See vendortoolkits available