ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |      XML プログラミング ガイド   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

WebLogic Server XML の管理

 

以下の節では、WebLogic Server での XML の管理について説明します。

 


WebLogic Server XML の管理の概要

Administration Console から XML レジストリにアクセスし、XML レジストリで WebLogic Server を XML アプリケーション用にコンフィグレーションします。

ブラウザで Administration Console を呼び出すには、次の URL を指定します。

http://host:port/console

この URL の説明は以下のとおりです。

XML の管理タスク

XML レジストリは、Administration Console を通じて作成、コンフィグレーション、および使用します。Administration Console の XML レジストリを使用するメリットは以下のとおりです。

XML レジストリを使用すると、以下の指定が可能になります。

これらの機能は、サーバサイドだけで使用できます。

XML レジストリの仕組み

XML レジストリを必要な数だけ作成できますが、WebLogic Server の特定のインスタンスに関連付けることができる XML レジストリの数は 1 つだけです。

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

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

指定した XML レジストリに対して以下の 2 種類のエントリをコンフィグレーションできます。

注意: XML レジストリでは、大文字と小文字が区別されます。たとえば、ルート要素が <CAR> の XML ドキュメント タイプのパーサをコンフィグレーションしている場合、[ルート要素タグ] フィールドには、「car」または「Car」ではなく「CAR」と入力する必要があります。

XML レジストリ内のパーサの選択

JAXP で XML アプリケーションを記述する場合は、常に XML レジストリに自動的にアクセスします。WebLogic Server は、以下のようなルックアップ順序に従って、ロードするパーサのクラスを決定します。

  1. 特定のドキュメント タイプ用に定義したパーサを使用します。

  2. WebLogic Server インスタンスに関連付けられている XML レジストリで定義されたサーバ全体の代替パーサを使用します。

  3. 組み込み Xerces パーサを使用します。

特定のドキュメント タイプに対応するトランスフォーマを定義することはできないので最初の手順は除きますが、それ以外ではこのプロセスはトランスフォーマにも当てはまります。

さらに、WebLogic Server の起動時に、SAX エンティティ リゾルバは、レジストリで宣言されたエンティティを解決するように自動的に設定されます。したがって、使用するパーサを制御したり、外部エンティティのローカル コピーの場所を設定したりするために、XML アプリケーション コードを変更する必要はありません。使用するパーサ、および外部エンティティの位置は、XML レジストリで制御します。

注意: パーサによって JAXP の代わりに提供された API を使用する場合、XML レジストリは XML ドキュメントの処理に影響を与えません。このため、XML アプリケーションではなるべく JAXP を使用してください。

 


XML パーサおよびトランスフォーマのコンフィグレーション タスク

デフォルトでは、WebLogic Server は、組み込みパーサとトランスフォーマで XML ドキュメントを解析および変換するようにコンフィグレーションされています。リリース 6.1 では、組み込み XML パーサは Apache Xereces、組み込みトランスフォーマは Apache Xalan です。デフォルト コンフィグレーションを使用する場合、XML アプリケーション用のコンフィグレーション タスクは不要です。組み込み以外のパーサまたはトランスフォーマを使用する場合は、以下の節で説明するように XML レジストリでパーサおよびトランスフォーマをコンフィグレーションする必要があります。

組み込み以外のパーサまたはトランスフォーマのコンフィグレーション

次の手順ではまず、SAX および DOM パーサおよびトランスフォーマを定義する XML レジストリの作成方法を説明します。次に、サーバが新しいパーサとトランスフォーマを使用するために、新しい XML レジストリを WebLogic Server のインスタンスに関連付ける方法を説明します。

  1. WebLogic 管理サーバを起動し、Administration Console をブラウザで起動します。Administration Console 開始の詳細については、 WebLogic Server XML の管理の概要を参照してください。

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

    図4-1 Administration Console のメイン XML レジストリ ウィンドウ


     

  3. ユニークなレジストリ名を [名前] フィールドに入力し、[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

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

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

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

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

    図4-2 Administration Console の XML プロパティ コンフィグレーション用ウィンドウ


     

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

  9. サーバを再起動して新しい設定内容を有効にします。

特定のドキュメント タイプに対応したパーサのコンフィグレーション

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

注意: 次の手順では、これから新しい XML レジストリを作成して、必要なパーサ レジストリ エントリを追加し、サーバに関連付けることを前提としています。既存の XML レジストリを既にサーバに関連付けている場合は、 手順 5. にスキップしてください。

特定のドキュメント タイプに対応したパーサをコンフィグレーションするには、以下の手順を実行します。

  1. WebLogic 管理サーバを起動し、Administration Console をブラウザで起動します。

    Administration Console 開始の詳細については、 WebLogic Server XML の管理の概要を参照してください。

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

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

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

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

    図4-3 Administration Console による XML パーサのコンフィグレーション


     

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

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

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

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

      コード リスト 4-1 car.xml File

      <?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>

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

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

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

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

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

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

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

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

  13. サーバを再起動して新しい設定内容を有効にします。

 


外部エンティティのコンフィグレーション タスク

XML レジストリを使用すると、外部エンティティ解決をコンフィグレーションし、外部エンティティ キャッシュをコンフィグレーションおよびモニタできます。

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

WebLogic Server では、以下のいずれかの方法で外部エンティティの解決をコンフィグレーションできます。

注意: 次の手順では、これから新しい XML レジストリを作成して、必要な外部エンティティ解決のエントリを追加し、サーバに関連付けることを前提としています。既存の XML レジストリを既にサーバに関連付けている場合は、 手順 5. にスキップしてください。

外部エンティティの解決をコンフィグレーションするには、以下の手順を実行します。

  1. WebLogic 管理サーバを起動し、Administration Console をブラウザで起動します。

    Administration Console 開始の詳細については、 WebLogic Server XML の管理の概要を参照してください。

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

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

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

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

    図4-4 Administration Console による外部エンティティのコンフィグレーション


     

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

    コード リスト 4-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>

  7. [エンティティ URI] フィールドで、以下のいずれかのエンティティ パスを入力します。

    1. 管理サーバ内のエンティティ ファイルのコピーのパス名。このパス名は、ドメイン コンフィグレーション ディレクトリの BEAHome\wlserver6.1\config\domain\xml\registries\reg_name というように、レジストリ エンティティ ディレクトリを基準にした相対パスにする必要があります。このパス名では、BEAHome は、WebLogic Server ソフトウェアがインストールされている最上位ディレクトリ、domain は、WebLogic Server ドメイン名、reg_name は、新しい XML レジストリ名です。たとえば、car.xml ファイルの場合、[エンティティ URI] フィールドに「dtds\car.dtd」と入力できます。

    2. Web 上の外部エンティティを示す URL、またはレポジトリに保存されているエンティティ。たとえば、「http://java.sun.com/j2ee/dtds/application_1_2.dtd」と入力して、J2EE エンタープライズ アプリケーションの説明に使用する application.xml ファイルの DTD を参照するか、jdbc: を使用してデータベース内の任意のエンティティを参照します。

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

  8. [キャッシュのタイミング] リスト ボックスから以下のオプションのいずれか 1 つを選択します。

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

    このフィールドのデフォルト値は -1 で、WebLogic Server のグローバル タイムアウト値が使用されます。グローバル キャッシュ タイムアウト設定のコンフィグレーションの詳細については、 外部エンティティ キャッシュのコンフィグレーションを参照してください。

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

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

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

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

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

  15. サーバを再起動して新しい設定内容を有効にします。

  16. Web からのキャッシュではなく、エンティティのローカル コピーを使用するように指定した場合は、エンティティ ファイルをエンティティ ディレクトリをコピーします。たとえば、car.dtd ファイルを BEAHome\wlserver6.1\config\domain\xml\registries\reg_name\dtds ディレクトリにコピーします。このパス名では、BEAHome は、WebLogic Server ソフトウェアがインストールされている最上位ディレクトリ、domain は、WebLogic Server ドメイン名、reg_name は、新しい XML レジストリ名です。

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

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

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

  1. WebLogic 管理サーバを起動し、Administration Console をブラウザで起動します。

    Administration Console 開始の詳細については、 WebLogic Server XML の管理の概要を参照してください。

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

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

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

  5. [キャッシュ メモリ サイズ] フィールドで、キャッシュ メモリのサイズ(KB)を入力します。

  6. [キャッシュ ディスク サイズ] フィールドで、永続ディスク キャッシュのサイズ(MB)を入力します。

  7. [キャッシュ タイムアウト間隔] フィールドで、エンティティが期限切れになるまでの秒数を入力します。

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

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

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

統計情報にアクセスするには、J2EE Java Management Extension(JMX)仕様と WebLogic Server Management API を一緒に使用して、Management Bean(MBean)を作成およびデプロイし、WebLogic Server の外部エンティティ キャッシュをモニタします。以下の MBean インタフェースを使用します。

WebLogic Server Management APIは、Javadoc でオンライン ドキュメント化されています。

以下の表で、外部エンティティ キャッシュの現在の状態に関する統計情報の取得に使用できるメソッドについて説明します。

表4-1 キャッシュ統計の現在の状態

メソッド

説明

getMemoryUsage

すべてのメモリ常駐エントリの保存に使用するバイト数を返す。

getDiskUsage

すべてのディスク常駐エントリの保存に使用するバイト数を返す。

getTotalCurrentEntries

キャッシュ内のエントリ合計数を返す。

getTotalPersistentCurrentEntries

キャッシュ内の永続エントリ数を返す。

getTotalTransientCurrentEntries

キャッシュ内の一時エントリ数を返す。

getAvgPercentTransient

エントリの中で一時エントリが占めるパーセントを返す。

getAvgPercentPersistent

エントリの中で永続エントリが占めるパーセントを返す。

getAvgTimeout

エントリの平均タイムアウト値を返す。

getMinEntryTimeout

現在のエントリの最小タイムアウト値を返す。

getMaxEntryTimeout

現在のエントリの最大タイムアウト値を返す。

getAvgPerEntryMemorySize

現在のエントリの平均メモリ サイズを返す。

getMaxEntryMemorySize

現在のエントリの最大メモリ サイズを返す。

getMinEntryMemorySize

現在のエントリの最小メモリ サイズを返す。

getAvgPerEntryDiskSize

現在のエントリの平均ディスク サイズを返す。


以下の表で、外部エンティティ キャッシュの累積アクティビティに関する統計情報の取得に使用できるメソッドについて説明します。

表4-2 キャッシュの累積アクティビティ

メソッド

説明

getTotalCurrentEntries

キャッシュ内のエントリ合計数を返す。

getTotalPersistentCurrentEntries

キャッシュ内の永続エントリ数を返す。

getTotalTransientCurrentEntries

キャッシュ内の一時エントリ数を返す。

getAvgPercentTransient

エントリの中で一時エントリが占めるパーセントを返す。

getAvgPercentPersistent

エントリの中で永続エントリが占めるパーセントを返す。

getAvgTimeout

エントリの平均タイムアウト値を返す。

getMinEntryTimeout

現在のエントリの最小タイムアウト値を返す。

getMaxEntryTimeout

現在のエントリの最大タイムアウト値を返す。

getAvgPerEntryMemorySize

現在のエントリの平均メモリ サイズを返す。

getMaxEntryMemorySize

現在のエントリの最大メモリ サイズを返す。

getMinEntryMemorySize

現在のエントリの最小メモリ サイズを返す。

getAvgPerEntryDiskSize

現在のエントリの平均ディスク サイズを返す。

getTotalNumberMemoryPurges

完了したメモリ パージ数を返す。

getTotalItemsMemoryPurged

すべてのメモリ パージでパージされた項目の合計数を返す。

getAvgEntrySizeMemoryPurged

メモリ パージされた項目の平均サイズをバイト数で返す。

getMostRecentMemoryPurge

最後のメモリ パージの時刻を返す。

getMemoryPurgesPerHour

1 時間ごとの平均メモリ パージ数を返す。

getTotalNumberDiskPurges

完了したディスク パージ数を返す。

getTotalItemsDiskPurged

すべてのディスク パージでパージされた項目の合計数を返す。

getAvgEntrySizeDiskPurged

ディスク パージされた項目の平均サイズをバイト数で返す。

getMostRecentDiskPurge

最後のディスク パージの時刻を返す。

getDiskPurgesPerHour

1 時間ごとの平均ディスク パージ数を返す。

getTotalNumberOfRejections

拒否されたエントリ数を返す。

getTotalSizeOfRejections

拒否された全項目の合計サイズをバイト数で返す。

getPercentRejected

拒否された挿入をパーセントで返す。

getTotalNumberOfRenewals

期限切れエントリが更新された回数を返す。

 

back to top previous page next page