340 likes | 890 Views
UDDI. Jianguo Lu University of Windsor. UDDI Registry. Points to description. WSDL. publish. Finds Service. Describes Service. Service Consumer. Web Service Provider. SOAP. Communicates with XML Messages. What is UDDI?. Universal Description, Discovery, and Integration
E N D
UDDI Jianguo Lu University of Windsor 60-569
UDDI Registry Points to description WSDL publish Finds Service Describes Service Service Consumer Web Service Provider SOAP Communicates with XML Messages What is UDDI? • Universal Description, Discovery, and Integration • A project to encourage interoperability and adoption of web services • Standards-based specifications for service publication and discovery. • A set of internet-based implementations • UDDI business registry • Interoperating to share registrations • Partnership among industry & business leaders • Initiated by Ariba, IBM, and Microsoft 60-569
4) Marketplaces, search engines, and business apps query the registry to discover services at other companies 1) Software companies, standards bodies and programmers populate the registry with descriptions of different tModels 2) Businesses populate the registry with descriptions of the services they support 5) Businesses use this data to facilitate easier integration with each other over the Web How UDDI Works UDDI Business Registry 3) UDDI assigns a programmatically unique identifier (UUID) to each tModel and business registration and stores them an Internet registry 60-569
Technical Models a.k.a. “tModels” White Pages Yellow Pages Green Pages Information in the Registry Standards bodies, programmers and businesses register information about their technical models, including specifications, taxonomies, etc. Businesses register public information about themselves and the services they offer 60-569
White page: • they are listings of organizations, of contact information such as phone number and email addresses, and of the services these organizations provide. Using the registry as a white page catalogue, UDDI clients can find web services provided by a given business • Yellow page • they are classifications of both companies and web services according to taxonomies that can be either standardized or user defined. Through yellow pages, it is possible to search for services based on the category the services belong to, according to a given classification scheme. • Green page • It describes how a given web service can be invoked. It is provided by means of pointers to service description documents, typically stored outside the registry. 60-569
UDDI Data Structure BusinessEntity businessKey, name, contact, description,identifiers, categories WSDL Document External Web Service Interface Description (located at the service provider) BusinessService serviceKey, businessKey, name description, categories BindingTemplate bindingKey, serviceKey,description, categories, access point tModel name, description,overview document,url pointer to WSDL 60-569
Newer version of UDDI support the relationships between business entities, such as information that Company A owns company B. • Binding template describes the technical information necessary to use a particular web service. Essentially, it describes the address at which the web service is made available along with a set of detailed information, such as references to documents (called tModels) describing the web service interface or other service properties. 60-569
Business Name Services Category A simple businessEntity structure <businessEntity businessKey= “A687FG00-56NM-EFT1-3456-098765432124”> <name>Acme Travel Incorporated</name> <description xml:lang=“en”> Acme is a world leader in online travel services </description> <contacts> <contact useType=“US general”> <personName>Acme Inc.</personName> <phone>1 800 CALL ACME</phone> <email useType=““>acme@acme-travel.com</email> <address>….</address> </contact> </contacts> <businessServices> ... …. </businessServices> <identifierBag> ... </identifierBag> <categoryBag> ... <keyedReference tModelKey= “UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384” keyName=“Electronic check-in” keyValue=“84121801”/> </categoryBag> </businessEntity> 60-569
A simple businessService structure Service Key Service Name Binding Template tModelDetails Category <businessService serviceKey= “894B5100-3AAF-11D5-80DC-002035229C64” businessKey=“D2033110-3AAF-11D5-80DC-002035229C64”> <name>ElectronicTravelService</name> <description xml:lang=“en”>Electronic Travel Service</description> <bindingTemplates> <bindingTemplate bindingKey= “6D665B10-3AAF-11D5-80DC-002035229C64” serviceKey=“89470B40-3AAF-11D5-80DC-002035229C64”> <description> SOAP-based e-checkin and flight info </description> <accesssPoint URLType=“http”> http://www.acme-travel.com/travelservice </accessPoint> <tModelInstanceDetails> <tModelInstanceInfo tModelKey=“D2033110-3BGF-1KJH-234C-09873909802”> <description> …</description> </tModelInstanceInfo> </tModelInstanceDetails> </bindingTemplate> </bindingTemplates> <categoryBag> ... </categoryBag> </businessService> 60-569
TModel definition <tModel tModelKey=“D2033110-3BGF-1KJH-234C-09873909802“> <name>http://www.travel.org/e-checkin-interface</name> <description xml:lang=“en”> Standard service interface definition for travel services </description> <overviewDoc> <description xml:lang=“en”> WSDL Service Interface Document </description> <overviewURL> http://www.travel.org/services/e-checkin.wsdl </overviewURL> </overviewDoc> <categoryBag> ... </categoryBag> </tModel> 60-569
Registry Operation • Peer nodes (websites) • Companies register with any operator • Registrations can be replicated • Complete set of “registered” records available at all operator nodes • Common set of SOAP APIs supported by all operators • Compliance enforced by business contract uddi.org SAP IBM Microsoft Hewlett Packard other 60-569
IBM UDDI Business Registry Sites: Official Registry: http://www.ibm.com/services/uddi Test Registry: http://www.ibm.com/services/uddi/testregistry Microsoft UDDI Business Registry Sites: Official Registry: http://uddi.microsoft.com Test Registry: http://test.uddi.microsoft.com Each supports both SOAP & Web Page access There are public and private registries Public registries do not have many web services Both IBM and Microsoft have around 1000 services. Many of them may not work Private registries? Current Operators 60-569
UDDI Registry API • Three groups of users: • Service provider; • Service requester; • Other registries. • Six API sets: • UDDI Inquiry API; • UDDI Publishers API; • UDDI Security API; • UDDI Custody and Ownership Transfer API; • UDDI Subscription API; • UDDI Replication API. 60-569
Registry API • Security API: allows UDDI users to get and discard authentication tokens ti be used in further communication with the registry • UDDI Custody: enable registries to transfer the custody of information among themselves and to transfer ownership of these structures from one publisher to another. • UDDI subscription: enable the monitoring of changes in a registry. To track new, modified, and deleted entries. • UDDI Replication: support replication of information between registries, so that different registries can be synchronized. 60-569
Inquiry API Find find_business find_service find_binding find_tmodel Get details get_businessdetail get_servicedetail get_bindingdetail get_tmodeldetail get_registeredinfo Publishers API Save save_business save_service save_binding save_tmodel Delete... delete_business delete_service delete_binding delete_tmodel The UDDI Programmer’s API • Tools • UDDI4J • JAXR 60-569
Limitations of UDDI • Limited query capabilities: search for services restricted to web service name and its classification. • Web service searching is an very active research area. 60-569