UDDI and WS-Inspection

We describe the Universal Description, Discovery, and Integration project. This talk is based on:

1 Introduction

2 UDDI Registry

2.1 Business Entity

<businessEntity 
                businessKey="uuid:dkeieie-sdfsdf-sdfs-3343334342234"
                operator="http://www.ibm.com"
                authorizedName="John Palms">
  <name>Acme Company</name>
  <description>
    We make things that go wrong.
  </description>
  <contacts>  
    <contact useType="general info">
      <description>General Information</description>
      <personName>John Doe</personname>
      <phone>(803) 777-0234</phone>
      <email>jdoe@acme.com</email>
    </contact>
  </contacts>
  <businessServices>
    ...
  </businessservices>
  <identifierBag>
    <keyedReference
                    TModelKey="UUID:8989df-09df0df9-eede"
                    name="D-U-N-S"
                    value="123456"/>
  </identifierbag>
  <categoryBag>
    <keyedReference
                    TModelKey="UUID:eer90-erere99-9898e-ee3"
                    name="NAICS"
                    value="12334455"/>
  </categorybag>
</businessEntity>

2.2 Business Services

<businessService serviceKey="uuid:udjeei-ded3-d33343"
                 businessKey="uuid:ccdkjd898-98cd9-cddd">
  <name>Hello World Web Service</name>
  <description>A basic web service</description>
  <bindingTemplates>
    ....
  </bindingtemplates>
  <categoryBag/>
</businessService>

2.3 Binding Templates

<bindingTemplate serviceKey="uudi:123"
                 bindingKey="uuid:abd45">
  <description>Hellow World SOAP binding.</description>
  <accessPoint URLType="http">
    http://localhost:8080
  </accesspoint>
  <TModelInstanceDetails>
    <TmodelInstanceInfo
                        TModelKey="uuid:abfdg">
      <instanceDetails>
        <overviewDoc>
          <description>
            references the description of the WSDL
            service definition.
          </description>
          <overviewURL>
            http://localhost/helloworld.wsdl
          </overviewURL>
        </overviewDoc>
      </instanceDetails>
    </TModelInstanceInfo>
</bindingTemplate>

2.4 TModels

<TModel TModelKey="uuid:asdf34"
        operator="http://www.ibm.com"
        authorizedName="John Doe">
  <name>HelloWorldInterface Port Type</name>
  <description>
    An interface for a friendly web service
  </description>
  <overviewDoc>
    <overviewURL>
      http://localhost/helloworld.wsdl
    </overviewURL>
  </overviewDoc>
</TModel>

3 Federated and Private UDDI Registries

4 UDDI Interfaces

4.1 Publisher Interface

4.2 Inquiry Interface

5 From WSDL to UDDI

  1. Divide the WSDL description into two files.
    • One file includes the data types, messages, portTypes, and bindings. It is known as the interface description.
    • The other file includes just the service definition. It is known as the implementation description. Use wsdl:import to import the first one.
  2. Register the interface description as a UDDI TModel and mark the TModel as one that represents a WSDL interface description (whose WSDL file must be available in a website).
  3. Specify that the service is an instance of this TModel.
  4. Provide a link to the WSDL implementation description, which must also be available in a website.
  5. Initialize the proxy and call the save_service operation to register the service.

6 WS-Inspection

<?xml version="1.0"?>
<inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"
            xmlns:wsiluddi="http://schemas.xmlsoap.org/ws/2001/10/inspection/uddi/">
  <service>
    <abstract>A stock quote service with two descriptions</abstract>
    <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/"
                 location="http://example.com/stockquote.wsdl"/>
    <description referencedNamespace="urn:uddi-org:api">
      <wsiluddi:serviceDescription location="http://www.example.com/uddi/inquiryapi">
        <wsiluddi:serviceKey>4FA28580-5C39-11D5-9FCF-BB3200333F79</wsiluddi:serviceKey>
      </wsiluddi:serviceDescription>
    </description>
  </service>
  <service>
    <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/"
                 location="ftp://anotherexample.com/tools/calculator.wsdl"/>
  </service>
  <link referencedNamespace="http://schemas.xmlsoap.org/ws/2001/10/inspection/"
        location="http://example.com/moreservices.wsil"/>
</inspection>

URLs

  1. Programming Web Services with SOAP, http://www.amazon.com/exec/obidos/ASIN/0596000952/multiagentcom/
  2. UDDI: Universal Description, Discovery, and Integration Part 1, http://www.onjava.com/pub/a/onjava/excerpt/jws_6/index1.html
  3. UDDI.org, http://www.uddi.org
  4. UDDI Specification, http://uddi.org/pubs/uddi-v3.00-published-20020719.htm
  5. IBM's Emerging Technologies Toolkit, http://www.alphaworks.ibm.com/tech/ettk
  6. Web Services Inspection Language, http://www-106.ibm.com/developerworks/webservices/library/ws-wsilspec.html

This talk available at http://jmvidal.cse.sc.edu/talks/uddi/
Copyright © 2009 José M. Vidal . All rights reserved.

03 April 2004, 04:04PM