UDDI Publishing Using The Browser Interface

An Oracle JDeveloper How To Document
Written by Susan Duncan
March , 2004

Contents

Introduction
Prerequisites
Using a Web Browser to add a UDDI entry
Testing UDDI Entry using JDeveloper
Troubleshooting
Conclusion

Introduction

You can install a UDDI registry as part of your Application Server installation or your can install a registry in a standalone OC4J with a user-specified Oracle database (release 8.1.7 or later). If you are using UDDI in your Application Server, Oracle Enterprise Manager has a full UDDI management console for Web services searching, publishing and management. If you are using a standalone OC4J, you can browse a UDDI registry using JDeveloper . Currently, however, JDeveloper does not provide automated publishing facilities.

This How To document discusses publishing a web service entry in a standalone OC4J UDDI registry. First it's important to know the structure of UDDI and WSDL and how they map to each other. The illustration below shows this mapping. For more information on the UDDI structures follow the links at the bottom of this How To.

A WSDL file generated by JDeveloper holds both the Service Interface definition and Service Implementation definition. Web services can use separate WSDL files to hold interfaces and implementations. UDDI offers flexibility by registering them as separate entities within UDDI.

A service interface can be seen as a reusable definition of a service and is published as a UDDI tModel.

A service implementation describes an instance of a service. Each <service> element in a WSDL is published as a UDDI businessService.

Each businessService is bound to a tModel by the <port> element in the WSDL that is published as a bindingTemplate.

A business offering a businessService is described by a businessEntity. One businessEntity may have many businessServices. Each businessService may have many bindingTemplates through multiple <port> elements

Prerequisites

  • Running UDDI registry in standalone OC4J instance
  • A Web Service deployed to the OC4J instance
    • In this example you will follow the example of the HelloService web service that it deployed to OC4J at http://localhost:8888/WSI_Test-Project-context-root/HelloService

Using a Web Browser to add a UDDI entry

Log on to UDDI Publishing Service

  1. Start the instance of OC4J that has your UDDI server
  2. Bring up a web browser and enter http://<host>:<port number>/uddi where <host> and <port number> are your running OC4J to open the Oracle UDDI Support for Web Services page


  3. Click on the sample UDDI-based applications link.
  4. Click on the UDDI Business Publishing - Execute link and log on to the UDDI publisher
  5. Log on using the username and password publisher (the default logon created when you installed UDDI) or your own username and password

Create a New tModel

The first step in registering a web service in your UDDI registry is to create a tModel. A tModel allows you to describe somethings compliance with a specification, a concept or a shared design. For instance, there is a tModel that describes a an entry as a WSDL specification. Here you are creating a tModel of the Service Interface portion of the WSDL

  1. At the Publishing Home Page click Create New tModel
  2. At the Publish a New tModel page, fill in the following information under tModel Details

    Field Name Entry Description
    Name HelloService Service unique name so this tModel can be located. You can use the <target namespace> as an identifier
    Description service that greets user <documentation> element from <definitions> element or free text
    Overview Document URL http://localhost:8888/WSI_Test-Project-context-root/HelloService?wsdl location of WSDL
    Overview Document Descr   additional description of WSDL doc

  3. Add keyed reference that identifies this tModel as a WSDL service interface definition

    Field Name Entry
    tModelKey UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4
    keyName types
    keyValue wsdlSpec

  4. Press the Publish button to publish this tModel

Create a New Business Entity

A Business Entity stores information about the party who publishes the web service

  1. At the bottom of the page, click on the [publish] link to return to the Publisher Home Page
  2. If you have not created any Business Entities, click Create New Business Entity
    (If you have already created a Business Entity and want to use it, click on the name and go to Create a Business Service section of this document)
  3. Add the Business details and Contact details that you want to appear in the UDDI registry

    Name myPartnerCompany
    Description my Partner Company providing services to me
    Contact AN Other

  4. Under Category, add any categories that you want this Business to be associated with. In this example, you use the ISO 3166 geographic taxonomy to provide geographic categorization of myPartnerCompany as California, USA

    tModelKey uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88
    keyName California, USA
    keyValue US-CA

  5. Click Publish button

Create a Business Service

A business service contains details about services offered by a businessEntity and their categorization

  1. On the Business Details page, click Add a Service
  2. At the Publish a New Business Service page, enter the Service information

    Field Entry Description
    Name HelloService WSDL <service name> element
    Description service for greeting user WSDL <documentation> element or free text

  3. Under Category, you can enter any categorization to detail the intended use for this service - for instance, if it is a stock market service you can use the United Nations Standard Products and Services Code System (UNSPSC) to categorize it as follows

    Field Entry
    tModelKey uuid:CD153257-086A-4237-B336-6BDCBDCC6634
    keyName Stock market trading services
    keyValue 84.12.18.01.00

  4. Click Publish button


Create bindingTemplate

The bindingTemplate contains details of how and where the service provided by the businessService is accessed

  1. On the Business Service Details page, click Add New Binding
  2. At the Publish a New Binding page, enter the following information

    Field Entry Description
    Description greets user <documentation> element from <port> or free text
    accessPoint http://localhost:8888/WSI_Test-Project-context-root/HelloService <soap address> URL from <port>

  3. Click Publish button


  4. Click Add SpecificationSignature (tModel)
  5. At the Select tModel for the Specified Binding page, enter Hello and click Search button
    The HelloService tModel you created earlier is returned
  6. Click on HelloService to select it
  7. At the Publish a New Specification Signature (tModel) page enter the following

    Field Enter Description
    Description greets user  
    Overview Document URL http://localhost:8888/WSI_Test-Project-context-root/HelloService?wsdl  

  8. Click Publish button


Testing UDDI Entry using JDeveloper

Create a Connection to your UDDI Registry

If you are unsure of how to do this, refer to the JDeveloper online documentation

Search Registry

  1. Use the context menu of your UDDI registry node to Find Web Services


    Search by Name

  2. Step 1 of the wizard choose Name and click Next
  3. Step 2 search for Hello
  4. Step 3 select your HelloService tModel
  5. Review the details of your new UDDI entry in Step 5 of the wizard
  6. To search by Category in Step 1 choose Category
    In Step 2 set the Taxonomy to UNSPSC and select Financial and Insurance Services ->Banking and investment -> Securities and commodoties markets services -> Stock market trading services

  7. Click Finish and choose Just add the business providing this service to the UDDI browser


  8. Expand the UDDI node in yourYou can now see the details of your UDDI entry in the UDDI browser
  9. Expand your UDDI registry node and see the details of your new service and generate a stub to call it when you are ready


Troubleshooting

Cannot connect to UDDI Registry from JDeveloper Ensure that your OC4J instance is running
Searching a public UDDI registry by Category does not return all the expected entries Registry owners can put quotas on the records returned. If possible, use a Name search to get round this

Conclusion and where to get more information

UDDI provides methods for finding and publishing web services. Service interfaces are registered as tModels and service implementations as businessServices, bound to tModels. Businesses are also registered as offering services. Services and businesses can be categorized according to different taxonomies. This How To details one approach to adding entries to a UDDI registry using a browser based interface.

UDDI Registry tModels
Oasis UDDI section
Using WSDL in a UDDI Registry, Version 2.0
UDDI Version 2.04 API Specification
WSDL to UDDI mapping best practice (v1.08)
UDDI Core tModels
Oracle AS Web Services Developers Guide - Discovering and Publishing Web Services
false ,,,,,,,,,,,,,,,