Browse DevX
Sign up for e-mail newsletters from DevX


Creating Your Own Private UDDI Registry : Page 4

You don't have to rely on some huge public UDDI repository to expose your Web services to developers and automated processes. Instead, find out how to set up a UDDI registry on your own server.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

Using the jUDDI Registry Framework
To set up your own UDDI registry using Java, you will need to install a:
  • Java 2 SDK—I used Sun's Java 2 SDK SE, version 1.4.2_04.
  • J2EE build and runtime environment—I used Sun Java 2 Enterprise Edition (J2EE) 1.3.1.
  • Web server and/or servlet container—I used Apache Tomcat, version 5.0.24.
  • SOAP processing framework—I used the version of Apache Axis that ships with jUDDI.
  • Data storage mechanism—I used the MySQL relational database, version 4.0.19.
  • UDDI registry framework—I used the registry framework jUDDI.
jUDDI is an open source Java implementation that complies with version 2.0 of the UDDI specification for Web services. You can use jUDDI with existing authentication technologies, and with virtually any relational database including MySQL, DB2, Sybase, and others.

jUDDI Implementation Details
Functions handle the actual logic for each UDDI invocation message. The org.apache.juddi.function package defines the function classes—one for each logical UDDI invocation message. The org.apache.juddi.registry.RegistryEngine class uses the org.apache.juddi.function.FunctionMaker class to lookup functions, based on the class name of the function. FunctionMaker keeps a cache of instances of the maker classes.

jUDDI uses Apache Axis to handle SOAP messaging. Axis defines a transparent transport framework that allows different transport protocols to be used. For the HTTP protocol, any servlet derived from the org.apache.axis.transport.http.AxisServlet class is a candidate for handling HTTP requests. In jUDDI, three servlets extend the AxisServlet class:

Figure 3. Request Process Flow Diagram: The diagram illustrates the process flow for a typical request in jUDDI.
  1. org.apache.juddi.transport.axis.AdminServlet
  2. org.apache.juddi.transport.axis.PublishServlet
  3. org.apache.juddi.transport.axis.InquiryServlet
This all seems quite straightforward, however, there is a slight twist—jUDDI registers these three classes as servlets with an application server, but only uses them to determine the type of request that is made. The actual processing is handled by the org.apache.juddi.transport.axis.AxisHandler class which must be registered with the Axis handler-chain. Figure 3 shows a flowchart that illustrates the process for a typical request.

Thanks for your registration, follow us on our social networks to keep up-to-date