Constructing a UDDI Client, Calling the UDDI Registry

Find out where Web services begin—by developing and implementing a UDDI client in Java. This article helps you take that first step, building a client that invokes the UDDI registry and provides a sample implementation of one of the UDDI inquiry API methods.

by Bilal Siddiqui

niversal Description, Discovery, and Integration (UDDI) is a set of APIs that provide a standard framework for electronic and collaborative commerce. Businesses can publish their services and inquire about the services published by other businesses at a UDDI registry.

UDDI has defined two APIs. One is for publishing and the other relates to inquiries. If you want to offer on-line services to your customers, you will use UDDI's Publishing API to publish or advertise your service. On the other hand, if you are looking for a specific service, you will use the Inquiry API to execute a search.

Each of the UDDI APIs contains several methods. The methods of the UDDI Inquiry API allow general to specific (drilled down) searching through the UDDI registry. Once a user has found the details for the products or services/products he is interested in, he can invoke those services using Web Services Description Language (WSDL). UDDI and WSDL together make Web services possible.

For complete technical details of UDDI Inquiry API- and WSDL-based Web services, refer to the articles "Using UDDI as a Search Engine" and "Deploying Web Services with WSDL" (see Resources).

In this article, I will develop a UDDI client that invokes services registered in the UDDI. The UDDI client provides a sample implementation of the UDDI Inquiry API methods.

Start with a User
In order to demonstrate or test the functionality of the UDDI client, build a Java applet, with a GUI, to function as the user of the UDDI client. I'll call this user a test container. Neither the test container nor its GUI, is the focus of this article, but its interaction with the UDDI client helps explain the usage model of UDDI clients.

Although the test container is an applet, the UDDI client in this article will work with Java Foundation Classes/Swing, Abstract Window Toolkit, or server-side (for example, an Enterprise JavaBean running inside a container) as well.

A UDDI Client in Four Steps
The UDDI client will participate in four tasks:

  1. The user asks the UDDI client to invoke the UDDI registry.
  2. The UDDI client authors a UDDI invocation request and sends it to the registry.
  3. The registry takes appropriate action upon the invocation request. For example, if it is a search invocation request, the UDDI registry gathers the required data, authors a response, and sends it back to the requesting client.
  4. The UDDI client processes the response and provides meaningful results to the user.

This UDDI client hides all SOAP-related issues from the user, so no knowledge of SOAP is necessary to use the implementation. The implementation also has a small footprint so it is suitable for downloading as applets or as part of JFC applications. It uses Enhydra's kXML for XML processing. kXML is designed for Micro JAVA (and therefore has a small footprint), but works equally well in J2SE/J2EE environments.



  The UDDI Client

In this Article
Introduction Implementing UDDI's Find Qualifiers
The UDDI Client The UDDI Registry Replies
 





FEATURE SOFTWARE:
dtSearch Web
Add power searching to your web site.
Buy Now!

Encrypt It
Encrypt and Decrypt Data, Passwords and Files within your application.
Buy Now!

Standards Organizations and Web Service Coalitions

Key Platforms

Pure-Play Web Services Vendors

Web Service Technologies or Components

From Sun.com

For Further Reading

Discussion Groups
Java Web Services
.NET Web Services

Back to the Special Report

Java Zone

2001 Special Report: Judging Java

TALK BACK
UDDI is a critical part of the "killer app" of XML Web services. Do you think it's too complicated? Will the standard evolve? Will it become simpler? Should Sun support UDDI as an integral component of J2EE, or is it too soon to tell? Do you think the current UDDI implmentation is a victim of committee development? Let us know in the Java Web Services discussion group.


Sponsored Links

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map
Jupiterweb networks

internet.comearthweb.comDevx.comClickZ

Search Jupiterweb:

Jupitermedia Corporation has four divisions:
JupiterWeb, JupiterResearch, JupiterEvents, and JupiterImages

Copyright 2004 Jupitermedia Corporation All Rights Reserved.
Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Jupitermedia Corporate Info | Newsletters | Tech Jobs | E-mail Offers

Copyright Information/Privacy Statement