Web Services Training Overview
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.
Web Services Training 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.
Web Services Training Prerequisites
- Experience in Java Programming, including object-oriented Java and the Java streams model, is required. “Java Programming,” is excellent preparation.
- Experience with XML is required to work with UDDI in depth. “Introduction to XML,” is excellent preparation.
- Some understanding of XML Schema will be helpful, but is not strictly necessary. Prior study of “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 “Overview of Java Web Services,” is recommended.
Web Services Training Course duration
2 days.
Web Services Training Course outline
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.
|