JAXR の高レベルのアーキテクチャーは、次の要素から構成されます。
JAXR クライアント: これは、JAXR API を使って JAXR プロバイダ経由でレジストリにアクセスするクライアントプログラムです。
JAXR プロバイダ: これは JAXR API の実装であり、特定のレジストリプロバイダまたは共通の仕様に基づく一連のレジストリプロバイダへのアクセス機能を提供します。このマニュアルでは、JAXR プロバイダの実装方法については説明しません。
JAXR プロバイダが実装する主要パッケージは、次の 2 つです。
javax.xml.registry。このパッケージは、API インタフェース、およびレジストリアクセスインタフェースを定義する クラス群から成ります。
javax.xml.registry.infomodel。このパッケージは、JAXR の情報モデルを定義するインタフェース群から成ります。これらのインタフェースは、レジストリに格納されるオブジェクトのタイプと、それらの関係を定義します。このパッケージの基本インタフェースは RegistryObject です。
javax.xml.registry パッケージのもっとも基本的なインタフェースを次に示します。
Connection。Connection インタフェースは、レジストリプロバイダとのクライアントセッションを表現したものです。クライアントは、レジストリを使用する前に、JAXR プロバイダとの接続を作成する必要があります。
RegistryService。クライアントは、接続から RegistryService オブジェクトを取得します。この RegistryService オブジェクトにより、クライアントは、レジストリへのアクセスに使用するインタフェースを順に取得できます。
同じく javax.xml.registry パッケージ内に含まれるインタフェースのうち、主なものを次に示します。
QueryManager と BusinessQueryManager。クライアントはこれらのインタフェースを使用して、javax.xml.registry.infomodel のインタフェース群に基づいてレジストリ内で情報を検索できます。省略可能なインタフェース DeclarativeQueryManager は、クライアントが SQL 構文を使ってクエリーを実行できるようにします。Service Registry の ebXML プロバイダは、DeclarativeQueryManager を実装しています。
LifeCycleManager と BusinessLifeCycleManager 。クライアントはこれらのインタフェースを使用して、情報の保存 (更新) または削除によってレジストリ内の情報を変更できます。
詳細、およびこれらのインタフェース間の関係を示す図については、javax.xml.registry パッケージの API ドキュメント (http://java.sun.com/j2ee/1.4/docs/api/javax/xml/registry/package-summary.html) を参照してください。
エラーが発生すると、AXR API のメソッドは JAXRException またはそのサブクラスの 1 つをスローします。
JAXR API の多くのメソッドでは、Collection オブジェクトが引数または戻り値として使用されています。Collection オブジェクトを使用すると、いくつかのレジストリオブジェクトに対する操作を一度に実行できます。
図 1–1 は、JAXR のアーキテクチャーを図示したものです。Service Registry の場合、JAXR クライアントは、JAXR API の機能レベル 0 と機能レベル 1 のインタフェースを使って JAXR プロバイダ (ebXML プロバイダ) にアクセスします。すると、JAXR プロバイダは、ebXML レジストリの一種である Service Registry にアクセスします。