UDDI Jianguo Lu University of Windsor
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 UDDI Registry WSDL Web Service Provider SOAP Service Consumer Points to description publish Describes Service Finds Service Communicates with XML Messages
How UDDI Works 2) Businesses populate the registry with descriptions of the services they support UDDI Business Registry 3) UDDI assigns a programmatically unique identifier (UUID) to each tModel and business registration and stores them an Internet registry 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 5) Businesses use this data to facilitate easier integration with each other over the Web
Information in the Registry Standards bodies, programmers and businesses register information about their technical models, including specifications, taxonomies, etc. White Pages Yellow Pages Green Pages Technical Models a.k.a. “tModels” Businesses register public information about themselves and the services they offer
White page: –they are listings of organizations, of contact information such as phone number and 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.
UDDI Data Structure BusinessEntity businessKey, name, contact, description, identifiers, categories BusinessService serviceKey, businessKey, name description, categories BindingTemplate bindingKey, serviceKey, description, categories, access point tModel name, description, overview document, url pointer to WSDL WSDL Document External Web Service Interface Description (located at the service provider) provider)
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.
A simple businessEntity structure <businessEntity businessKey= “A687FG00-56NM-EFT ”> Acme Travel Incorporated Acme is a world leader in online travel services Acme Inc CALL ACME ….... … <keyedReference tModelKey= “UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384” keyName=“Electronic check-in” keyValue=“ ”/> Business Name Services Category
A simple businessService structure <businessService serviceKey= “894B5100-3AAF-11D5-80DC C64” businessKey=“D AAF-11D5-80DC C64”> ElectronicTravelService <bindingTemplate bindingKey= “6D665B10-3AAF-11D5-80DC C64” serviceKey=“89470B40-3AAF-11D5-80DC C64”> SOAP-based e-checkin and flight info …... Service Key Service Name Binding Template tModelDetails Category
TModel definition Standard service interface definition for travel services WSDL Service Interface Document
Mapping between WSDL and UDDI
uddi.org 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 Microsoft SAP IBM Hewlett Packard other
Current Operators IBM UDDI Business Registry Sites: –Official Registry: –Test Registry: Microsoft UDDI Business Registry Sites: –Official Registry: –Test Registry: 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?
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.
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.
The UDDI Programmer’s API 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 Tools UDDI4J JAXR
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.