Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

556.  Publishing and Discovery Using UDDI and Java

Rev. 1.4

 

This module develops techniques for Web-service publishing and discovery, specifically using the Universal Description, Discovery and Integration (UDDI) 2.0 APIs and the Java API for XML Registries (JAXR) 1.0.  The relatively specific problem of Web-service publishing and discovery is first put in the broader context of Web registries, which manage a wide range of information types and instances.  Students learn UDDI concepts, architecture and API in depth, and then move on to JAXR, both as an API for UDDI and an information-management model in its own right, with mappings also to ebXML repositories.

 

The UDDI information model is considered in some depth, especially the “tModel” as a means of defining taxonomies for classification by different criteria, such as business type or geographical location.  Then students learn the UDDI inquiry and publishing APIs, at a summary level and also by sending specific SOAP messages to UDDI registries and viewing the SOAP responses.  Both local and remote/public repositories are queried in hands-on exercises, and students learn to publish service descriptors and locations using a local UDDI registry. 

 

Then the JAXR is brought into play.  JAXR has its own information model, which is meant to adapt to both UDDI and ebXML, so there is some mapping to be understood;  it is a thick, rather than thin, wrapper over the UDDI API.  JAXR tools of various types are built, including console applications that perform scripted replication tasks, a simple “yellow pages” business browser, and a graphical administration console that allows the user to associate technical specifications with a registered Web service.  Students wrap up with exercises focusing on the original problem:  publishing and discovering a deployed SOAP-based Web service.

 

LEARNING OBJECTIVES

 

·         Understand the basic UDDI information model.

·         Understand the use of a tModel as a "technical fingerprint" for service classification.

·         Understand the use of a tModel in defining a taxonomy for classification or identification of businesses, services, or other tModels.

·         Understand the UDDI inquiry and publishing APIs.

·         Query a UDDI registry using raw SOAP messages.

·         Publish a limited set of service information to UDDI using SOAP.

·         Understand the JAXR information model and how it maps to UDDI's model.

·         Understand the refinements JAXR brings to the problem of object classification.

·         Query a UDDI registry using Java and JAXR.

·         Publish a Web service via the JAXR to a UDDI registry.

·         Write a client that can discover a needed Web service by running UDDI queries based on desired tModels for WSDL-described functionality.

·         Build scriptable and interactive tools for UDDI administrative tasks, such as interactive update of service details, replication, and client-side browsing.

 

Duration:  2 days.

 

Prerequisites:

 

·         Experience in Java Programming, including object-oriented Java and the Java streams model, is required.  Object Innovations Course 103, “Java Programming,” is excellent preparation.

·         Experience with XML is required to work with UDDI in depth.  Object Innovations Module 501, “Introduction to XML,” is excellent preparation.

·         Some understanding of XML Schema will be helpful, but is not strictly necessary.  Prior study of Object Innovations Module  504, “Introduction to XML Schema,” would be helpful.

·         Some understanding of the Web services architecture, including the role of SOAP in Web-service messaging, will be helpful.  Prior study of Object Innovations Module 551, “Overview of Java Web Services,” is recommended.

 

1.      The UDDI Information Model

Motivation for Service Discovery

Information Models

Naming, Directory and Trading Services

UDDI.org

UDDI, SOAP and WSDL

The UDDI Information Model

The tModel

The businessEntity

The businessService

The bindingTemplate

 

2.      Classification and Identification

Classification

The keyedReference

The categoryBag

The UDDI Types Taxonomy

Core tModels

Core Taxonomies

Identification

The identifierBag

Core Identification Schemes

 

3.      Publishing and Inquiry APIs

UDDI as a Web Service

Operator Sites

The Publishing API

Authentication

Versioning

Error Handling

Deleting Objects

Publisher Assertions

The Inquiry API

White, Yellow and Green Pages

Working with WSDL

UDDI and WSDL:  Overlaps and Mismatches

 

4.      The JAXR Information Model

The Java API for XML Registries (JAXR)

The JAXR Information Model

UDDI and ebXML Bindings

Mapping JAXR to UDDI

Multiple Mappings for tModel

The RegistryObject

The Concept

Organization, BusinessService and ServiceBinding

Technical Specification

Classification

Internal and External Taxonomies

Identification

 

5.      The JAXR Provider

The JAXR Provider Model

The JAXR Provider Architecture

Capability Levels

ConnectionFactory and Connection

Making a Connection

RegistryService and BusinessQueryManager

Working with BulkResponse

Browsing by Classification

 

6.      Publishing Web Services

The BusinessLifeCycleManager

Authentication

Creating Registry Objects

Replicating UDDI Information

Publishing a Web Service

Working with Keys

Managing Identifiers, Classifications, and Specifications

Partial Commits

UDDI Administration with JAXR

Discovering a Web Service

 

Appendix A. Learning Resources

 

Appendix B. Quick Reference:  W3C and Web-Services Namespaces

 

Appendix C. Basics of XML and XML Schema

 

Appendix D. The Simple Object Access Protocol

 

 

System Requirements

 

This module can be presented on Windows or Linux systems.  The J2SE 1.4.1 SDK and the JWSDP 1.1 are required – both are free downloadables available for either platform.  Hardware requirements are moderate, as the JWSDP server consumes a lot of resources.  A minimal system for this module would have a Pentium 500MHz or equivalent CPU, 256 meg of RAM and at least 500 megabytes of free disk space for tools installation and lab software.  Faster processors and greater memory availability will produce noticeable improvements in performance.

 

An Internet connection is required, as many of the exercises use a public UDDI registry available using SOAP and HTTP.