This project has retired. For details please refer to its Attic page.
<link rel="stylesheet" type="text/css" href="css/jbossorg.css"/><meta name="generator" content="DocBook XSL Stylesheets V1.76.1"/><link rel="home" href="index.html" title=""/><link rel="up" href="index.html" title=""/><link rel="prev" href="pr01.html" title=""/><link rel="next" href="ch02.html" title=""/><link rel="copyright" href="ln-d2e27.html" title=""/><meta xmlns:d="http://docbook.org/ns/docbook" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head><body><p xmlns:d="http://docbook.org/ns/docbook" id="title"><a href="http://www.jboss.org" class="site_href"><strong>JBoss.org</strong></a><a href="http://docs.jboss.org/" class="doc_href"><strong>Community Documentation</strong></a></p><ul xmlns:d="http://docbook.org/ns/docbook" class="docnav"><li class="previous"><a accesskey="p" href="pr01.html"><strong/></a></li><li class="next"><a accesskey="n" href="ch02.html"><strong/></a></li></ul><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="UDDI-Registry-Introduction"/></h2></div></div></div><div class="toc"><p><strong/></p><dl><dt><span class="section"><a href="ch01.html#_uddi_protocol_specification">1.1. UDDI Protocol, Specification</a></span></dt><dt><span class="section"><a href="ch01.html#_uddi_registry">1.2. UDDI Registry</a></span></dt><dt><span class="section"><a href="ch01.html#_juddi_project">1.3. jUDDI Project</a></span></dt></dl></div> <div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="_uddi_protocol_specification"/></h2></div></div></div> <p>The Universal Description, Discovery and Integration (UDDI) protocol is one of the major building blocks required for successful Web services. UDDI creates a standard interoperable platform that enables companies and applications to quickly, easily, and dynamically find and use Web services over the Internet (or Intranet). UDDI also allows operational registries to be maintained for different purposes in different contexts. UDDI is a cross-industry effort driven by major platform and software providers, as well as marketplace operators and e-business leaders within the OASIS standards consortium <a class="xref" href="bi01.html#uddi-oasis-open-org">[uddi-oasis-open-org]</a>. UDDI has gone through 3 revisions and the latest version is 3.0.2 <a class="xref" href="bi01.html#uddi-v3">[uddi-v3]</a>. Additional information regarding UDDI can be found at <a class="ulink" href="http://uddi.xml.org">http://uddi.xml.org</a> <a class="xref" href="bi01.html#uddi-xml-org">[uddi-xml-org]</a>.</p> </div> <div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="_uddi_registry"/></h2></div></div></div> <p>The UDDI Registry <a id="d2e50" class="indexterm"/> <a id="d2e53" class="indexterm"/> implements the UDDI specification <a id="d2e55" class="indexterm"/> <a id="d2e58" class="indexterm"/>. UDDI is a Web-based <span class="emphasis"><em>distributed</em></span> <span class="emphasis"><em>directory</em></span> <a id="d2e62" class="indexterm"/> that enables businesses to list themselves on the Internet (or Intranet) and discover each other, similar to a traditional phone book’s yellow and white pages. The UDDI registry is both a white pages business directory and a technical specifications library. The Registry is designed to store information about Businesses and Services and it holds references to detailed documentation.</p> <div class="figure"><a id="figure-UDDIREG-InvocationPattern"/><p class="title"><strong/></p><div class="figure-contents"> <div class="mediaobject"><img src="./images/UDDI_Registry_invocation_pattern.png" alt="Invocation Pattern using the UDDI Registry"/></div> </div></div><br class="figure-break"/> <p>In step 1 of <a class="xref" href="ch01.html#figure-UDDIREG-InvocationPattern"/> it is shown how a business publishes services to the UDDI registry. In step 2, a client looks up the service in the registry and receives service binding information. Finally in step 3, the client then uses the binding information to invoke the service. The UDDI APIs are SOAP based for interoperability reasons. In this example we’ve three APIs specified in the UDDI v3 specification, Security, Publication and Inquiry. The UDDI v3 specification defines 9 APIs:</p> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> UDDI_Security_PortType, defines the API to obtain a security token. With a valid security token a publisher can publish to the registry. A security token can be used for the entire session. </li><li class="listitem"> UDDI_Publication_PortType, defines the API to publish business and service information to the UDDI registry. </li><li class="listitem"> UDDI_Inquiry_PortType, defines the API to query the UDDI registry. Typically this API does not require a security token. </li><li class="listitem"> UDDI_CustodyTransfer_PortType, this API can be used to transfer the custody of a business from one UDDI node to another. </li><li class="listitem"> UDDI_Subscription_PortType, defines the API to register for updates on a particular business of service. </li><li class="listitem"> UDDI_SubscriptionListener_PortType, defines the API a client must implement to receive subscription notifications from a UDDI node. </li><li class="listitem"> UDDI_Replication_PortType, defines the API to replicate registry data between UDDI nodes. </li><li class="listitem"> UDDI_ValueSetValidation_PortType, by nodes to allow external providers of value set validation. Web services to assess whether keyedReferences or keyedReferenceGroups are valid. </li><li class="listitem"> UDDI_ValueSetCaching_PortType, UDDI nodes may perform validation of publisher references themselves using the cached values obtained from such a Web service. </li></ol></div> </div> <div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="_juddi_project"/></h2></div></div></div> <p>Apache jUDDI is server and client-side implementation of the UDDI v3 specification. The server side is the UDDI Registry, the client side are the juddi-client libraries. There is a Java as well as a C# version of the client libraries. The jUDDI GUI uses the client libraries to connect to a UDDI Registry. For more details please see the <a class="xref" href="ch02.html"/>.</p> <p>The following is a list of all supported UDDI interfaces provided by this release of jUDDI</p> <div class="table"><a id="d2e97"/><p class="title"><strong/></p><div class="table-contents"> <table summary="Supported UDDI Interfaces" border="1"><colgroup><col width="25*" class="col_1"/><col width="25*" class="col_2"/><col width="25*" class="col_3"/><col width="25*" class="col_4"/></colgroup><thead><tr><th align="left" valign="top">API</th><th align="left" valign="top">Spec</th><th align="left" valign="top">Supported</th><th align="left" valign="top">Notes</th></tr></thead><tbody><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908076">Inquiry</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908158">Inquiry HTTP GET</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"><p>Plus a number of additional methods</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908095">Publication</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908115">Security</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"><p>Pluggable authentication</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908128">Subscription</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"><p>HTTP, SMTP delivery implemented, pluggable</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908336">Subscription Listener</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"><p>Client and Server side implementations</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908141">Value Set Caching</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>Partial</p></td><td align="left" valign="top"><p>Scheduled for 3.3</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908141">Value Set Validation</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>Implemented</p></td><td align="left" valign="top"><p>Scheduled for 3.3</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908180">Replication</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>Partial</p></td><td align="left" valign="top"><p>Scheduled for 3.3</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908118">Custody and Ownership Transfer</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>All Methods</p></td><td align="left" valign="top"><p>Only supports user to user transfers on the same node</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm#_Toc25137711">UDDIv2 Inquiry</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>BETA</p></td><td align="left" valign="top"><p>Supported via API translator</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm#_Toc25137722">UDDIv2 Publish</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>BETA</p></td><td align="left" valign="top"><p>Supported via API translator</p></td></tr></tbody></table> </div></div><br class="table-break"/> <p>The following is a list of other features of interest that was either defined in the UDDI specifications or in technical notes.</p> <div class="table"><a id="d2e230"/><p class="title"><strong/></p><div class="table-contents"> <table summary="jUDDI Features" border="1"><colgroup><col width="25*" class="col_1"/><col width="25*" class="col_2"/><col width="25*" class="col_3"/><col width="25*" class="col_4"/></colgroup><thead><tr><th align="left" valign="top">API</th><th align="left" valign="top">Spec</th><th align="left" valign="top">Supported</th><th align="left" valign="top">Notes</th></tr></thead><tbody><tr><td align="left" valign="top"><p>Digital Signatures</p></td><td align="left" valign="top"><p>Server req</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Java and .NET clients and in browser signing</p></td></tr><tr><td align="left" valign="top"><p>Client side Subscription Listener</p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Java and .NET clients</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="https://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm">WSDL to UDDI</a></p></td><td align="left" valign="top"><p>Recommendation</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Java, .NET clients and web GUI</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="https://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm">WADL to UDDI</a></p></td><td align="left" valign="top"><p>Recommendation</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Java, .NET clients and web GUI</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="https://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-bpel-20040725.htm">BPEL to UDDI</a></p></td><td align="left" valign="top"><p>Recommendation</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Java client</p></td></tr><tr><td align="left" valign="top"><p>UDDI Technical Compliance Kit</p></td><td align="left" valign="top"><p>-</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Provides a standalone UDDI testing capability</p></td></tr><tr><td align="left" valign="top"><p>Internationalization</p></td><td align="left" valign="top"><p>Recommendation</p></td><td align="left" valign="top"><p>Yes</p></td><td align="left" valign="top"><p>Both end user interfaces (User and Admin web apps) are supported. Error messages from the server are external and can be overwritten.</p></td></tr><tr><td align="left" valign="top"><p>Registration via Annotations</p></td><td align="left" valign="top"><p>-</p></td><td align="left" valign="top"><p>Full support</p></td><td align="left" valign="top"><p>Provides automated registration of classes via Java/.NET Annotations</p></td></tr></tbody></table> </div></div><br class="table-break"/> <p>UDDI defines a number of <a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908080">sorting mechanisms</a>.</p> <div class="table"><a id="d2e321"/><p class="title"><strong/></p><div class="table-contents"> <table summary="Supported Sort Orders" border="1"><colgroup><col width="25*" class="col_1"/><col width="25*" class="col_2"/><col width="25*" class="col_3"/><col width="25*" class="col_4"/></colgroup><thead><tr><th align="left" valign="top">Find Qualifier</th><th align="left" valign="top">Spec</th><th align="left" valign="top">Supported</th><th align="left" valign="top">Notes</th></tr></thead><tbody><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#sortOrd">binarySort</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#caseInsensSort">caseInsensitiveSort</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>party</p></td><td align="left" valign="top"><p>Only when using caseInsentitiveMatch, <a class="ulink" href="https://issues.apache.org/jira/browse/JUDDI-785">JIRA opened</a></p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908355">caseSensitiveSort</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908356">sortByNameAsc</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908357">sortByNameDesc</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908358">sortByDateAsc</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908359">sortByDateDesc</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td><td align="left" valign="top"> </td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc42047570">JIS-X4061</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>no</p></td><td align="left" valign="top"><p>Japanese Character Strings</p></td></tr></tbody></table> </div></div><br class="table-break"/> <p>UDDI also defines a number of <a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908080">Find Qualifiers</a>, which modify the default search behavior of the <a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908076">Inquiry</a> Find* APIs.</p> <div class="table"><a id="d2e413"/><p class="title"><strong/></p><div class="table-contents"> <table summary="Supported Find Qualifiers" border="1"><colgroup><col width="33*" class="col_1"/><col width="33*" class="col_2"/><col width="33*" class="col_3"/></colgroup><thead><tr><th align="left" valign="top">Find Qualifier</th><th align="left" valign="top">Spec</th><th align="left" valign="top">Supported</th></tr></thead><tbody><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908360">andAllKeys</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908346">approximateMatch</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908365">bindingSubset</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908348">caseInsensitiveMatch</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908349">caseSensitiveMatch</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908363">combineCategoryBags</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908350">diacriticInsensitiveMatch</a></p></td><td align="left" valign="top"><p>Optional</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908351">diacriticSensitiveMatch</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908347">exactMatch</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908367">signaturePresent</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908361">orAllKeys</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908362">orLikeKeys</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908364">serviceSubset</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr><tr><td align="left" valign="top"><p><a class="ulink" href="http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc85908366">suppressProjectedServices</a></p></td><td align="left" valign="top"><p>Required</p></td><td align="left" valign="top"><p>yes</p></td></tr></tbody></table> </div></div><br class="table-break"/> </div> </div><ul xmlns:d="http://docbook.org/ns/docbook" class="docnav"><li class="previous"><a accesskey="p" href="pr01.html"><strong/></a></li><li class="up"><a accesskey="u" href="#"><strong/></a></li><li class="home"><a accesskey="h" href="index.html"><strong/></a></li><li class="next"><a accesskey="n" href="ch02.html"><strong/></a></li></ul></body></html>