BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ 
検索

 Previous Next Contents Index  

XML

XML レジストリ は、WebLogic Server のインスタンスの XML リソースをコンフィグレーションおよび管理する機能です。WebLogic Server の XML リソースには、XML データを解析するアプリケーションで使用するパーサ、XML データを変換するアプリケーションで使用するトランスフォーマ、外部エンティティの解決、および外部エンティティのキャッシュが含まれます。

WebLogic Server のインスタンスに XML レジストリが関連付けられていない場合、ドキュメントの解析や変換には組み込みのパーサおよびトランスフォーマが使用されます。また、外部エンティティの解決をコンフィグレーションして XML アプリケーションのパフォーマンス向上を図ることはできません。

WebLogic Server のインスタンスに XML レジストリの関連付けを行うと、XML コンフィグレーションの全オプションが、そのサーバを使用する XML アプリケーションで使用可能となります。

ある特定の XML レジストリについて、次の 2 種類のエントリをコンフィグレーションできます。

 


タスク

組み込まれていないパーサまたはトランスフォーマのコンフィグレーション

  1. 左ペインで、[サービス] ノードの下の [XML] ノードを右クリックして、ドロップダウン メニューから [新しい XML Registry のコンフィグレーション] を選択します。新しい XML レジストリを作成するウィンドウが表示されます。

  2. [名前] フィールドにユニークなレジストリ名を入力し、[Document Builder ファクトリ] フィールド、[SAX パーサ ファクトリ] フィールド、および [Transformer ファクトリ] フィールドに、対応するファクトリのパーサおよびトランスフォーマのクラスを設定します。

    たとえば、WebLogic FastParser を使用するには、次の情報を入力します。

[名前] : WebLogic FastParser
[Document Builder ファクトリ] :
[SAX パーサ ファクトリ] : weblogic.xml.babel.jaxp.SAXParserFactoryImpl
[Transformer ファクトリ] :

前述の例では、[Document Builder ファクトリ] と [Transformer ファクトリ] が空白のままであることに注意してください。これは、DOM の解析と変換には、組み込みのパーサとトランスフォーマがそれぞれ使用されるということです。WebLogic FastParser は、SAX の解析にのみ使用されます。

Apache Xerces パーサと Xalan トランスフォーマを直接指定する場合は、次の情報を入力してください。

[名前] : Apache Xerces/Xalan Registry
[Document Builder ファクトリ] :
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
[SAX パーサ ファクトリ] :
org.apache.xerces.jaxp.SAXParserFactoryImpl
[Transformer ファクトリ] :
org.apache.xalan.processor.TransformerFactoryImpl

  1. [作成] ボタンをクリックします。左ペインの [XML] ノードの下に XML レジストリが作成され、表示されます。

  2. 左ペインの [サーバ] ノードの下で、新しい XML レジストリを関連付けるサーバの名前をクリックします。

  3. 右ペインで、[サービス] タブを選択します。

  4. [XML] タブを選択します。WebLogic Server の XML プロパティをコンフィグレーションするウィンドウが、右ペインに表示されます。

  5. [XML レジストリ] フィールドでこのサーバと関連付ける XML レジストリ名を選択し、[適用] ボタンをクリックします。

特定のドキュメント タイプ用パーサのコンフィグレーション

特定のドキュメント タイプ用にパーサをコンフィグレーションする場合は、ドキュメントのシステム ID、パブリック ID、またはルート要素タグを使用して、ドキュメント タイプを識別できます。

警告: WebLogic Server では、ドキュメント タイプを識別しようとするとき、XML ドキュメントの最初の 1000 バイトのみを検索します。この最初の 1000 バイトの中に DOCTYPE 識別子が見つからなければ、ドキュメントの検索は終了し、WebLogic Server インスタンス用にコンフィグレーションされたパーサを使用してドキュメントの解析が行われます。

注意: 次の手順では、新しい XML レジストリを作成し、必要なパーサ レジストリ エントリを追加し、それをサーバと関連付けることを想定しています。既存の XML レジストリとサーバを関連付け済みであれば、手順 4. に進んでください。

  1. 左ペインで、[サービス] ノードの下の [XML] ノードを右クリックして、ドロップダウン メニューから [新しい XML Registry のコンフィグレーション] を選択します。新しい XML レジストリを作成するウィンドウが表示されます。

  2. [名前] フィールドにユニークなレジストリ名を入力します。サーバ用に、デフォルトのパーサおよびトランスフォーマをコンフィグレーションする場合は、[Document Builder ファクトリ] フィールド、[SAX パーサ ファクトリ] フィールド、および [Transformer ファクトリ] フィールドにファクトリ クラス名を入力します。それ以外の場合は、これらのフィールドは空白にしておきます。

  3. [作成] ボタンをクリックします。左ペインの [XML] ノードの下に XML レジストリが作成され、表示されます。

  4. 左ペインの [XML] ノードの下で、XML レジストリの下の [パーサ選択のエントリ] ノードを右クリックします。ドロップダウン メニューから、[新しい XML Parser Select Registry Entry のコンフィグレーション] を選択します。右ペインに、ドキュメント タイプ情報を入力するための空のウィンドウが表示されます。

  5. 次の方法のいずれかで、ドキュメント タイプ情報を入力します。

    1. [パブリック ID] フィールドまたは [システム ID] フィールドのどちらかを使用して、doctype を指定します。たとえば、car.xmlリスト74-1 参照)の場合、[パブリック ID] フィールドに「-//BEA Systems, Inc.//DTD for cars//EN」と入力します。

    2. ドキュメントのルート要素タグ名を指定します。car.xml の例では、[ルート要素タグ] フィールドに「CAR」と入力します。

      XML ドキュメントでネームスペースが定義されている場合は、必ず「VEHICLES:CAR」のような、完全修飾されたルート要素タグを入力してください。

コード リスト 74-1 car.xml ファイル

<?xml version="1.0"?> 
<!-- この XML ドキュメントでは、自動車を説明 -->
<!DOCTYPE CAR PUBLIC "-//BEA Systems, Inc.//DTD for cars//EN"
"http://www.bea.com/dtds/car.dtd">
<CAR>
<MAKE>Toyota</MAKE>
<MODEL>Corrolla</MODEL>
<YEAR>1998</YEAR>
<ENGINE>1.5L</ENGINE>
<HP>149</HP>
</CAR>

  1. [Document Builder ファクトリ] フィールドまたは [SAX パーサ ファクトリ] フィールドに、適切なファクトリ パーサ クラスを設定します。

    たとえば、このドキュメント タイプを WebLogic FastParser で解析するように指定するには、[SAX パーサ ファクトリ] フィールドに「weblogic.xml.babel.jaxp.SAXParserFactoryImpl」と入力します。

    注意: [パーサ クラス名] フィールドには何も入力しないでください。このフィールドは、旧バージョンの WebLogic Server との下位互換性のためにのみ存在します。

  2. [作成] ボタンをクリックします。XMLParserSelect レジストリ エントリが作成されます。

  3. 左ペインの [サーバ] ノードの下で、新しい XML レジストリを関連付けるサーバの名前をクリックします。

  4. 右ペインで、[サービス] タブを選択します。

  5. [XML] タブを選択します。WebLogic Server の XML プロパティをコンフィグレーションするウィンドウが、右ペインに表示されます。

  6. [XML レジストリ] フィールドでこのサーバと関連付ける XML レジストリ名を選択し、[適用] ボタンをクリックします。

外部エンティティの解決のコンフィグレーション

WebLogic Server で外部エンティティの解決をコンフィグレーションする場合は、WebLogic 管理サーバからアクセス可能なディレクトリに、エンティティ ファイルを物理的にコピーします。次に、XML ドキュメントで外部エンティティへの参照があるたびに、管理サーバでローカルのコピーが使用されるように指定します。

注意: 次の手順では、新しい XML レジストリを作成し、必要な外部エンティティ解決レジストリ エントリを追加し、それをサーバと関連付けることを想定しています。既存の XML レジストリとサーバを関連付け済みであれば、手順 4. に進んでください。

  1. 左ペインで、[サービス] ノードの下の [XML] ノードを右クリックして、ドロップダウン メニューから [新しい XML Registry のコンフィグレーション] を選択します。右ペインに、新しい XML レジストリを作成するウィンドウが表示されます。

  2. [名前] フィールドに、ユニークなレジストリ名を入力します。サーバ用に、デフォルトのパーサおよびトランスフォーマをコンフィグレーションする場合は、[Document Builder ファクトリ] フィールド、[SAX パーサ ファクトリ] フィールド、および [Transformer ファクトリ] フィールドにファクトリ クラス名を入力します。それ以外の場合は、これらのフィールドは空白にしておきます。

  3. [作成] ボタンをクリックします。左ペインの [XML] ノードの下に XML レジストリが作成され、表示されます。

  4. 左ペインの [XML] ノードの下で、XML レジストリの下の [エンティティ スペックのエントリ] ノードを右クリックします。ドロップダウン メニューから、[新しい XML Entity Spec Registry Entry のコンフィグレーション] を選択します。右ペインに、エンティティ解決情報を入力するための空のウィンドウが表示されます。

  5. XML ドキュメントで外部エンティティの参照に使用する [システム ID] または [パブリック ID] のいずれかを入力します。たとえば、次の car.xml ファイルでは、[システム ID] に「http://www.bea.com/dtds/car.dtd」と入力します。

コード リスト 74-2 car.xml ファイル

<?xml version="1.0"?> 
<!-- この XML ドキュメントでは、自動車を説明 -->
<!DOCTYPE CAR PUBLIC "-//BEA Systems, Inc.//DTD for cars//EN"
"http://www.bea.com/dtds/car.dtd">
<CAR>
<MAKE>Toyota</MAKE>
<MODEL>Corrolla</MODEL>
<YEAR>1998</YEAR>
<ENGINE>1.5L</ENGINE>
<HP>149</HP>
</CAR>

  1. 外部エンティティのローカル コピーをコンフィグレーションしている場合は、レジストリ エンティティのディレクトリ DOMAIN/xml/registries/reg_name が存在することを確認してください。ここで、DOMAIN はドメイン ディレクトリ、reg_name は XML レジストリの名前です。存在しない場合は、作成します。

  2. [エンティティ URI] フィールドで、次の 2 つのエンティティ パスの一方を入力します。

    1. 管理サーバにあるエンティティ ファイルのコピーのパス名。このパス名は、レジストリ エンティティ ディレクトリ DOMAIN/xml/registries/reg_name を基準とした相対パスとします。

      たとえば、car.xml ファイルでは、[エンティティ URI] フィールドに「dtds/car.dtd」と入力することができます。

    2. Web に公開される外部エンティティ、またはリポジトリに格納されるエンティティを指す URL。たとえば、J2EE エンタープライズ アプリケーションの記述に使用される application.xml ファイル用の DTD を参照するには、「http://java.sun.com/j2ee/dtds/application_1_2.dtd」と入力します。また、データベース内のエンティティを参照するには、「jdbc:」を使用します。

      外部エンティティを指定するには、http://file://jdbc:、または ftp:// のプロトコル宣言を使用します。

  3. [キャッシュのタイミング] リスト ボックスから、次のオプションのうち 1 つを選択します。

  4. [キャッシュ タイムアウト間隔] フィールドに、キャッシュされた外部エンティティが古くなる(期限切れになる)までの秒数を入力します。WebLogic Server では、キャッシュされたコピーがこの期間よりも長くキャッシュ内に存在していれば、指定した URL または管理サーバを基準とした相対パス名から、外部エンティティを再取得します。

    このフィールドのデフォルト値は -1 です。これは、WebLogic Server に対しグローバル タイムアウト値が使用されることを意味します。

  5. [作成] ボタンをクリックします。XMLEntitySpec レジストリ エントリが作成されます。

  6. 左ペインの [サーバ] ノードの下で、新しい XML レジストリを関連付けるサーバの名前をクリックします。

  7. 右ペインで、[サービス] タブを選択します。

  8. [XML] タブを選択します。WebLogic Server の XML プロパティをコンフィグレーションするウィンドウが、右ペインに表示されます。

  9. [XML レジストリ] フィールドでこのサーバと関連付ける XML レジストリ名を選択し、[適用] ボタンをクリックします。

  10. Web からエンティティをキャッシュするのではなく、エンティティのローカル コピーを使うように指定した場合は、エンティティ ファイルをエンティティ ディレクトリにコピーします。

    たとえば、car.dtd ファイルをディレクトリ DOMAIN/xml/registries/reg_name/dtds にコピーします。ここで、DOMAIN はドメイン ディレクトリ、reg_name は XML レジストリの名前です。

外部エンティティ キャッシュのコンフィグレーション

外部エンティティ キャッシュの、以下のプロパティをコンフィグレーションできます。

外部エンティティ キャッシュをコンフィグレーションするには、次の手順に従います。

  1. 左ペインの [サーバ] ノードの下で、外部エンティティ キャッシュをコンフィグレーションする WebLogic Server の名前をクリックします。

  2. 右ペインで、[サービス] タブを選択します。

  3. [XML] タブを選択します。WebLogic Server の XML プロパティをコンフィグレーションするウィンドウが、右ペインに表示されます。

  4. [キャッシュ メモリ サイズ] フィールドに、キャッシュ メモリのサイズを入力します(単位 : KB)。このプロパティのデフォルト値は 500 KB です。

  5. [キャッシュ ディスク サイズ] フィールドに、永続ディスク キャッシュのサイズを入力します(単位 : MB)。このプロパティのデフォルト値は 5 MB です。

  6. [キャッシュ タイムアウト間隔] フィールドに、エンティティが古くなるまでの秒数を入力します。このプロパティのデフォルト値は 120 秒です。

  7. [適用] ボタンをクリックします。

外部エンティティ キャッシュのモニタ

外部エンティティ キャッシュに関する一連の統計情報を使用して、キャッシュの効果をモニタできます。統計情報では以下が示されます。

外部エンティティ キャッシュをモニタするには、次の手順に従います。

  1. 左ペインの [サーバ] ノードの下で、外部エンティティ キャッシュをコンフィグレーションする WebLogic Server の名前をクリックします。

  2. 右ペインで、[サービス] タブを選択します。

  3. [XML] タブを選択します。WebLogic Server の XML プロパティをコンフィグレーションするウィンドウが、右ペインに表示されます。

  4. 右ペインの [XML エンティティ キャッシュのモニタ] をクリックします。

  5. キャッシュの現在の状態を表示するには [現在] タブを、現在のセッションの累積アクティビティを表示するには [セッション] タブを、キャッシュ作成後(通常は WebLogic Server 起動後)の累積アクティビティを表示するには、[履歴] タブをクリックします。

 

Back to Top Previous Next