WEBINAR:
On-Demand
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 SDKI used Sun's Java 2 SDK SE, version 1.4.2_04.
- J2EE build and runtime environmentI used Sun Java 2 Enterprise Edition (J2EE) 1.3.1.
- Web server and/or servlet containerI used Apache Tomcat, version 5.0.24.
- SOAP processing frameworkI used the version of Apache Axis that ships with jUDDI.
- Data storage mechanismI used the MySQL relational database, version 4.0.19.
- UDDI registry frameworkI 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 classesone 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. |
- org.apache.juddi.transport.axis.AdminServlet
- org.apache.juddi.transport.axis.PublishServlet
- org.apache.juddi.transport.axis.InquiryServlet
This all seems quite straightforward, however, there is a slight twistjUDDI 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.