ヘッダーをスキップ
Oracle® Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1 (11.1.1.7)
B61381-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

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

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

この章には次のトピックが含まれます:

25.1 Oracle BAMでのOracle B2Bの監視の概要

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


注意:

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


25.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のドライバ(Thin)を選択します。

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

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

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

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

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

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

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

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

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

25.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)。通常は、データ・ソースがOracle B2B SOAINFRAスキーマを指すようにする必要があります。

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

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

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

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

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

    4. Oracle BAMエンタープライズ・メッセージ・ソースがこの接続ファクトリを検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueueCF)。JNDI名は、作成されるJMSキューの名前と一致しているかぎり、任意に指定できます。

    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を再起動します。

25.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. 「フィールドの追加」を繰り返しクリックし、表25-2にリストされているすべてのフィールドを追加します。

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

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

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

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

    http://host_name:port_number/OracleBAM 
    

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

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

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

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

    表25-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のフィールドのリストは、表25-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エンタープライズ・メッセージ・ソースの作成を参照してください。

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

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

次のリストにはペイロード(APP_PAYLOADPAYLOADWIREPAYLOAD)は含まれないことに注意してください。ペイロードはパフォーマンス上の理由で転送されません。

表25-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)


25.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. 4分割の左上部分で、「棒グラフ」を選択します(2回クリックする必要がある場合があります)。

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

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

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

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

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

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

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

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

  11. 同様に、Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイドの指示に従って、ダッシュボードにおける4分割の他の部分の表示情報を作成します。

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

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

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

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

  15. b2b_instancemessageビューで新規インスタンスが作成されるとダッシュボードの表示は自動的にリフレッシュされ、B2BDOデータ・オブジェクトにデータが挿入されます。変更はただちに反映されます。

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

25.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分などの1分未満の値も指定できます。

b2b_bam_enable.gifの説明が続きます
図b2b_bam_enable.gifの説明