Previous section   Next section
Package javax.xml.registry JAXR 1.0; JWSDP 1.0, J2EE 1.4

The javax.xml.registry and javax.xml.registry.infomodel packages contain the classes and interfaces that make up the Java API for XML-based Registries (JAXR). The javax.xml.registry.infomodel package (described in the next chapter), defines the programming interface for the objects that reside in a registry, while the javax.xml.registry package (the subject of this chapter), provides the means to connect to a registry, submit queries, and update and delete objects within the registry.

In the JAXR API, a client application connects to a JAXR provider that is usually co-resident with it. The JAXR provider is specific to a particular type of registry, but provides a programming model that is entirely independent of the way in which the target registry stores and manages its content. There are currently two major registry types in common use: the UDDI registry and the ebXML registry/repository. Although these registries have a lot of common functionality, the ebXML registry/repository also provides features that have no counterpart in the UDDI registry and that cannot reasonably be emulated by a UDDI-based JAXR provider. The JAXR API deals with this situation by allocating each method to a capability level. There are currently two such levels: level 0, which broadly corresponds to the functionality provided by a UDDI registry, and level 1, which extends level 0 to include functionality from the ebXML registry specification. All JAXR providers are required to implement level 0. The JAXR reference implementation includes a level provider that works with a UDDI registry. The level to which each method in the API is allocated is shown in the reference sections in both this and the next chapter.

The core interface of the JAXR API is RegistryService. Each JAXR provider is represented by a single instance of this interface, which can be retrieved by creating a ConnectionFactory, then obtaining a Connection to the JAXR provider and calling its getRegistryService( ) method. The RegistryService object provides access to the query managers and the lifecycle manager that can be used to query and update the registry itself.

Querying a registry and updating a registry are modeled as two separate activities. This is appropriate because registry queries can usually (depending on the policy of the registry) be performed by any user, without the need for authentication. Registry updates, on the other hand, almost always require prior authentication and are typically carried out only over a secure transport protocol, such as HTTPS. The JAXR API provides the QueryManager and BusinessQueryManager interfaces to handle registry queries and the LifeCycleManager and BusinessLifeCycleManager interfaces for registry updates. In addition, level 1 registries may support registry queries written using SQL-92 or XQuery (and possibly other query languages) via the DeclarativeQueryManager interface.

Interfaces

public interface BulkResponse extends JAXRResponse;
public interface BusinessLifeCycleManager extends LifeCycleManager;
public interface BusinessQueryManager extends QueryManager;
public interface CapabilityProfile;
public interface Connection;
public interface DeclarativeQueryManager extends QueryManager;
public interface FederatedConnection extends Connection;
public interface FindQualifier;
public interface JAXRResponse;
public interface LifeCycleManager;
public interface Query;
public interface QueryManager;
public interface RegistryService;

Classes

public abstract class ConnectionFactory;

Exceptions

public class JAXRException extends Exception implements JAXRResponse;
public class InvalidRequestException extends JAXRException;
public class RegistryException extends JAXRException;
public class DeleteException extends RegistryException;
public class FindException extends RegistryException;
public class SaveException extends RegistryException;
public class UnexpectedObjectException extends JAXRException;
public class UnsupportedCapabilityException extends JAXRException;

  Previous section   Next section