オペレーション ガイド

     前  次    目次     
ここから内容

レポート

Oracle Service Bus は、メッセージ データとアラートを 1 つまたは複数のレポート プロバイダに配信します。メッセージ データは、メッセージの本文およびメッセージに関連付けられた他の変数 (header 変数や inbound 変数など) から取り込むことができます。アラート データには、プロキシ サービスをモニタするためにコンフィグレーションできるサービス レベル アグリーメント (SLA) 違反に関する情報が含まれます。レポート プロバイダに配信されるメッセージまたはアラート データは、メッセージのトラッキングや規定の監査などの機能に使用できます。

Oracle Service Bus には、メッセージ レポート用の JMS レポート プロバイダが含まれます。Oracle Service Bus Console の [レポート] モジュールには、このレポート プロバイダから取り込まれた情報が表示されます。Oracle Service Bus のインストールで提供される JMS レポート プロバイダを使用しない場合は、そのレポート プロバイダを割り当て解除し、レポート サービス プロバイダ インタフェース (SPI) を使用して独自のレポート プロバイダを作成できます。メッセージ用の独自のレポート プロバイダをコンフィグレーションした場合、Oracle Service Bus Console に情報は表示されません。したがって、独自のユーザ インタフェースを作成する必要があります。SLA データを取り込むには、アラート用のレポート プロバイダを作成する必要があります。

この章の内容は以下のとおりです。

 


Oracle Service Bus のレポート フレームワークについて

Oracle Service Bus には、メッセージまたはアラート用に 1 つまたは複数のレポート プロバイダを作成できる拡張可能なフレームワークが用意されています。

メッセージ レポートを有効にするには、最初にプロキシ サービスのメッセージ フローにレポート アクションを作成する必要があります。レポート アクションを使用すると、各メッセージから情報を抽出して、それを Oracle Service Bus レポート データ ストリームに書き込むことができます。アラート レポートのレポート アクションをコンフィグレーションする必要はありません。アラート データは常にレポート データ ストリームで使用可能です。詳細については、「メッセージ レポートを有効にする方法」を参照してください。

独自のレポート プロバイダの作成に必要な情報は、Oracle Service Bus の Javadoccom.bea.wli.reporting にあります。Javadoc には、レポート プロバイダをパッケージ化する方法、配置場所、デプロイの方法、デプロイメント順序など、レポート プロバイダの実装に必要なものに関する情報が記載されています。レポート スキーマ (MessageReporting.xsd) の場所は、ALSB_HOME/lib/sb-schemas.jar です。

図 5-1 は、レポート フレームワークを示しています。

図 5-1 レポート フレームワーク

レポート フレームワーク

図 5-1 に示すように、レポート メッセージとアラートの両方がレポート データ ストリームにエクスポートされます。レポート ステージでは、レポート アクションによって情報が各メッセージから抽出され、MessageReporting.xsd に準拠するメタデータとともにレポート データ ストリームに書き込まれます。

同様に、SLA マネージャは、レポート データ マネージャ API を使用して、AlertReporting.xsd に準拠するメタデータとともにアラート レポート ストリームに書き込みます。アラートのレポート プロバイダまたは独自のメッセージ レポート プロバイダを開発するには、ReportingDataHandler インタフェースを実装し、ReportingDataManager クラスを使用する必要があります

ReportingDataHandler インタフェースは、レポートまたはアラート データ ストリームを取得し、処理します。このストリームは、リレーショナル データベース、ファイル、JMS キューなどで処理したり格納したりできます。使用するストリームに応じて、データ ストリームを処理する適切な handle メソッドを実装する必要があります。

ReportingDataManager は、レポート プロバイダのレジストリを保持するローカル サーバ オブジェクトです。レポート プロバイダは、ReportingDataHandler インタフェースを実装します。ReportingDataManager には、以下の機能を実行するための操作が用意されています。

 


JMS レポート プロバイダについて

JMS レポート プロバイダは、プロキシ サービスのメッセージ フローでのレポート アクションを使用して各メッセージからレポート情報を取り込むプラグイン可能なアーキテクチャを備えています。デフォルトの JMS レポート プロバイダは、Oracle Service Bus ドメインの作成時に自動的にコンフィグレーションされます。クラスタ内のすべてのメッセージは集約され、データベース固有の形式で JMS レポート プロバイダ データ ストアに格納されます。このプロバイダは、JMS レポート プロバイダ データ ストアの情報を表示します。

注意 : このレポート プロバイダを使用しない場合は、割り当て解除する必要があります。詳細については、「JMS レポート プロバイダを割り当て解除する方法」を参照してください。

JMS レポート プロバイダは、プロデューサとコンシューマで構成されています。これらはスケーラビリティを向上させるために切り離されています。図 5-2 に示すように、プロデューサは JMS プロデューサであり、MDB (メッセージ駆動型 Bean) が JMS コンシューマとして機能します。

図 5-2 JMS レポート プロバイダ

JMS レポート プロバイダ

レポート ステージには、レポート情報を収集し、ReportingDataManager の各種の handle 操作を通じてレポート ストリームを JMS レポート プロバイダにディスパッチするレポート アクションが含まれています。JMSReportingDataHandler は、レポート プロバイダの JMS プロデューサです。JMSReportingDataHandler はレポート ストリームを取得し、情報を JMS キューに記録します。MDB は、JMS レポート キューをリスンします。メッセージは非同期に処理され、データは JMS レポート プロバイダ データ ストアに格納されます。

JMS レポート プロバイダはレポート アクションによって生成されたレポートを処理しますが、SLA やパイプライン アラートのため生成されたレポートは無視されます。カスタム レポート プロバイダに書き込むとき、その動作に制限されません。ビジネス要件に応じて、レポート フレームワークによってカスタム レポート プロバイダに配信されたレポート データのすべてまたはサブセットを処理することができます。

 


メッセージ レポートを有効にする方法

Oracle Service Bus のインストールで提供される JMS レポート プロバイダ、またはユーザ独自のレポート プロバイダからレポート メッセージを受信するには、まずプロキシ サービスのメッセージ フローにレポート アクションを作成する必要があります。レポート アクションを使用すると、各メッセージから情報を抽出して、それを Oracle Service Bus レポート データ ストリームに書き込むことができます。レポート アクションには、メッセージから抽出し、Oracle Service Bus のレポート データ ストリームに追加する情報を指定する必要があります。

レポート アクションをコンフィグレーションする場合は、キー値を使用してメッセージからキー識別子を抽出します。複数のキーをコンフィグレーションできます。情報は、メッセージの本文からのみでなく、header 変数や inbound 変数など、メッセージに関連付けられている他のあらゆる変数からも取り込むことができます。メッセージ変数の詳細については、『Oracle Service Bus ユーザーズ ガイド』の「メッセージ コンテキスト」を参照してください。

任意の XML 要素をキーとして使用できます。

<?xml version="1.0" encoding="utf-8"?>
<poIncoming>
<areacode>408</areacode>
<item-quantity>100</item-quantity>
<item-code>ABC</item-code>
<item-description>Medicine</item-description>
</poIncoming>

たとえばキーを itemcode、値を .//item-code (XPath 式)、変数をメッセージ本文 (body) と、図 5-3 に示すように指定できます。

図 5-3 キー名とキー値

キー名とキー値

デフォルトの JMS レポート プロバイダを使用している場合は、キーおよび関連付けられている値が [メッセージの概要] テーブルの [レポート インデックス] カラムに表示されます。複数のキーをコンフィグレーションした場合は、図 5-4 に示すように、キーと値の各ペアがカンマで区切られて [レポート インデックス] カラムに表示されます。

図 5-4 キーおよびそれに関連付けられている値の表示

キーおよびそれに関連付けられている値の表示

レポート アクションの作成または [メッセージの概要] ページの表示方法については、『Oracle Service Bus Console の使い方』の次のトピックを参照してください。

 


レポート プロバイダを停止する方法

Oracle Service Bus ドメインでサーバの実行中にレポート プロバイダを停止する場合は、以下の手順に従います。

  1. WebLogic Server Administration Console を起動します。詳細については、WebLogic Server および WebLogic Express の紹介の「Administration Console の概要」にある「Administration Console の起動」を参照してください。
  2. WebLogic Server Administration Console にログインした後、[ドメイン構造] で [デプロイメント] をクリックします。[デプロイメントの概要] ページが表示されます。
  3. [デプロイメント] テーブルで、停止するレポート プロバイダの横にあるチェックボックスを選択します。
  4. 図 5-5 レポート プロバイダの停止


    レポート プロバイダの停止

  5. [停止] をクリックし、リストが表示されたら、適切なコマンドを選択します。
  6. [アプリケーション停止アシスタント] ページが表示されたら、[はい] をクリックします。[Deployments] テーブルに、レポート プロバイダの状態が [準備完了] になったことが示されます。

 


JMS レポート プロバイダを割り当て解除する方法

デフォルトの JMS レポート プロバイダまたは任意のレポート プロバイダを使用しない場合は、割り当て解除する必要があります。

注意 : レポート プロバイダがなくても、レポート アクションを定義できます。ただし、データの書き込みは行われません。

JMS レポート プロバイダを割り当て解除する方法 (サーバが実行中の場合)

Oracle Service Bus ドメインでサーバの実行中にレポート プロバイダを割り当て解除するには、以下の手順に従います。

  1. WebLogic Server Administration Console を起動します。詳細については、WebLogic Server および WebLogic Express の紹介の「Administration Console の概要」にある「Administration Console の起動」を参照してください。
  2. WebLogic Server Administration Console にログインした後、[チェンジ センタ] で [ロックして編集] をクリックします。
  3. 左側のパネルの [ドメイン構造] で、[デプロイメント] をクリックします。[デプロイメントの概要] ページが表示されます。
  4. [Deployments] テーブルで、割り当て解除するレポート プロバイダをクリックします。レポート プロバイダの設定ページが表示されます。
  5. [対象] タブをクリックします。
  6. 適切なチェック ボックスのチェックをはずします。
  7. 図 5-6 レポート プロバイダの割り当て解除


    レポート プロバイダの割り当て解除

  8. [保存] をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。
  9. レポート プロバイダを割り当て解除した後で、レポート プロバイダで使用されているデータ ソースを次のように割り当て解除します。
  10. 注意 : この手順は、レポート プロバイダで独自のデータ ソースを使用している場合のみ必須です。Oracle Service Bus のインストールでデフォルトの JMS レポート プロバイダを割り当て解除するには、以下の手順を実行する必要があります。
    1. 左側のパネルの [ドメイン構造] で、[サービスArrow symbolJDBCArrow symbolデータ ソース] を選択します。
    2. [JDBC データ ソースの概要] ページで、割り当て解除するデータ ソースの名前をクリックします。データ ソースの設定ページが表示されます。
    3. [対象] タブをクリックします。
    4. 適切なチェック ボックスのチェックをはずします。
    5. [保存] をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。
    6. チェンジ センタの [変更のアクティブ化] をクリックしてこれらの変更をアクティブ化します。

JMS レポート プロバイダを割り当て解除する方法 (サーバが実行されていない場合)

サーバが Oracle Service Bus ドメインで実行されていない場合は、WebLogic Scripting Tool (WLST) を使用して、Oracle Service Bus ドメインから JMS レポート プロバイダを削除できます。WLST の詳細については、WebLogic Server ドキュメントの『WebLogic Scripting Tool ガイド』を参照してください。

レポート プロバイダを割り当て解除するには、以下の手順を実行します。

  1. WLST を使用するように環境をまだ設定していない場合は、『WebLogic Scripting Tool ガイド』の「WebLogic Scripting Tool の使用」にある WLST の使用の主な手順を参照してください。
  2. WLST Offline を起動します。
  3. C:>java com.bea.plateng.domain.script.jython.WLST_offline

  4. Configuration Wizard を使用して作成されたドメインを読み取るには、次のコマンドを実行します。
  5. wls:/offline>readDomain("C:/bea/user_projects/domains/base_domain")

  6. レポート プロバイダ データ ソースを割り当て解除するには、次のコマンドを実行します。
  7. wls:/offline/base_domain>unassign("JdbcSystemResource", "wlsbjmsrpDataSource", "Target", "AdminServer")

  8. レポート プロバイダ アプリケーションを割り当て解除するには、次のコマンドを実行します。
  9. wls:/offline/base_domain>unassign("AppDeployment", "JMS Reporting Provider", "Target", "AdminServer")

  10. ドメインを更新するには、次のコマンドを実行します。
  11. wls:/offline/base_domain>updateDomain()

  12. ドメインを閉じるには、次のコマンドを実行します。
  13. wls:/offline/base_domain>closeDomain()

  14. WLST のコマンド プロンプトを終了するには、次のコマンドを実行します。
  15. wls:/offline>exit()

Oracle Service Bus の JMS レポート プロバイダを割り当て解除すると、図 5-7 に示すように、Oracle Service Bus Console の [レポート] モジュールにレポート プロバイダがデプロイされていないことが示されます。

図 5-7 レポート プロバイダがデプロイされていない

レポート プロバイダがデプロイされていない

注意 : クラスタでは、JMS レポート プロバイダはクラスタに割り当てられます。したがって、クラスタでメッセージを表示およびパージするには、少なくとも 1 つの管理対象サーバを管理サーバとともに実行するようコンフィグレーションする必要があります。管理対象サーバが実行されていない場合は、図 5-7 に示したメッセージが Oracle Service Bus Console に表示されます。

 


Oracle Service Bus Console の [レポート] モジュールの使用

Oracle Service Bus Console の [レポート] モジュールには、JMS レポート プロバイダ データ ストアによって収集された情報が表示されます。[レポート] モジュールの最初のページには、抽出された情報と、メッセージがデータベースに書き込まれた時刻やメッセージに関連付けられているサービスなどのその他の情報を含む [メッセージの概要] テーブルが表示されます。データをフィルタおよびソートすることで、このページに表示される情報をカスタマイズできます。また、エラー情報など、特定のメッセージに関する詳細情報を表示することもできます。

[レポート] モジュールには、メッセージ データの管理に役立つパージ機能が用意されています。レポート データストアからすべてのメッセージをパージしたり、時間範囲に基づいてパージしたりできます。

JMS レポート プロバイダ データ ストアにはデータベースが必要です。WebLogic Server とともに、PointBase データベースの評価版がインストールされます。PointBase は開発環境には使用できますが、プロダクション環境には使用できません。Oracle Service Bus では、他のベンダのデータベースもサポートされています。JMS レポート プロバイダ データ ストアのホストに使用しているデータベースに対して、標準的なデータベース管理手続きを行ってください。詳細については、「JMS レポート プロバイダ ストア用データベースのコンフィグレーション方法」を参照してください。

[レポート] モジュールの詳細については、『Oracle Service Bus Console の使い方』の「レポート」を参照してください。

メッセージ レポートの概要の表示

[操作] ナビゲーション バーの [レポート] モジュールにある [メッセージ レポート] をクリックすると、[メッセージの概要] ページが表示されます。このページには、データベース タイムスタンプでソートされたレポート メッセージのリストを示すテーブルがあります。

図 5-8 メッセージの概要

メッセージの概要

メッセージがフィルタされていない場合、[メッセージの概要] テーブルには、データベース タイムスタンプに基づいて最大 100 個の最新メッセージが表示されます。メッセージをフィルタした場合は、最大 1000 個のメッセージが表示されます。

注意 : フィルタは自動的にリセットされません。フィルタは更新またはリセットするまで有効です。

表 5-1 は、[メッセージ レポートの概要] に表示される情報を示します。

表 5-1 メッセージ レポートの概要
カラム名
説明
レポート インデックス
メッセージ コンテキスト変数またはメッセージ ペイロードから抽出されたキーと値のペアが表示されます。詳細については、「JMS レポート プロバイダについて」を参照してください。
DB タイムスタンプ
メッセージがデータベースに書き込まれた時刻を表示します。
着信サービス
メッセージに関連付けられている着信サービスを表示します。サービスの名前をクリックすると、[プロキシ サービスの表示] ページに移動します。
エラー コード
このメッセージに関連付けられているエラー コードを表示します (存在する場合)。エラー コードの詳細については、『Oracle Service Bus Console の使い方』の「プロキシ サービス : エラー ハンドラ」にある「エラー メッセージと処理」を参照してください。

特定のメッセージを検索するには、[メッセージの概要] テーブルで [フィルタ] をクリックすることにより、メッセージの表示をフィルタします。利用可能なフィルタを図 5-9 に示します。

図 5-9 [メッセージの概要] での検索

[メッセージの概要] での検索

図 5-9 に示すように、指定した期間のレポート メッセージをサービス名、エラー コード、およびレポート インデックスでフィルタできます。メッセージをフィルタした後、ページのタイトルは [フィルタされたメッセージの概要] に変わります。[メッセージの概要] のフィルタの使用については、『Oracle Service Bus Console の使い方』の「レポート」にある「メッセージの表示と検索」を参照してください。

レポート メッセージに関する詳細情報を表示するには、[レポート インデックス] カラムでメッセージの名前をクリックします。メッセージの詳細表示ページが表示されます。

メッセージの詳細の表示

[メッセージの詳細を表示] ページには、図 5-10 に示すように、レポート メッセージに関する詳細情報が表示されます。

図 5-10 レポート メッセージの詳細ページ

レポート メッセージの詳細ページ

表 5-2 は、レポート メッセージの詳細ページに表示される情報を示します。

表 5-2 メッセージ情報
カテゴリ
メッセージ情報
説明
全般的なコンフィグレーション
   
 
メッセージ ID
このメッセージのユニークな ID。
 
データベース タイムスタンプ
メッセージがデータベースに書き込まれた時刻。
 
ロギングの時刻
メッセージがレポートされたときのサーバ マシン上の日付と時刻。
 
サーバ名
このメッセージが生成されたサーバの名前。
 
状態
このメッセージが生成されたパイプラインの状態。パイプラインは、次のいずれかの状態です。
  • REQUEST : レポート アクションが要求パイプラインで実行されたことを示します。
  • RESPONSE : レポート アクションが応答パイプラインで実行されたことを示します。
  • ERROR : アクションがサービスレベルのエラー ハンドラで実行されていました。
 
ノード名
このメッセージが生成されたパイプライン ノード。
 
パイプライン名
このメッセージが生成されたパイプライン。
 
ステージ名
このメッセージが生成されたステージ。
着信サービス
   
 
名前
このメッセージに関連付けられている着信プロキシ サービス。着信プロキシ サービスは、クライアント アプリケーションとメッセージを交換します。この名前は、プロキシ サービスの表示ページにリンクされています。このページの詳細については、『Oracle Service Bus Console の使い方』のプロキシ サービスにあるプロキシ サービスの表示と変更を参照してください。
 
URI
プロキシ サービスに関連付けられている URI。
 
操作
このメッセージに関連付けられている着信操作。操作とは、サービスに関連付けられているメッセージ フロー内のパイプラインまたはルート ノードによって実行されるタスクです。
[発信サービス]
   
 
名前
このメッセージに関連付けられている発信ビジネス サービス。発信ビジネス サービスは、Oracle Service Bus プロキシ サービスとメッセージを交換します。リンクをクリックすると、[ビジネス サービスの詳細の表示] ページに移動します。
このページの詳細については、『Oracle Service Bus Console の使い方』のビジネス サービスにあるビジネス サービスの表示と変更を参照してください。
 
URI
発信ビジネス サービスのエンド ポイントの URI。
 
操作
発信サービスで呼び出される操作の名前。操作とは、サービスに関連付けられているメッセージ フロー内のパイプラインまたはルート ノードによって実行されるタスクです。
レポート インデックス
   
 
レポート インデックス テキスト
レポート アクションによってメッセージ コンテキスト変数またはメッセージ ペイロードから抽出されたキーと値のペアが表示されます。詳細については、「JMS レポート プロバイダについて」を参照してください。
障害
   
 
エラー コード
エラーに関連付けられているコード (存在する場合)。詳細については、『Oracle Service Bus Console の使い方』の「プロキシ サービス : エラー ハンドラ」にある「エラー メッセージと処理」を参照してください。
 
理由
エラーに関連付けられているコード (存在する場合)。詳細については、『Oracle Service Bus Console の使い方』の「プロキシ サービス : エラー ハンドラ」にある「エラー メッセージと処理」を参照してください。
 
詳細
エラーに関連付けられているエラーの詳細。このような詳細情報 (存在する場合) は通常、特定のエラーが発生した場所のスタック トレースです。スタック トレースは、データベースのサイズ制限に合わせて切り捨てられる場合があります。上限は 2,048 文字です。
[レポート本文]
   
 
詳細
レポート本文を表示する新しいブラウザ ウィンドウを開きます。レポート アクションで XQuery 式を使用して、レポート本文のテキストを取り込むことができます。詳細については、『Oracle Service Bus Console の使い方』の「プロキシ サービス : アクション」にある「レポート」、およびプロキシ サービス : XQuery エディタにあるインライン XQuery 式エディタの使用を参照してください。

レポート データストアからメッセージをパージする方法

レポート データストアからすべてのメッセージをパージしたり、時間範囲に基づいてパージすることができます。メッセージのパージは、Oracle Service Bus Console で行われる非同期プロセスです。この機能により、パージをバックグラウンドで行いながら、Oracle Service Bus Console の [メッセージの概要] ページを使用できます。

図 5-11 [メッセージのパージ] ページ

[メッセージのパージ] ページ

パージの完了に要する時間は、パージ キューにあるメッセージの数によって異なります。パージ プロセス中にレポート メッセージを検索すると、メッセージの削除の速度が低下します。また、一部のデータのパージがまだ完了していない場合、[メッセージの概要] ページに不正なデータが表示されることがあります。

パージ プロセスは非同期であり、バックグラウンドで行われるため、Oracle Service Bus Console には、パージを実行中であることを示すメッセージは表示されません。ただし、パージの実行中に別のユーザがパージを開始しようとすると、次のメッセージが表示されます。

          「すでにパージ作業を実行中です。後で実行してください

JMS レポート プロバイダ ストア用データベースのコンフィグレーション方法

Oracle Service Bus では、JMS レポート プロバイダ データ ストア用のデータベースが必要です。WebLogic Server とともにインストールされる PointBase データベースは評価を目的としており、プロダクション環境用ではありません。

プロダクション環境では、サポートされているデータベースの 1 つを使用する必要があります。サポートされているデータベースに関する最新情報については、Oracle Service Bus でサポート対象のコンフィグレーションにあるサポート対象のデータベースとドライバを参照してください。

開発環境におけるデータベースのコンフィグレーション方法

Oracle Service Bus ドメインを作成する場合、Configuration Wizard ではデータベース テーブルが自動的に作成されません。開発環境では、デフォルトの JMS レポート プロバイダは、指定されたデータベースのテーブルが存在するかどうかを実行時にチェックします。テーブルが存在しない場合、レポート プロバイダによってテーブルが作成されます。テーブルが存在する場合は、そのテーブルが使用されます。

注意 : PointBase を使用する場合は、Configuration Wizard でデータベースを指定する必要はありません。

JMS レポート プロバイダで使用するデータベースは、次のいずれかの方法で指定できます。

プロダクション用のデータベースのコンフィグレーション方法

プロダクション用のデータベースのコンフィグレーションの詳細については、Oracle Service Bus のデプロイメント ガイドの以下の章を参照してください。


  ページの先頭       前  次