ヘッダーをスキップ
Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1(11.1.1.4.0)
B61381-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

23 Oracle BAMでのインスタンス・メッセージ・データの監視

この章では、Oracle BAMを使用してOracle B2Bインスタンス・メッセージの監視を設定する方法を詳細に説明します。

Oracle B2B-BAM統合はOracle XEデータベースでは動作しません。Oracle 10g EEおよびOracle 11g EEのバージョンでは動作します。

項目は次のとおりです。

23.1 Oracle BAMでのOracle B2の監視の概要

Oracle BAMでは、データの流入をリアルタイムに表示するダッシュボード、および指定した条件でアラートを送信するためのルールを作成するためのフレームワークが提供されています。この章の手順に従うことで、Oracle B2Bインスタンスを監視するようにOracle BAMを構成できます。


注意:

インスタンス・メッセージ・テーブルで定義されている外部データ・ソースでOracle BAMダッシュボードを作成することもできますが、外部データ・ソースではアクティブ・データがサポートされていないため、結果のレポートではリアルタイムの更新が表示されません。

23.2 Oracle WebLogic Serverでのデータ・ソースの作成

既存のデータ・ソースがある場合はそれを使用できます。または、次の手順に従って新しいデータ・ソースを作成することもできます。

  1. Oracle WebLogic Server管理コンソールを開いてログインします。

    http://host_name:port_number/console
    

    host_nameはOracle BAMがインストールされているマシンの名前で、Oracle WebLogic Serverのデフォルトのport_numberは7001です。

  2. 「JDBC」セクションで「データ・ソース」を選択し、「新規」をクリックします。

  3. データ・ソースを構成します。

    1. データ・ソースの「名前」を入力します(例: BAMAQDataSource)。

    2. データ・ソースのJNDI名を入力します(例: jdbc/oracle/bamaq)。この名前は、外部JMSサーバーの構成に使用されます。

    3. 「データベースのタイプ」「Oracle」を選択します。

    4. 「データベース・ドライバ」Oracleのドライバ(シン)を選択します。

    5. 「次へ」をクリックします。

  4. グローバル・トランザクションをサポートするの選択を解除し、「次へ」をクリックします。

  5. 「データベース名」フィールドにデータベースのSIDを入力します(例: ORCL)。

  6. 「ホスト名」としてデータベースがインストールされているマシンのホスト名を入力します(例: localhost)。

  7. データベースの「ポート」番号を入力します(例: 1521)。

  8. 「ユーザー名」「パスワード」を入力し、「次へ」をクリックします。

  9. 「構成のテスト」をクリックします。

  10. テストが成功したら、「次へ」をクリックします。

  11. Oracle BAMがデプロイされているサーバーを選択し、「終了」をクリックします。

23.3 外部JMSサーバーの作成

外部JMSサーバーを作成する手順は、次のとおりです。

  1. Oracle WebLogic Server JMSモジュールを追加します。

    1. Oracle WebLogic Server管理コンソールのホーム・ページで、「JMSモジュール」ページに移動します。

    2. 「新規」をクリックして、新しいOracle WebLogic Server JMSモジュールを作成します。

    3. JMSモジュールの名前(例: BAMAQsystemModule)を入力し、「次へ」をクリックします。

    4. Oracle BAMがデプロイされているサーバーとしてターゲットを割り当て、「次へ」をクリックし、「終了」をクリックします。


      注意:

      サブデプロイメントを作成することをお薦めします。「JMSモジュール」→「サブデプロイメント」→「新規」を選択します。以降の手順で「サブデプロイメント」タブがある場合はサブデプロイメントを使用します。

  2. リストから選択して、サブデプロイメントをJMSサーバーに対するターゲットします。

  3. AQ JMS外部サーバーをJMSモジュールに追加します。

    1. 作成したJMSモジュールを選択します。

    2. 「新規」をクリックし、JMSリソースのリストに進みます。

    3. 「外部サーバー」オプションを選択し、「次へ」をクリックします。

    4. 外部サーバーの「名前を入力し(例: BAMAQForeignServer)、「終了」をクリックします。

  4. AQ JMS外部サーバーを構成します。

    1. 作成したAQ JMS外部サーバーを選択します。

    2. 「JNDI初期コンテキスト・ファクトリ」フィールドに「oracle.jms.AQjmsInitialContextFactory」と入力します。

    3. 「JNDIプロパティ」フィールドに「datasource=data_source_jndi_location」と入力します。data_source_jndi_locationは、データ・ソースのJNDIの場所です(例: jdbc/oracle/bamaq)。

    4. 「デフォルトのターゲット指定を有効化」チェック・ボックスを選択します。

  5. 接続ファクトリをAQ JMS外部サーバーに追加します。

    1. 作成したAQ JMS外部サーバーを選択します。

    2. 「接続ファクトリ」タブを選択します。

    3. 接続ファクトリの名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。

    4. Oracle BAMエンタープライズ・メッセージ・ソースがこの接続ファクトリを検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueueCF)。

    5. 「リモートJNDI名」フィールドに「QueueConnectionFactory」と入力します。


      注意:

      次に示すのは使用可能な代替オプションです。この接続ファクトリをグローバル・トランザクションで使用する場合は、XAベースの接続ファクトリを選択します。それ以外の場合は、XAベースではない接続ファクトリを選択します。
      • QueueConnectionFactory

      • ConnectionFactory

      • XAQueueConnectionFactory

      • XATopicConnectionFactory

      • XAConnectionFactory


    6. 「OK」をクリックします。

  6. 宛先をAQ JMS外部サーバーに追加します。

    1. 作成したAQ JMS外部サーバーを選択します。

    2. 「宛先」タブを選択します。

    3. 宛先の名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。宛先名とは関係ありません。

    4. Oracle BAMエンタープライズ・メッセージ・ソースが宛先を検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueue)。

    5. 「リモートJNDI名」フィールドには、宛先がキューの場合は「Queues/queue_name」と入力し、宛先がトピックの場合は「Topics/topic_name」と入力します。

      たとえば、Oracle B2B - Oracle BAM統合に対して作成されるAQキューのデフォルトの名前はQueues/B2B_BAM_QUEUEです。

    6. 「OK」をクリックします。

  7. Oracle WebLogic Serverを再起動します。

23.4 Oracle BAMアーキテクトを使用したB2Bデータ・オブジェクトの作成

B2B データ・オブジェクトを作成する手順は、次のとおりです。

  1. 次のURLでOracle BAMにログインします。

    http://host_name:port_number/OracleBAM 
    

    デフォルトのポート番号は9001です。

  2. 「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。

  3. ドロップダウン・リストで「データ・オブジェクト」を選択します。

  4. 「サンプル」フォルダを選択し、B2Bという名前のサブフォルダを作成します。

  5. 「データ・オブジェクトの作成」リンクをクリックします。

  6. 「名前」フィールドに「B2BDO」と入力します。

  7. 「フィールドの追加」をクリックします。

  8. 「データ・オブジェクト内のフィールド」に値を入力します。

  9. 「フィールドの追加」を繰り返しクリックし、表23-2に示されているすべてのフィールドを追加します。

Oracle BAM データ・オブジェクトの作成の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のOracle BAMデータ・オブジェクトの定義と管理に関する項を参照してください。

23.5 Oracle BAMエンタープライズ・メッセージ・ソースを使用したJMSメッセージ・ソースの定義

JMSメッセージ・ソースを定義する手順は、次のとおりです。

  1. 次のURLでOracle BAMにログインします。

    http://host_name:port_number/OracleBAM 
    

    デフォルトのポート番号は9001です。

  2. 「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。

  3. ドロップダウン・リストで「エンタープライズ・メッセージ・ソース」を選択します。

  4. 「作成」をクリックし、表23-1で示されているようにAQ JMSキューのエンタープライズ・メッセージ・ソース情報を入力します。表で示されていないフィールドはデフォルトまたは空白のままにします。

    表23-1 AQ JMSキューのエンタープライズ・メッセージ・ソース・プロパティ

    プロパティ 値と例

    名前

    エンタープライズ・メッセージ・ソースの表示名を入力します(例: B2B_EMS)。

    初期コンテキスト・ファクトリ

    「weblogic.jndi.WLInitialContextFactory」と入力します

    JNDIサービス・プロバイダURL

    「t3://localhost:9001」と入力します

    注意: Oracle BAMが管理サーバーにインストールされている場合は、ポート9001を使用します。Oracle BAMが管理対象サーバーにインストールされている場合は、デフォルトのポート7001、またはシステム管理者が構成したポート番号を使用します。

    トピック/キュー・コネクション・ファクトリ名

    コネクション・ファクトリの名前を入力します(例: jms/BAMAQQueueCF)。

    トピック/キュー名

    JJMSトピック(またはキュー)の名前を入力します(例: jms/BAMAQQueue)。

    データ・オブジェクト名

    AQ JMSサーバーから受信した値を送信するB2Bデータ・オブジェクトを選択します。

    操作

    使用方法に応じて、「挿入」操作または「アップサート」操作を選択します。


  5. 「ソース値フォーマット」を構成するには、「日時仕様」チェック・ボックスを選択し、ドロップダウン・リストで「MM/dd/yy H:mm:ss」形式を選択します。


    注意:

    受信XML値の日時の形式がMM/dd/yy HH24:MI:SSである場合は、データ・オブジェクトに正しく格納できるように、エンタープライズ・メッセージ・ソースで想定されているMM/dd/yy H:mm:ssという形式に変換する必要があります。

  6. 受信XMLのデータがB2Bデータ・オブジェクトの適切なフィールドにマップされるよう、「ソースからデータ・オブジェクト・フィールドへのマッピング」を設定します。B2Bインスタンス・テーブルから取得される受信XMLのフィールドのリストについては、表23-2を参照してください。

  7. 「保存」をクリックします。

  8. B2B_EMSエンタープライズ・メッセージ・ソースを選択し、「開始」をクリックします。数秒でステータスが「起動済」に変わります。

エンタープライズ・メッセージ・ソースを開始した後は、データベース・ジョブによってAQ JMSキューに挿入されたメッセージは、B2BDOデータ・オブジェクトですぐに使用できるようになります。

B2BDOデータ・オブジェクトの内容を見るには、Oracle BAMアーキテクトのドロップダウン・メニューから「データ・オブジェクト」を選択します。B2BDOオブジェクトを参照して選択します。内容を表示するには「コンテンツ」をクリックします。

データベース・ジョブがB2Bインスタンス・テーブルから受信メッセージを読み取り、それをAQ JMSキューに挿入すると、B2BDOに新しい行が挿入されます。

Oracle BAMエンタープライズ・メッセージ・ソースの作成の詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のOracle BAMエンタープライズ・メッセージ・ソースの作成に関する項を参照してください。

23.6 Oracle B2Bインスタンス・メッセージからOracle BAMデータ・オブジェクトへのマッピング

表23-2に、Oracle B2Bインスタンス・メッセージのフィールドを示します。これらのフィールドを使用すると、Oracle BAMでデータ・オブジェクトとエンタープライズ・メッセージ・ソースを設計して、Oracle B2Bのパフォーマンスをリアルタイムで監視できます。

次の一覧にはペイロード(APP_PAYLOADPAYLOADWIREPAYLOAD)は含まれないことに注意してください。パフォーマンスのためペイロードは転送されません。

表23-2 Oracle B2Bインスタンス・メッセージのフィールド

フィールド

ID

NOT NULL VARCHAR2(256)

REFERTOID

VARCHAR2(256)

B2BMESSAGEID

NOT NULL VARCHAR2(256)

ACKNOWLEDGEMODE

VARCHAR2(256)

MESSAGEDATETIME

DATE

MESSAGETYPE

VARCHAR2(256)

STATE

VARCHAR2(256)

REMAININGRETRY

NUMBER(10)

DIRECTION

VARCHAR2(256)

TIMETOACK

VARCHAR2(256)

TPA_NAME

VARCHAR2(256)

XPATH_EXPRESSION1

VARCHAR2(1024)

XPATH_EXPRESSION2

VARCHAR2(1024)

XPATH_EXPRESSION3

VARCHAR2(1024)

XPATH_NAME1

VARCHAR2(256)

XPATH_NAME2

VARCHAR2(256)

XPATH_NAME3

VARCHAR2(256)

XPATH_VALUE1

VARCHAR2(256)

XPATH_VALUE2

VARCHAR2(256)

XPATH_VALUE3

VARCHAR2(256)

DOCUMENT_DEFINITION

VARCHAR2(256)

CREATED

DATE

MODIFIED

DATE

SEND_TIMESTAMP

DATE

RECEIVE_TIMESTAMP

DATE

NATIVE_MSG_SIZE

NUMBER(10)

TRANSLATED_MSG_SIZE

NUMBER(10)

BM_RESUBMIT_COUNT

NUMBER(10)

ERRORCODE

VARCHAR2(256)

ERRORTEXT

VARCHAR2(1024)

ERRORDESCRIPTION

VARCHAR2(2000)

PROCESSING_TIME

NUMBER(10)

DOCUMENTTYPE

VARCHAR2(513)

CORRELATIONID

VARCHAR2(256)

FABRIC_ECID

VARCHAR2(512)

FABRIC_COMPOSITE_NAME

VARCHAR2(512)

AM_RESUBMIT_COUNT

NUMBER(10)

TRANSACTIONCONTROLNUMBER

VARCHAR2(256)

GROUPCONTROLNUMBER

VARCHAR2(256)

INTERCHANGECONTROLNUMBER

VARCHAR2(256)

PROTOCOLWORKAREA

CLOB

B2BWIREMESSAGEID

VARCHAR2(256)

B2BTIMESTAMP

DATE

CONVERSATIONID

VARCHAR2(1024)

PROTOCOLMESSAGEID

VARCHAR2(1024)

URL

VARCHAR2(1024)

TRANSPORTPROTOCOL

VARCHAR2(513)

TRANSPORTHEADERS

VARCHAR2(2000)

WM_RESUBMIT_COUNT

NUMBER(10)

DOCUMENTPROTOCOL

VARCHAR2(513)

EXCHANGEPROTOCOL

VARCHAR2(513)

AGREEMENTID

VARCHAR2(256)

SENDERNAME

VARCHAR2(256)

SENDERID

VARCHAR2(513)

RECEIVERNAME

VARCHAR2(256)

RECEIVERID

VARCHAR2(513)


23.7 Oracle B2Bを監視するためのダッシュボードの作成

リアルタイム監視ダッシュボードは、Oracle BAMアクティブ・スタジオを使用して作成します。B2BDOデータ・オブジェクトを使用してOracle B2Bを監視するには、ダッシュボードを作成します。

簡単なレポートを作成する手順は、次のとおりです。

  1. 次のURLでOracle BAMにログインします。

    http://host_name:port_number/OracleBAM 
    

    デフォルトのポート番号は9001です。

  2. 「アクティブ・スタジオ」を選択して、Oracle BAMアクティブ・スタジオ・アプリケーションを開きます。

  3. 「新規レポートの作成」をクリックします。

  4. 4分割の場合は「タイル表示レポート」を選択します。

  5. 左上の領域で、「棒グラフ」を選択します(2回クリックする必要がある場合があります)。

    サンプルの棒グラフが表示されて、「Oracle BAMアクティブ・スタジオ」ウィンドウの下部にビュー・エディタが開きます。

  6. ビュー・エディタの「データ・オブジェクト」の選択で、「B2BDO」を選択して「次へ」をクリックします。

  7. 「グループ化」リストで、「State」を選択します。

  8. 「グラフの値」リストで「b2bMessageId」を選択し、「次へ」をクリックします。

  9. 「ビュー・プロパティの変更」をクリックして、次の情報を入力します。

    「ビュー・タイトル」フィールドには、「B2B State」と入力します。

    「凡例の表示」チェック・ボックスを選択します。

  10. 「OK」をクリックします。

  11. 同様に、『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』の説明に従って、ダッシュボードの他の領域の表示情報を作成します。

    たとえば、他の3つの領域では、メッセージのdocumentProtocolexchangeProtocolまたはdirectionでグループ化できます。

  12. 各領域の表示の構成が終了したら、ダッシュボードを保存します。

  13. Oracle BAMのメイン・ページに移動し、「アクティブ・ビューア」を選択します。

  14. 作成したダッシュボードを選択して、Oracle BAMアクティブ・ビューアで表示します。

  15. b2b_instancemessageビューで新しいインスタンスが作成されるとダッシュボードの表示が自動的に更新され、データがB2BDOデータ・オブジェクトに格納されます。変更は即座に反映されます。

Oracle BAMダッシュボードの作成の詳細は、『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』を参照してください。

23.8 Oracle B2BでのOracle BAM統合の有効化

Oracle B2BでOracle BAMの統合を有効にするには、Oracle B2Bの「管理」→「構成」タブで次のプロパティを設定します。

「BAMの有効化」 - trueに設定します。b2b.enableBAMをtrueに設定すると、Oracle B2Bのユーザー・インタフェースはデータベースでデータベース・ジョブを自動的に開始し、b2b_instancemessageビューで新しいインスタンスを監視します。b2b.enableBAMfalseに設定すると、ユーザー・インタフェースはデータベース・ジョブをデータベースから自動的に削除します。

「BAMポーリング間隔」 – データベース・ジョブがOracle B2Bインスタンス・テーブルで更新をポーリングし、Oracle BAMによる取得のためにAQ JMSキューに格納する間隔(分単位)です。0.5分のように分未満の値も指定できます。

b2b_bam_enable.gifの説明は次にあります。
図b2b_bam_enable.gifの説明