Home TOC |
![]() ![]() ![]() |
Overview of JAXR
This section provides a brief overview of JAXR.
What is a Registry?
An XML registry is an infrastructure that enables the building, deployment, and discovery of Web services. It is a neutral third party that facilitates dynamic and loosely coupled business-to-business (B2B) interactions. A registry is available to organizations as a shared resource, often in the form of a Web-based service.
Currently there are a variety of specifications for XML registries. These include
- The ebXML Registry and Repository standard, which is being developed by the Organization for the Advancement of Structured Information Standards (OASIS) and the United Nations Centre for the Facilitation of Procedures and Practices in Administration, Commerce and Transport (U.N./CEFACT)
- The Universal Description, Discovery, and Integration (UDDI) project, which is being developed by a vendor consortium
What Is JAXR?
JAXR enables Java software programmers to use a single, easy-to-use abstraction API to access a variety of XML registries. A unified JAXR information model describes content and metadata within XML registries.
JAXR gives developers the ability to write registry client programs that are portable across different target registries. JAXR also enables value-added capabilities beyond those of the underlying registries.
The current version of the JAXR specification includes detailed bindings between the JAXR information model and both the ebXML Registry and the UDDI v1.0 specifications. You can find the latest version of the specification at
http://java.sun.com/xml/downloads/jaxr.html
At this release, the JAXR RI implements the level 0 capability profile defined by the JAXR specification. This level allows access to both UDDI and ebXML registries at a basic level. The RI, however, currently supports access only to UDDI registries.
Currently several UDDI registries exist. The Java WSDP Registry Server provides a UDDI-compliant registry that you can use to test your JAXR applications.
Some ebXML registries are under development, but they are not yet generally available.
JAXR Architecture
The high-level architecture of JAXR consists of the following parts:
- A JAXR client, which uses the JAXR API to access a registry via a JAXR provider.
- A JAXR provider, which implements the RegistryService interface and various interfaces in order to allow a client to access registries.
A JAXR provider implements two main packages:
javax.xml.registry
, which consists of the API interfaces and classes that define the registry access interface.javax.xml.registry.infomodel
, which consists of interfaces that define the information model for JAXR. These interfaces define the types of objects that reside in a registry and how they relate to each other. The basic interface in this package is theRegistryObject
interface. Its subinterfaces includeOrganization
,Service
, andServiceBinding
.The most basic interfaces in the
javax.xml.registry
package are
Connection
. TheConnection
interface represents a client session with a registry provider. The client must create a connection with the JAXR provider in order to use a registry.RegistryService
. The client obtains aRegistryService
object from its connection. TheRegistryService
object in turn enables the client to obtain the interfaces it uses to access the registry.The primary interfaces, also part of the
javax.xml.registry
package, are
BusinessQueryManager
, which allows the client to search a registry for information in accordance with thejavax.xml.registry.infomodel
interfaces. An optional interface,DeclarativeQueryManager
, allows the client to use SQL syntax for queries. (This release of the JAXR RI does not implementDeclarativeQueryManager
.)BusinessLifeCycleManager
, which allows the client to modify the information in a registry by either saving it (updating it) or deleting it.When an error occurs, JAXR API methods throw a
JAXRException
or one of its subclasses.Many methods in the JAXR API use a
Collection
object as an argument or a returned value. Using aCollection
object allows operations on several registry objects at a time.
Home TOC |
![]() ![]() ![]() |