SCDJWS Study Guide: UDDI
Commerce can only take place when there is a match between demand and offer. A recurrent problem for businesses is how to reach their potential customers and future partners with information about their products and services. UDDI attempts to solve this problem on the Internet by providing an industry-wide approach that allows companies to advertise both the business and technical aspects of their offering.
A UDDI directory entry is an XML file that describes a business and the services it offers. There are three parts to an entry in the UDDI directory. They are commonly referred to as "white pages", "yellow pages" and "green pages" information in the literature:
- White pages
- Yellow pages
Yellow pages describe a business service using different categorizations ("taxonomies" in UDDI terminology). This information allows others to discover business services based upon its categorization (such as being in the manufacturing or software development business).
- Green pages
Green pages provide technical information on the behaviors and supported functions of a business service hosted by a business.
For web services, this information includes pointers to the grouping information of web services and where the web services are located. It describes the interface to the service in enough detail for someone to write an application to use the Web service. The way services are defined is through a UDDI document called a Type Model or tModel in where it contains a WSDL file that describes a SOAP interface to an XML web service.
The tModel is flexible enough to describe almost any kind of service. Green pages in UDDI are not limited to describing XML-based Web services, but any business service type offered by a business entity. This may cover phone-based services such as call centers, E-mail based services such as technical support for a product, fax-based services such as a fax to E-mail service, etc.
The Universal Description, Discovery, and Integration (UDDI) specification defines a 4-tier hierarchical XML schema that provides a model for publishing, validating, and invoking information about Web Services. XML was chosen because it offers a platform-neutral view of data and allows hierarchical relationships to be described in a natural way. UDDI uses standards-based technologies, such as common Internet protocols (TCP/IP and HTTP), XML, and SOAP (a specification for using XML in simple message-based exchanges). UDDI is a standard Web Service description format and Web Service discovery protocol; a UDDI registry can contain metadata for any type of service, with best practices already defined for those described by Web Service Description Language (WSDL).
There are two types of UDDI registries: public UDDI registries that serve as aggregation points for a variety of businesses to publish their services, and private UDDI registries that serve a similar role within organizations.
A UDDI registry consists of the following data structure types [About UDDIe]:
businessEntity - The top-level XML element in a business UDDI entry, it captures the data partners require to find information about a business service, including its name, industry or product category, geographic location, and optional categorization and contact information. It includes support for "yellow pages" taxonomies to search for businesses by industry, product, or geography.
businessService - The logical child of a businessEntity data structure as well as the logical parent of a bindingTemplate structure, it contains descriptive business service information about a group of related technical services including the group name, a brief description, technical service description information, and category information. By organizing Web Services into groups associated with categories or business processes, UDDI allows more efficient search and discovery of Web Services.
bindingTemplate - The logical child of a businessService data structure, it contains data that is relevant for applications that need to invoke or bind to a specific Web Service. This information includes the Web Service URL and other information describing hosted services, routing and load balancing facilities, and references to interface specifications.
tModel - Descriptions of specifications for Web Services or taxonomies that form the basis for technical fingerprints; its role is to represent the technical specification of the Web Service, making it easier for Web Service consumers to find Web Services that are compatible with a particular technical specification. That is, based on the descriptions of the specifications for Web Services in the tModel structure, Web Service consumers can easily identify other compatible Web Services. For instance, to send a business partner's Web Service a purchase order, the invoking service must know not only the location/URL of the service, but what format the purchase order should be sent in, what protocols are appropriate, what security is required, an what form of a response will result after sending the purchase order.
What are the benefits of UDDI?
Any industry or businesses of all sizes can benefit from UDDI. Before UDDI, there was no Internet standard for businesses to reach their customers and partners with information about their products and services. Nor was there a method of how to integrate into each other's systems and processes. Problems the UDDI specification can help to solve:
- Making it possible to discover the right business from the millions currently online.
- Defining how to enable commerce once the preferred business is discovered.
- Reaching new customers and increasing access to current customers.
- Expanding offerings and extending market reach.
- Solving customer-driven need to remove barriers to allow for rapid participation in the global Internet economy.
- Describing services and business processes programmatically in a single, open, and secure environment.