UDDI is a new standard that allows information about businesses and services to be electronically published and queried. Published information is stored into one or more UDDI registries, which can be accessed through a web browser or via SOAP. Here's an example of how UDDI will be used in the future.
Let's say that Acme Credit makes a living by performing credit checks. In the past, a customer would fax Acme information about the subject of the credit check, and would receive a faxed credit report. Acme maintains a staff of data entry clerks who enter the contents of a fax into the Acme computer system, print the credit report, and then fax it to the customer. While this is certainly workable, it is expensive to scale and not very fast. To improve the system and make their credit checking system directly available to other computer systems, Acme decides to adopt web services.
In the first phase of adoption, Acme creates a web service that exposes a set of credit check operations to any SOAP client. The web service itself is a thin wrapper that accepts incoming SOAP requests, invokes them on the Acme credit system, then returns the result as a SOAP response. Acme also generates a WSDL file that describes the web service so that other SOAP clients can invoke it. Acme makes the WSDL available to its current customers, who love it because their computer systems can now quickly perform credit checks via SOAP across the Internet without having to involve humans and fax machines (see Figure 1.14).
Figure 1.14 Clients can invoke the Acme credit service across the Internet
In the second phase of adoption, Acme decides to make its credit service available to a broader audience. It goes to one of the popular UDDI sites, obtains a user/password, and enters general information about Acme such as its name, address, contact information, and category. Acme also registers its credit check web service, including its endpoint address and a reference to its WSDL. At this point, other companies can locate Acme through a browser, learn about its services, and create SOAP clients that invoke its credit check operations. In addition, SOAP clients can search the UDDI registry using SOAP messages and locate the Acme credit service at run time. As a result of making its credit check system available as a web service, Acme sees its customer base grow rapidly and enters a new phase of growth (see Figure 1.15).
Figure 1.15 UDDI acts as a matchmaker for providers and consumers of web services
In the third phase of adoption, the Acme credit service becomes so popular that its WSDL interface specification is adopted by the credit industry as a standard, and other companies start to publish alternative competing implementations of the interface to UDDI. Although this means more competition for Acme, it also strengthens its position as a thought leader.
The three public UDDI registries, hosted by IBM, Microsoft, and HP, synchronize contents regularly so that information entered into one is quickly replicated to the others. To assist developers in understanding UDDI, each company also hosts a test registry that is intended for educational purposes (see Figure 1.16).
FIGURE 1.16 Public UDDI operators synchronize their contents regularly
Many companies are contemplating establishing their own private UDDI registries for cataloging their internal web services. Indeed, several industry pundits believe that UDDI will be adopted in intranet environments quicker than on the Internet.
The UDDI section of this book contains an in-depth description of UDDI, as well as several examples.