ナビゲーションをスキップ

ユーザーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

レポート

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

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

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

 


レポートのシナリオ

以下のシナリオでは、AquaLogic Service Bus を使用してメッセージをトラッキングする方法を説明します。

メッセージ トラッキング

アラートのモニタ」のシナリオでは、アラート数が顕著に増加した場合について説明しました。そのシナリオでは、アラートをフィルタし、サービス レベル アグリーメント (SLA) 違反の原因が取引後処理プロキシ サービスで生成されたエラーであることを発見しました。レポートを使用すると、エラーの原因をより簡単に検出できます。

そのシナリオの続きとして、AquaLogic Service Bus Console に進みます。ここでは、メッセージをフィルタして取引後処理プロキシ サービスを表示します。一部のメッセージを詳細表示すると、パイプライン エラーの原因がメッセージ変換エラーであり、その変形されたメッセージはプロキシ サービスに関連付けられているポータルから送信されていることがわかります。問題を解決するには、開発者が、そのポータル サイトから発生するすべてのメッセージのパイプラインに新しいトランスフォーメーションを追加します。

特定のメッセージの検索

顧客サービス部門から運用部門に、取引 1234 を送信した顧客が取引確認を受信しなかったという苦情について連絡が来ます。AquaLogic Service Bus Console にアクセスし、取引番号を検索します。要求パイプラインで 2 つのメッセージが処理されているが、応答メッセージがなかったことがわかります。顧客サービス部門に、顧客に連絡して、取引が正常に処理されたことを保証するよう依頼します。

規定の監査のロギング

月末に、融資処理チームは、処理した融資に関する情報をコンプライアンス部門に提供する必要があります。この要件を満たすために、アプリケーション開発チームは、関連メッセージ情報を取り込むよう該当するプロキシ サービス パイプラインを更新します。具体的には、顧客 ID と名前、融資 ID、融資額、不動産の住所、および融資の申し込み日に関するデータがメッセージから抽出されます。

アラート レポート プロバイダ

アラート用のレポート プロバイダをコンフィグレーションすることにより、AquaLogic Service Bus Console の外部でアラート通知を受信し、ビジネスのニーズに従ってアラートを処理できます。たとえば、アラートにレポート ストリームを利用するアラート レポート プロバイダを開発し、HP OpenView や Tivoli などのカスタム コンソールにアラートを表示できます。

 


レポート フレームワーク

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

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

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

次の図はレポート フレームワークを示しています。

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

レポート フレームワーク


 

この図に示されているように、レポート メッセージとアラートの両方がレポート データ ストリームにエクスポートされます。レポート ステージでは、レポート アクションによって情報が各メッセージから抽出され、MessageReporting.xsd に準拠するメタデータとともにレポート データ ストリームに書き込まれます。同様に、SLA マネージャは、レポート データ マネージャ API を使用して、AlertReporting.xsd に準拠するメタデータとともにアラート レポート ストリームに書き込みます。アラートのレポート プロバイダまたは独自のメッセージ レポート プロバイダを開発する場合は、ReportingDataHandler という 1 つのインタフェースを実装し、ReportingDataManager という 1 つのクラスを使用する必要があります。

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

ReportingDataManager は、レポート プロバイダの登録リストを保持するサーバローカルのシングルトン オブジェクトです。レポート プロバイダは、ReportingDataHandler インタフェースを実装します。ReportingDataManager にはレポート データ ハンドラを追加および削除する操作が用意されており、各種 handle 操作を使用してレポート データ ストリームがエクスポートされます。

 


JMS レポート プロバイダ

用意されている JMS レポート プロバイダは、レポート アクションを介して各メッセージからレポート情報を取り込むプラグイン可能なアーキテクチャを提供します。クラスタ内のすべてのメッセージは集約され、データベース固有の形式で JMS レポート プロバイダ データ ストアに格納されます。用意されている JMS レポート プロバイダを使用する場合、AquaLogic Service Bus Console の [レポート] モジュールには、JMS レポート プロバイダ データ ストアからの情報が表示されます。

注意 : JMS レポート プロバイダは、AquaLogic Service Bus ドメインの作成時に自動的にコンフィグレーションされます。このレポート プロバイダを使用しない場合は、割り当て解除する必要があります。詳細については、「レポート プロバイダの削除、停止、割り当て解除」を参照してください。

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

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

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

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

JMS レポート プロバイダ


 

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

 


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

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

アラート レポートのレポート アクションをコンフィグレーションする必要はありません。アラート データは常にレポート データ ストリームで使用可能です。

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

任意の 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) と指定できます。

図 6-3 キー名とキー値

キー名とキー値


 

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

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

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


 

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

 


[レポート] モジュールの使用

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

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

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

[レポート] モジュールの使用方法に関するすべての情報は、『AquaLogic Service Bus Console の使い方』に記載されています。

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

メッセージの概要

ナビゲーション パネルで [レポート] をクリックすると、[メッセージの概要] ページが表示されます。このページには、レポート メッセージのリストを表示するテーブルがあり、メッセージはデータベースに書き込まれた時刻でソートされます。

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

メッセージの概要


 

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

注意 : メッセージをフィルタした後、フィルタは更新するまで有効になります。

上の図に示されているテーブルには、次の情報が示されています。

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

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

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


 

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

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

メッセージの詳細の表示

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

図 6-7 レポート メッセージの詳細ページ

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


 

このページには以下の情報が表示されます。

メッセージのパージ

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

図 6-8 [メッセージのパージ] ページ

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


 

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

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

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

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

AquaLogic Service Bus では、JMS レポート プロバイダ データ ストア用のデータベースが必要です。WebLogic Server とともにインストールされる PointBase データベースは評価を目的としており、プロダクション環境用ではありません。評価以外の開発または他の目的で PointBase サーバを使用する場合は、直接 DataMirror から個別の PointBase ライセンスを入手する必要があります。

プロダクション環境では、サポートされているデータベースの 1 つを使用する必要があります。サポートされているデータベースに関する最新情報については、WebLogic Platform でサポート対象のコンフィグレーションの『AquaLogic Service Bus 2.1 でサポート対象のコンフィグレーション』で「Supported Databases and Drivers」を参照してください。

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

開発環境でデータベースをコンフィグレーションする

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

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

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

プロダクション用のデータベースをコンフィグレーションする

プロダクション用のデータベースのコンフィグレーションに関する詳細情報は、BEA AquaLogic Service Bus の『デプロイメント ガイド』の以下の章に記載されています。

 


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

すでに説明したように、用意されている JMS レポート プロバイダは、AquaLogic Service Bus ドメインの作成時に自動的にコンフィグレーションされます。このレポート プロバイダまたは任意のレポート プロバイダを使用しない場合は、割り当て解除する必要があります。

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

以下の節では、任意のレポート プロバイダの停止または割り当て解除の方法を説明します。

レポート プロバイダの停止 (サーバが実行中の場合)

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

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

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


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

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

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

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

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


     
  8. [保存] をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。
  9. レポート プロバイダを割り当て解除した後で、レポート プロバイダで使用されているデータ ソースを次のように割り当て解除します。
  10. 注意 : この手順は、レポート プロバイダで独自のデータ ソースを使用している場合のみ必須です。用意されている JMS レポート プロバイダを割り当て解除する場合は、この手順を実行する必要があります。

    1. 左側のパネルの [ドメイン構造] で、[サービスJDBCデータ ソース] を選択します。
    2. [JDBC データ ソースの概要] ページで、割り当て解除するデータ ソースの名前をクリックします。データ ソースの設定ページが表示されます。
    3. [対象] タブをクリックします。
    4. 適切なチェック ボックスのチェックを解除します。
    5. [保存] をクリックします。設定が正常に更新されたことを示すメッセージが表示されます。
    6. チェンジ センタの [変更のアクティブ化] をクリックしてこれらの変更をアクティブ化します。

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

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

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

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

  5. Configuration Wizard を使用して作成されたドメインを読み取ります。例を示します。
  6. wls:/offline>readDomain("C:/bea/user_projects/domains/base_domain")

  7. レポート プロバイダ データ ソースを割り当て解除します。例を示します。
  8. wls:/offline/base_domain>unassign("JdbcSystemResource","wlsbjmsrpDataSource","Target","AdminServer")

  9. レポート プロバイダ アプリケーションを割り当て解除します。例を示します。
  10. wls:/offline/base_domain>unassign("AppDeployment", "JMS Reporting Provider", "Target", "AdminServer")

  11. ドメインを更新します。
  12. wls:/offline/base_domain>updateDomain()

  13. ドメインを閉じます。
  14. wls:/offline/base_domain>closeDomain()

  15. WLST コマンド プロンプトを終了します。
  16. wls:/offline>exit()

用意されているレポート プロバイダが割り当て解除された後、AquaLogic Service Bus Console の [レポート] モジュールは、次の図のようにレポート プロバイダがデプロイされていないことを示します。

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

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


 

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

 

ナビゲーション バーのスキップ  ページの先頭 前 次