この章では、Oracle BAMを使用してOracle B2Bインスタンス・メッセージの監視を設定するエンドツーエンドの方法について説明します。
Oracle B2B-BAM統合はOracle XEデータベースでは動作しません。Oracle 10g EEおよびOracle 11g EEのバージョンで動作します。
この章には次のトピックが含まれます:
Oracle BAMでは、データのインフローをリアルタイムに表示するダッシュボード、および指定した条件でアラートを送信するルールを作成するためのフレームワークが提供されます。この章の以降の項の手順に従って、Oracle B2Bインスタンスを監視するようにOracle BAMを構成できます。
注意: Oracle BAMダッシュボードはインスタンス・メッセージ表で定義されている外部データソースで作成できますが、外部データソースではアクティブなデータはサポートされていないため、結果として作成されるレポートにはリアルタイムの更新が表示されません。 |
既存のデータソースが存在する場合は既存のデータソースを使用できます。または、次の手順に従って新しいデータソースを作成することもできます。
Oracle WebLogic Server管理コンソールを開き、ログインします。
http://host_name:port_number/console
host_name
はOracle BAMがインストールされているマシンの名前で、Oracle WebLogic Serverのデフォルトのport_number
は7001です。
「JDBC」セクションで「データ・ソース」を選択し、「新規」をクリックします。
データソースを構成します。
データソースの「名前」を入力します(例: BAMAQDataSource
)。
データソースのJNDI名を入力します(例: jdbc/oracle/bamaq
)。この名前は、外部JMSサーバーを構成するために使用されます。
「データベースのタイプ」に「Oracle」を選択します。
「データベース・ドライバ」フィールドでOracleのドライバ(Thin)を選択します。
「次」をクリックします。
グローバル・トランザクションのサポートを選択解除し、「次」をクリックします。
「データベース名」フィールドにデータベースのSIDを入力します(例: ORCL
)。
「ホスト名」としてデータベースがインストールされているマシンのホスト名を入力します(例: localhost
)。
データベースの「ポート」番号を入力します(例: 1521
)。
「ユーザー名」と「パスワード」を入力し、「次」をクリックします。
「構成のテスト」をクリックします。
テストが成功したら、「次」をクリックします。
Oracle BAMがデプロイされているサーバーを選択し、「終了」をクリックします。
外部JMSサーバーを作成する手順は、次のとおりです。
Oracle WebLogic Server JMSモジュールを追加します。
Oracle WebLogic Server管理コンソールのホーム・ページで、「JMSモジュール」ページに移動します。
「新規」をクリックして、Oracle WebLogic Server JMSモジュールを作成します。
JMSモジュールの名前を入力し(例: BAMAQsystemModule
)、「次」をクリックします。
Oracle BAMがデプロイされているサーバーとしてターゲットを割り当て、「次」をクリックし、「終了」をクリックします。
注意: サブデプロイメントを作成することをお薦めします。「JMSモジュール」→「サブデプロイメント」→「新規」を選択します。以降の手順で「サブデプロイメント」タブがある場合は、サブデプロイメントを使用します。 |
リストから選択して、サブデプロイメントをJMSサーバーに対するターゲットにします。
AQ JMS外部サーバーをJMSモジュールに追加します。
作成したJMSモジュールを選択します。
「新規」をクリックし、JMSリソースのリストに進みます。
「外部サーバー」オプションを選択し、「次」をクリックします。
「外部サーバー」の「名前」を入力し(例: BAMAQForeignServer
)、「終了」をクリックします。
AQ JMS外部サーバーを構成します。
作成したAQ JMS外部サーバーを選択します。
「JNDI初期コンテキスト・ファクトリ」フィールドにoracle.jms.AQjmsInitialContextFactory
と入力します。
「JNDIプロパティ」フィールドにdatasource=
data_source_jndi_location
と入力します。data_source_jndi_location
は、データソースのJNDIの場所です(例: jdbc/oracle/bamaq
)。通常は、データ・ソースがOracle B2B SOAINFRA
スキーマを指すようにする必要があります。
「デフォルトのターゲット指定を有効化」チェック・ボックスを選択します。
接続ファクトリをAQ JMS外部サーバーに追加します。
作成したAQ JMS外部サーバーを選択します。
「接続ファクトリ」タブを選択します。
接続ファクトリの名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。
Oracle BAMエンタープライズ・メッセージ・ソースがこの接続ファクトリを検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueueCF
)。JNDI名は、作成されるJMSキューの名前と一致しているかぎり、任意に指定できます。
「リモートJNDI名」フィールドにQueueConnectionFactory
と入力します。
注意: 次に、使用可能な代替オプションを示します。この接続ファクトリをグローバル・トランザクションで使用する場合は、XAベースの接続ファクトリを選択します。それ以外の場合は、非XAベースの接続ファクトリを使用します。
|
「OK」をクリックします。
AQ JMS外部サーバーに宛先を追加します。
作成したAQ JMS外部サーバーを選択します。
「宛先」タブを選択します
宛先の名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。宛先名とは関係ありません。
Oracle BAMエンタープライズ・メッセージ・ソースが接続先を検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(例: jms/BAMAQQueue
)。
「リモートJNDI名」フィールドに、接続先がキューの場合はQueues/
queue_name
と入力し、接続先がトピックの場合はTopics/
topic_name
と入力します。
たとえば、Oracle B2B - Oracle BAM統合に対して作成されるAQキューのデフォルト名は、Queues/B2B_BAM_QUEUE
です。
「OK」をクリックします。
Oracle WebLogic Serverを再起動します。
B2Bデータ・オブジェクトを作成する手順は、次のとおりです。
次のURLでOracle BAMにログインします。
http://host_name:port_number/OracleBAM
デフォルトのポート番号は9001です。
「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。
ドロップダウン・リストで「データ・オブジェクト」を選択します。
サンプル・フォルダを選択し、B2Bという名前のサブフォルダを作成します。
「データ・オブジェクトの作成」リンクをクリックします
「名前」フィールドにB2BDO
と入力します。
「フィールドの追加」をクリックします。
「データ・オブジェクト内のフィールド」に値を入力します。
「フィールドの追加」を繰り返しクリックし、表25-2にリストされているすべてのフィールドを追加します。
Oracle BAMデータ・オブジェクトの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドのOracle BAMデータ・オブジェクトの定義と管理を参照してください。
JMSメッセージ・ソースを定義する手順は、次のとおりです。
次のURLでOracle BAMにログインします。
http://host_name:port_number/OracleBAM
デフォルトのポート番号は9001です。
「アーキテクト」を選択して、Oracle BAMアーキテクト・アプリケーションを開きます。
ドロップダウン・リストで「エンタープライズ・メッセージ・ソース」を選択します。
「作成」をクリックし、表25-1に示されているようにAQ JMSキューのエンタープライズ・メッセージ・ソース情報を入力します。示されていないフィールドはデフォルトまたは空白のエントリのままにします。
表25-1 AQ JMSキューのエンタープライズ・メッセージ・ソース・プロパティ
プロパティ | 値と例 |
---|---|
名前 |
エンタープライズ・メッセージ・ソースの表示名を入力します(例: |
初期コンテキスト・ファクトリ |
weblogic.jndi.WLInitialContextFactoryと入力します |
JNDIサービス・プロバイダURL |
t3://localhost:9001と入力します 注意: Oracle BAMが管理サーバーにインストールされている場合は、ポート9001を使用します。Oracle BAMが管理対象サーバーにインストールされている場合は、デフォルトのポート7001、またはシステム管理者が構成したポート番号を使用します。 |
トピック/キュー接続ファクトリ名 |
接続ファクトリの名前を入力します(例: jms/BAMAQQueueCF)。 |
トピック/キュー名 |
JJMSトピック(またはキュー)の名前を入力します(例: jms/BAMAQQueue)。 |
データ・オブジェクト名: |
AQ JMSサーバーから受信した値を送信するB2Bデータ・オブジェクトを選択します |
操作 |
使用方法に応じて、「挿入」または「アップサート」操作を選択します。 |
「ソース値フォーマット」を構成するには、「日時仕様」チェック・ボックスを選択し、ドロップダウン・リストでMM/dd/yy H:mm:ss形式を選択します。
注意: 日付の受信XML値が |
受信XMLのデータをB2Bデータ・オブジェクトの適切なフィールドにマップできるように、「ソースからデータ・オブジェクト・フィールドへのマッピング」を完了します。B2Bインスタンス表から取得される受信XMLのフィールドのリストは、表25-2を参照してください。
「保存」をクリックします。
B2B_EMS
エンタープライズ・メッセージ・ソースを選択し、「開始」をクリックします。数秒でステータスが「起動済」に変わります。
エンタープライズ・メッセージ・ソースを開始した後、データベース・ジョブによってAQ JMSキューに挿入されたメッセージは、B2BDOデータ・オブジェクトですぐに使用可能になります。
B2BDOデータ・オブジェクトの内容を表示するには、「Oracle BAMアーキテクト」ドロップダウン・メニューから「データ・オブジェクト」を選択します。B2BDOオブジェクトを参照して選択します。内容を表示するには、「コンテンツ」をクリックします。
データベース・ジョブがB2Bインスタンス表から受信メッセージを読み取り、AQ JMSキューに挿入すると、B2BDOに新しい行が挿入されます。
Oracle BAMエンタープライズ・メッセージ・ソースの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドのOracle BAMエンタープライズ・メッセージ・ソースの作成を参照してください。
表25-2に、Oracle B2Bインスタンス・メッセージのフィールドをリストします。これらのフィールドを使用して、Oracle BAMでデータ・オブジェクトとエンタープライズ・メッセージ・ソースを設計し、Oracle B2Bのパフォーマンスをリアルタイムで監視できます。
次のリストにはペイロード(APP_PAYLOAD
、PAYLOAD
、WIREPAYLOAD
)は含まれないことに注意してください。ペイロードはパフォーマンス上の理由で転送されません。
表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) |
リアルタイム監視ダッシュボードは、Oracle BAMアクティブ・スタジオを使用して作成します。B2BDOデータ・オブジェクトを使用してOracle B2Bを監視するには、ダッシュボードを作成します。
簡単なレポートを作成する手順は、次のとおりです。
次のURLでOracle BAMにログインします。
http://host_name:port_number/OracleBAM
デフォルトのポート番号は9001です。
「アクティブ・スタジオ」を選択し、Oracle BAMアクティブ・スタジオ・アプリケーションを開きます。
「新規レポートの作成」をクリックします。
4分割された「タイル表示レポート」を選択します。
4分割の左上部分で、「棒グラフ」を選択します(2回クリックする必要がある場合があります)。
サンプルの棒グラフが表示され、「Oracle BAMアクティブ・スタジオ」ウィンドウの下部でビュー・エディタが開きます。
ビュー・エディタの「データ・オブジェクト」の選択でB2BDOを選択し、「次」をクリックします。
「グループ化」リストで、「State」を選択します。
「グラフの値」リストで「b2bMessageId」を選択し、「次」をクリックします。
「ビュー・プロパティの変更」をクリックし、次の情報を入力します。
「ビュー・タイトル」フィールドにB2B State
と入力します。
「凡例の表示」チェック・ボックスを選択します。
「OK」をクリックします。
同様に、Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイドの指示に従って、ダッシュボードにおける4分割の他の部分の表示情報を作成します。
たとえば、4分割の他の3つの部分では、メッセージのdocumentProtocol
、exchangeProtocol
またはdirection
でグループ化できます。
4分割の各部分の表示の構成が終了したら、ダッシュボードを保存します。
メインのOracle BAMページに移動し、「アクティブ・ビューア」を選択します。
作成したダッシュボードを選択し、Oracle BAMアクティブ・ビューアで表示します。
b2b_instancemessage
ビューで新規インスタンスが作成されるとダッシュボードの表示は自動的にリフレッシュされ、B2BDO
データ・オブジェクトにデータが挿入されます。変更はただちに反映されます。
Oracle BAMダッシュボードの作成の詳細は、Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイドを参照してください。
Oracle B2BでOracle BAM統合を有効化するには、Oracle B2Bの「管理」→「構成」タブで次のプロパティを設定します。
「BAMの有効化」 - true
に設定します。b2b.enableBAM
をtrueに設定すると、Oracle B2Bのユーザー・インタフェースはデータベースでデータベース・ジョブを自動的に開始し、b2b_instancemessage
ビューで新規インスタンスを監視します。b2b.enableBAM
をfalse
に設定すると、ユーザー・インタフェースはデータベースからデータベース・ジョブを自動的に削除します。
「BAMポーリング間隔」 – データベース・ジョブが更新のためにOracle B2Bインスタンス表をポーリングし、Oracle BAMによる取得のためにそれらの更新をAQ JMSキューに挿入する間隔(分単位)です。0.5分などの1分未満の値も指定できます。