プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle B2Bユーザーズ・ガイド
12c (12.2.1.2.0)
E82782-02
目次へ移動
目次
索引へ移動
索引

前
前へ
次
次へ

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

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

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

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

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

Oracle BAMでは、データのインフローをリアルタイムに表示するダッシュボード、および指定した条件でアラートを送信するルールを作成するためのフレームワークが提供されます。

この章の以降の項の手順に従って、Oracle B2Bインスタンスを監視するようにOracle BAMを構成できます。

注意:

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

27.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がデプロイされているサーバーを選択し、「終了」をクリックします。

27.3 外部JMSサーバーの作成

外部JMSサーバーを作成して、BAMサーバーとの間で送受信するメッセージを監視します。

外部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 Propertiesフィールドに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 BAMエンタープライズ・メッセージ・ソースのアウトバウンド接続JNDIを作成します。

    1. 管理コンソールの左ペインで、「デプロイメント」をクリックします。

    2. 「デプロイメントのサマリー」ページで、「BamServer」「BeamAdapter.rar」を開きます。「BeamAdapter.rar」をクリックします。

    3. 「BeamAdapterの設定」ページで、「構成」→「アウトバウンド接続プール」をクリックし、「新規」をクリックします。

    4. 「oracle.tip.adapter.jms.IJmsConnectionFactory」を選択し、「次へ」をクリックします。

    5. 「JNDI名」フィールドに、Oracle BAMエンタープライズ・メッセージ・ソースが使用する名前を入力します。たとえば、eis/bam/b2bconnectionです

      メッセージ要素名は必ず“<row>"である必要があり、サブ要素または属性に列値を含む親要素を入力します。

      「ソース値の書式設定」を構成するには、「日時仕様」チェック・ボックスを選択し、チェック・ボックスの下の指定されたHyper Linkをクリックします。

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

    7. 「デプロイメント・プラン保存アシスタント」ページで、「OK」をクリックします。

  8. Oracle BAMエンタープライズ・メッセージ・ソースにJNDI名を追加します。

    1. 「BeamAdapterの設定」ページで、「構成」→「アウトバウンド接続プール」をクリックします。

    2. oracle.tip.adapter.jms.IJmsConnectionFactoryを開き、ステップ7で作成したJNDI名を選択します。

    3. 「アウトバウンド接続のプロパティ」表で、FactoryPropertiesというプロパティ名を検索し、「プロパティ値」列に"java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://<host>:<port>;java.naming.security.principal=<user>;java.naming.security.credentials=<pwd>;"を追加して、「保存」をクリックします。

  9. Oracle WebLogic ServerおよびBAM管理対象サーバーを再起動します。

27.4 Oracle BAMコンポーザを使用したB2Bデータ・オブジェクトの作成

BAMコンポーザは、B2Bデータ・オブジェクトを作成するように構成された状態で作成できます。

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

  1. 次のURLでOracle BAMにログインします。
    http://host_name:port_number/bam/composer 
    
  2. 「アドミニストレータ」タブをクリックして、データ・オブジェクトとエンタープライズ・メッセージ・ソースを管理します。
  3. BAMコンポーザ管理者ページの左ペインで、「データ・オブジェクト」をクリックし、+ボタンをクリックして、新しいデータ・オブジェクトを追加します。
  4. 「名前」フィールドに名前を入力します。たとえば、B2BDOです。

    同様に、「データ・オブジェクト」ダイアログ・ボックスにリストされるすべてのフィールドに詳細を追加し、「作成」をクリックします。データ・オブジェクトのフィールドは、次のとおりです。

    表27-1 データ・オブジェクト

    プロパティ 値と例

    名前

    データ・オブジェクトの名前を入力します。

    タイプ

    「単純なデータ・オブジェクト」を選択します。

    連続した問合せタイプ

    「リレーション」を選択します

  5. データ・オブジェクトの「列」タブをクリックし、表27-3にリストされているすべてのフィールドを追加します。

Oracle BAMデータ・オブジェクトの作成の詳細は、『Oracle Fusion Middleware Oracle BAMでのビジネス・アクティビティのモニタリング』の「Oracle BAMデータ・オブジェクトの作成と管理」を参照してください。

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

Oracle BAMエンタープライズ・メッセージのソースを使用して、Oracle B2BでJMSメッセージ・ソースを定義できます。

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

  1. 次のURLでOracle BAMにログインします。
    http://host_name:port_number/OracleBAM 
    
  2. BAMコンポーザ管理者ページの左ペインで、「エンタープライズ・メッセージ・ソース」をクリックし、+ボタンをクリックして、新しいエンタープライズ・メッセージ・ソースを追加します。
  3. 「エンタープライズ・メッセージ・ソース」ダイアログ・ボックスの「名前」に名前を入力します。
  4. 「作成」をクリックし、表27-2に示されているAQ JMSキューのエンタープライズ・メッセージ・ソース情報を入力します。示されていないフィールドはデフォルトまたは空白のエントリのままにします。

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

    プロパティ 値と例

    名前

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

    表示名

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

    アウトバウンド接続JNDI

    「外部JMSサーバーの作成」のステップ7で作成したアウトバウンド接続JNDIを選択します。

    トピック/キュー名

    JMSトピック(またはキュー)の名前を入力します(例: 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のフィールドのリストは、表27-3を参照してください。
  7. 「保存」をクリックします。
  8. B2B_EMSエンタープライズ・メッセージ・ソースを選択し、「開始」をクリックします。数秒でステータスが「起動済」に変わります。

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

B2BDOデータ・オブジェクトのコンテンツを表示するには、BAMコンポーザ管理者ページからデータ・オブジェクトを開き、B2BDOオブジェクトを選択します。「データ」タブをクリックし、コンテンツを表示します。

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

Oracle BAMエンタープライズ・メッセージ・ソースの作成の詳細は、『Oracle Fusion Middleware Oracle BAMでのビジネス・アクティビティのモニタリング』の「Oracle BAMエンタープライズ・メッセージ・ソースの作成」を参照してください。

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

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

表27-3に、Oracle B2Bインスタンス・メッセージのフィールドをリストします。

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

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

フィールド タイプ

ID

NOT NULL VARCHAR2(256)

REFERTOID

VARCHAR2(256)

B2BMESSAGEID

NOT NULL VARCHAR2(256)

ACKNOWLEDGEMODE

VARCHAR2(256)

MESSAGEDATETIME

DATETIME

MESSAGETYPE

VARCHAR2(256)

STATE

VARCHAR2(256)

REMAININGRETRY

INT

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

DATETIME

MODIFIED

DATETIME

SEND_TIMESTAMP

DATETIME

RECEIVE_TIMESTAMP

DATETIME

NATIVE_MSG_SIZE

INT

TRANSLATED_MSG_SIZE

INT

BM_RESUBMIT_COUNT

INT

ERRORCODE

VARCHAR2(256)

ERRORTEXT

VARCHAR2(1024)

ERRORDESCRIPTION

VARCHAR2(2000)

PROCESSING_TIME

INT

DOCUMENTTYPE

VARCHAR2(513)

CORRELATIONID

VARCHAR2(256)

FABRIC_ECID

VARCHAR2(512)

FABRIC_COMPOSITE_NAME

VARCHAR2(512)

AM_RESUBMIT_COUNT

INT

TRANSACTIONCONTROLNUMBER

VARCHAR2(256)

GROUPCONTROLNUMBER

VARCHAR2(256)

INTERCHANGECONTROLNUMBER

VARCHAR2(256)

B2BWIREMESSAGEID

VARCHAR2(256)

B2BTIMESTAMP

DATETIME

CONVERSATIONID

VARCHAR2(1024)

PROTOCOLMESSAGEID

VARCHAR2(1024)

URL

VARCHAR2(1024)

TRANSPORTPROTOCOL

VARCHAR2(513)

TRANSPORTHEADERS

VARCHAR2(2000)

WM_RESUBMIT_COUNT

INT

DOCUMENTPROTOCOL

VARCHAR2(513)

EXCHANGEPROTOCOL

VARCHAR2(513)

AGREEMENTID

VARCHAR2(256)

SENDERNAME

VARCHAR2(256)

SENDERID

VARCHAR2(513)

RECEIVERNAME

VARCHAR2(256)

RECEIVERID

VARCHAR2(513)

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

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

B2BDOデータ・オブジェクトを使用してOracle B2Bを監視するダッシュボードを作成するには、Oracle Fusion Middleware Oracle BAMでのビジネス・アクティビティのモニタリングの第8章「ダッシュボードの作成」を参照してください。

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

[これらのパラメータでbb_config.fm表も更新する必要があります]