Chapter 6 UDDI: Universal Description, Discovery,
and Integration
The Universal Description, Discovery, and Integration (UDDI) Project
provides a standardized method for publishing and discovering information
about web services. The UDDI Project is an industry initiative that attempts
to create a platform-independent, open framework for describing services,
discovering businesses, and integrating business services. UDDI focuses on the
process of discovery in the service-oriented architecture.
The UDDI Project is an initiative that communicates with the public through
http://www.uddi.org/. The UDDI Community
runs the UDDI Project. The Community consists of a group of Working Group
members who develop the specifications and Advisory Group members who provide
requirements and review the specifications. The Working Group is an
invitation-based group and the Advisory Group is open to everyone.
Web services are becoming the basis for electronic commerce of all forms.
Companies invoke the services of other companies to accomplish a business
transaction. In an environment in which only a few companies participate,
managing the discovery of business partners manually would be simple. After
all, how difficult would it be to figure out if one of your few business
partners has an access point that adheres to your requirements? This model
breaks down, however, as the number of companies that you need to interact
with grows, along with the number and types of interfaces they export. How do
you discover all the business partners that you can do business with? If you
attempted to account for them manually, you could never be sure that you
discovered every partner. UDDI is a single conceptual registry distributed
among many nodes that replicate the participating businesses' data with one
another. The UDDI registry of services (hosted by different businesses on the
Internet) attempts to solve this problem.
This chapter presents an overview of UDDI and how to put it to work. It
includes a discussion about the information stored in a UDDI registry, the
different potential uses of UDDI, and its technical architecture; the
specifications that comprise the UDDI effort, with a focus on their relevance
to developers and a list of different Java approaches for programming with
UDDI; and an introduction to interacting with a UDDI registry
programmatically. The following sections cover the UDDI data structures and
XML APIs available for accessing a registry.
UDDI Overview
Prior to the UDDI project, no industry-wide approach was available for
businesses to reach their customers and partners with information about their
products and web services. Nor was there a uniform method that detailed how to
integrate the systems and processes that are already in place at and between
business partners. Nothing attempted to cover both the business and
development aspects of publishing and locating information associated with a
piece of software on a global scale.
Conceptually, a business can register three types of information into a
UDDI registry. The specification does not call out these types specifically,
but they provide a good summary of what UDDI can store for a business:
- White pages
- Basic contact information and identifiers about a company, including
business name, address, contact information, and unique identifiers such as
D-U-N-S numbers or tax IDs. This information allows others to discover your
web service based upon your business identification.
- Yellow pages
- Information that describes a web service using different categorizations
(taxonomies). This information allows others to discover your web service
based upon its categorization (such as being in the manufacturing or car
sales business).
- Green pages
- Technical information that describes the behaviors and supported
functions of a web service hosted by your business. This information
includes pointers to the grouping information of web services and where the
web services are located.
How UDDI Is Used
UDDI has several different uses, based on the perspective of who is using
it. From a business analyst's perspective, UDDI is similar to an Internet
search engine for business processes. Typical search engines, such as
AskJeeves, organize and index URLs for web sites. However, a business
exporting a web service needs to expose much more than a simple URL. A
business analyst can browse one or more UDDI registries to view the different
businesses that expose web services and the specifications of those services.
However, business users probably won't browse a UDDI registry directly, since
the information stored within it is not necessarily reader friendly. A series
of marketplaces and business search portals could crop up to provide business
analysts with a more user-oriented approach to browsing the services and
businesses hosted in a UDDI registry.
Software developers use the UDDI Programmer's API to publish services
(i.e., put information about them in the registry) and query the registry to
discover services matching various criteria. It is conceivable that software
will eventually discover a service dynamically and use it without requiring
human interaction.
TIP: Even though the API provided by UDDI allows random
searching for businesses, it's not feasible for a program to select new
business partners dynamically. Realistically, it's more likely that business
analysts with specific knowledge of the problem at hand will use UDDI
portals to discover potentially interesting services and partners, and
technologists will write programs to use the services from companies that
have already been discovered. We'll probably see programs that update the
data in a UDDI registry, but most publicly available registries already have
a user-friendly interface that allows human users to update information in a
registry.
Even though the registries have human-friendly interfaces for direct
access, humans should never have to interface with a repository directly.
The web service tool you use should automate interaction with a UDDI
registry. For example, if you use a tool that creates a web service, that
tool should be able to not only deploy the web service into production, but
add it to the UDDI registry for you on your behalf.
Both business analysts and software developers can publish new business
entities and services. Business analysts can use portals attached directly to
a particular UDDI server or to a more general search portal that supports
UDDI. Figure
6-1 depicts the relationship between business analysts and
technologists.
Figure 6-1. Relationship between
business analysts and technologists
|
|
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|