Universal Description, Discovery and Integration (UDDI)
UDDI is intended to create a "platform-independent, open framework for describing services, discovering businesses, and integrating business services using the Internet." [UDDI WWW page]
According the UDDI Version 2.0 API, UDDI registires "expose information about a business or other entity and its technical interfaces (or API s). These registries are run by multiple Operator Sites, and can be used by anyone who wants to make information available about one or more businesses or entities, as well as anyone that wants to find that information."
UDDI is being developed by a broad-based industry consortium that includes EDS, IBM, Microsoft, SAP, SUN, and many other companies. The UDDI effort is described at www.uddi.org.
The UDDI Version 1.0 API was released
in September 2000. The UDDI Version 2.0 API was released in April
2001. Long-term plans call for the
UDDI recommendations to a standards
organization, but there is no given timetable.
Motivation
From the WDDI FAQ:
What are some of the problems is UDDI solving?
Today organizations find it difficult to find a business that offers services that best fit their needs. UDDI makes it possible for organizations to quickly discover the right business out of the millions that are currently online.
Once an organization finds a potential business partner, there's no standard mechanism to figure out how to conduct electronic business with this partner. UDDI makes it possible for organizations to programmatically describe their services and specify how they prefer to conduct business, so that partners can quickly and easily begin trading.
Q: What are some of the benefits UDDI provides?
UDDI can give a business visibility on a global scale by providing a means for an organization to advertise its business and services in a global registry.
UDDI can help a business develop new e-business partnerships, by enabling businesses to quickly and dynamically discover and interact with each other on the Internet.
UDDI enables businesses to programmatically describe their services and business processes and their preferred methods for conducting business.
UDDI can simplify the effort of integrating disparate business processes. In short, UDDI can help an organization expand markets, improve efficiency, and reduce costs by easing the way into the global Internet economy.
APIs and SOAP
Within UDDI, there are two APIs:
a Publishers API and an Inquiry API. The API functions
are exposed as SOAP messages over HTTP. HTTPS
(with SSL 3.0) is used for Publisher
API calls. No authentication is required for Inquiry API functions.
The first line of error reporting is governed by SOAP.
UDDI Model
The UDDI tModel is the information about specifications, i.e., metadata construct about the specification. UDDI tModels are registered within UDDI and there is a corresponding tModelkey that uniquely identifies the service specification.
There are three Inquiry query patterns:
browse, drill-down, and invocation. The browse pattern allows users
to explore and examine data via find_xxx API calls. For example,
it would be possible to find whether a particular business has any information
registered. If particular information is desired, it is possible
to drill-down to get more detailed data. The current UDDI datatypes
are:
businessEntity,
businessService,
bindingTemplate,
and
tModel.
Given the the key for one of the
four datatypes (e.g., returned in browsing), the get_xxx functions provide
access to these four types of information. The invocation pattern
provides the means for applications to invoke a service.
The UDDI Publishing API has 16 functions:
add_publisherAssertions
delete_binding
delete_business
delete_publisherAssertions
delete_service
delete_tModel
discard_authToken
get_assertionStatusReport
get_authToken
get_publisherAssertions
get_registeredInfo
save_binding
save_business
save_service
save_tModel
set_publisherAssertions