The JAXR Architecture

printer-friendly version of this section  Print  e-mail this section  E-Mail  add a public, group or private note  Add Note  add a bookmark about this section  Add Bookmark    

Java APIs for XML Kick Start
By Aoyon Chowdhury, Parag Choudhary

Table of Contents
Chapter 9.  Registry Fundamentals


Figure 9.3 shows the JAXR architecture and its core components, which are described in the following sections.

Figure 9.3. The JAXR architecture.

graphics/09fig03.gif

JAXR Client

The JAXR client is a Java program that uses the JAXR API to access a registry via a JAXR provider.

RegistryService Interface

The RegistryService interface is the main interface implemented by a JAXR provider. This interface provides a number of methods with which a JAXR client can determine the capability provided by the JAXR provider.

Capability-Specific Interfaces

The capability-specific interfaces implemented by a JAXR provider provide various registry capabilities, such as life cycle management and query management. Life cycle management includes the activities that deal with the capability to create, update, or delete registry objects. Query management includes the activities dealing with querying the registry for information.

JAXR Provider

A JAXR provider is an application that implements the JAXR specification to access an existing registry provider, such as UDDI or ebXML. A JAXR provider is the combination of a JAXR pluggable provider and registry-specific JAXR providers. The JAXR pluggable provider implements the registry-independent features of JAXR. This enables it to provide an abstraction layer that a JAXR client can use in a registry-neutral way to connect to any underlying registry.

The registry-specific JAXR providers implement JAXR in a registry-specific manner. A registry-specific JAXR provider plugs into the pluggable provider layer, accepts JAXR requests from the JAXR clients, and translates them into equivalent registry-specific requests. The registry-specific JAXR provider then sends the request to the particular registry using registry-specific API calls. The registry processes the request and sends back a registry-specific response to the registry-specific JAXR provider, which in turn translates the response to an equivalent JAXR response that is to be delivered to the JAXR client.

As mentioned before, the JAXR specification provides an API that includes the best features of all the prominent registries. However, the different registries are in a different level of evolution, and therefore have varying capabilities. This implies that not all methods provided in the JAXR specification can be executed on all registries. For example, unlike ebXML registries, the UDDI registry specification does not support the notion of majorVersion and minorVersion. Therefore, an attempt to execute the setMajorVersion method on a UDDI registry will throw an exception.

To handle such a situation, the JAXR specification categorizes its API methods into two capability profiles, called level 0 and level 1. The level 0 methods provide the basic registry capabilities, whereas level 1 methods provide more advanced registry capabilities.

A JAXR provider must declare the capability level for its implementation of the JAXR API. A JAXR client can discover the capability level of a JAXR provider by invoking methods of the CapabilityProfile interface implemented by the JAXR providers. By default, all JAXR providers need to provide level 0 support, with support for level 1 optional. It is important to note that JAXR providers for UDDI must support level 0 capabilities, whereas JAXR providers for ebXML must be level 1-compliant. Also, the clients written to use only level 0 methods are portable and can be used by any JAXR provider.

Diverse Registries

Figure 9.3 also shows various registries, such as the UDDI- and ebXML-based registries, that are used as part of the JAXR architecture.


printer-friendly version of this section  Print  e-mail this section  E-Mail  add a public, group or private note  Add Note  add a bookmark about this section  Add Bookmark    
Top

[0672324342/ch09lev1sec6]

 
 


JavaT APIs for XML Kick Start
JAX: Java APIs for XML Kick Start
ISBN: 0672324342
EAN: 2147483647
Year: 2002
Pages: 133

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net