The Web Services Advisor
(Receive this column in your inbox.
Click Edit your Profile and subscribe.)
An inside look at UDDI
For Web services to be truly useful, there has to be a way for people and companies to find them and connect to them using a variety of public and private registries. These registries, called service registries, are a central part of the Web services architecture. The registries are built using Universal Description, Discovery and Integration (UDDI), a group of specifications that lets companies publish information about themselves and their Web services, and lets others search through that information in order to find a Web service, bind to it and run it.
In this column, we'll look at the basics of UDDI, examine a UDDI listing, and also take a look at some of its shortcomings, and why there are so few registries built using UDDI today.
The basics of UDDI
Like everything else having to do with Web services, UDDI is based on XML. A UDDI registry is made up of XML-based service descriptors. Each service descriptor contains the information needed to find and then bind to a particular Web service. So when someone searches through a UDDI registry looking for a Web service, they're searching through the XML listings. And when they find and bind to a Web service, they're using the XML information contained in that listing.
UDDI is itself made up of three different elements. Each of the elements isn't required for a listing, so not all listings in UDDI registries contain all of the elements. But the more of the elements that are in a listing, the more easily a service can be found and then bound to.
The three elements are:
- A "white pages" This contains the basic contact information for each Web service listing. It generally includes basic information about the company, as well as how to make contact.
- A "yellow pages" This has more details about the company, and includes descriptions of the kind of electronic capabilities the company can offer to anyone who wants to do business with it. It uses commonly accepted industrial categorization schemes, industry codes, product codes, business identification codes and the like to make it easier for companies to search through the listings and find exactly what they want.
- A "green pages" This is what allows someone to bind to a Web service after it's been found. It includes the various interfaces, URL locations, discovery information and similar data required to find and run the Web service.
Listings are created using the Web Services Description Language (WSDL), and then send to a UDDI registry. UDDI will ultimately allow registries to exchange listings with each other, so that if a listing is sent to one UDDI registry, it can be replicated to other registries. And there will be a combination of private and public registries - with private registries reserved for business partners or potential business partners, and not the general public.
A look inside a UDDI listing
UDDI isn't really "cooked yet" as a standard, and so for now the few registries are experimental and contain only basic information. IBM and Microsoft both have registries you can search, though, so you can get a preview of the future by checking them out. You can find Microsoft's at http://uddi.microsoft.com/search.aspx, and IBM's at http://www-3.ibm.com/services/uddi/find. And the UDDI.org group, which promotes the use of the standard, lets you search both registries, from here: http://www.uddi.org/find.html.
The information you'll find in the registries today is primarily of the "white pages" sort, with sometimes "yellow page" information thrown in as well. To a large extent, "green page" information isn't yet available.
So what does an actual UDDI listing look like? It's in XML format, and a simple one is fairly easy to follow. Take a look at the following example, which is the UDDI listing for the FreePsychicNetwork.com in the Microsoft UDDI registry. (No, I'm not making that up - it's real.) You'll very quickly get a good sense of the structure of a simple listing:
<?xml version="1.0" encoding="utf-8" ?> <businessEntity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" businessKey="5774466b-089d-4fa8-b8cb-fa2ead5329c5" operator="Microsoft Corporation" authorizedName="RealNames UDDI Publisher" xmlns="urn:uddi-org:api"> <discoveryURLs> <discoveryURL useType="businessEntity">http://uddi.microsoft.com/discovery? businessKey=5774466b-089d-4fa8-b8cb-fa2ead5329c5</discoveryURL> </discoveryURLs> <name>FreePsychicNetwork.com</name> <description xml:lang="en"> This is a UDDI Business Registry entry for "FreePsychicNetwork.com".</description> <contacts> <contact useType="Main"> <description xml:lang="en">Main contact information</description> <personName>Alma E Mounger</personName> <phone useType="Main">4079441169</phone> <email useType="Main">firstname.lastname@example.org</email> <address sortCode="" useType="Main"> <addressLine>2775 Wells Ct</addressLine> <addressLine>Kissimmee, FL 34744</addressLine> <addressLine>FL</addressLine> </address> </contact> <contact useType="Technical"> <description xml:lang="en">Technical contact information</description> <personName>Alma E Mounger</personName> <phone useType="Technical">4079441169</phone> <email useType="Technical">email@example.com</email> <address sortCode="" useType="Technical"> <addressLine>2775 Wells Ct</addressLine> <addressLine>Kissimmee, FL 34744</addressLine> <addressLine>FL</addressLine> </address> </contact> <contact useType="Billing"> <description xml:lang="en">Billing contact information</description> <personName>Alma E Mounger</personName> <phone useType="Billing">4079441169</phone> <email useType="Billing">firstname.lastname@example.org</email> <address sortCode="" useType="Billing"> <addressLine>2775 Wells Ct</addressLine> <addressLine>Kissimmee, FL 34744</addressLine> <addressLine>FL</addressLine> </address> </contact> </contacts> </businessEntity>
Where UDDI is today
As a practical matter, UDDI is much further from being used than other Web service standards like XML and SOAP. Registries today are experimental at best. One major problem is that the standard is still in the process of being finalized. Notably, it is missing agreed-upon security features - and without security, there's no way for companies to restrict access to Web services to only trusted business partners. Because of that, companies simply aren't using UDDI registries as a way to do business. For now each UDDI registry uses its own security methods - Microsoft uses its Passport technology, while IBM uses its own security methods.
Beyond security, there are other issues as well. There has to be a better, agreed-upon taxonomy that will accurately describe all the categories that businesses fall into, or else the registries won't be usable. And companies have to actually build service descriptors using WSDL before they can be listed in the registries, a practice that is now far from common.
So for now, UDDI registries are not much more than a "proof of concept." But if Web services are to take off in a big way, you'll be hearing a lot more about them - and using them as well.
About the Author
Preston Gralla, a well-known technology expert, is the author of more than 20 books, including "How the Internet Works," which has been translated into 14 languages and sold several hundred thousand copies worldwide. He is an expert on Web services and the author of a major research and white paper for the Software and Information Industry Association on the topic. Gralla was the founding managing editor of PC Week, a founding editor and then editor and editorial director of PC/Computing, and an executive editor for ZDNet and CNet. He has written about technology for more than 15 years for many major magazines and newspapers, including PC Magazine, Computerworld, CIO Magazine, eWeek and its forerunner PC Week, PC/Computing, the Los Angeles Times, USA Today, and the Dallas Morning News among others. As a well-known technology guru, he appears frequently on TV and radio shows and networks, including CNN, MSNBC, ABC World News Now, the CBS Early Show, PBS's All Things Considered and others. He has won a number of awards for his writing, including from the Computer Press Association for the Best Feature in a Computer Publication. He can be reached at email@example.com.
For More Information
- For the Best Web Links for UDDI, cli ck here.
- What do you think about this column? If you'd like to send feedback, you can E-mail the Editor.
- Post your technical questions, or help out your peers by answering questions, in our Discussion Forums.
- Ask the Experts! Our Web Services, XML, .NET, Java, EAI, and App Server gurus answer your toughest questions.