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でのデータソースの作成
既存のデータソースが存在する場合は既存のデータソースを使用できます。新しいデータソースを作成することもできます。
次のステップに従います。
-
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がデプロイされているサーバーを選択し、「終了」をクリックします。
27.3 外部JMSサーバーの作成
外部JMSサーバーを作成して、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 Propertiesフィールドに
datasource=
data_source_jndi_location
と入力します。data_source_jndi_location
は、データソースのJNDIの場所です(たとえば、jdbc/oracle/bamaq
)。通常は、データ・ソースがOracle B2BSOAINFRA
スキーマを指すようにする必要があります。 -
「デフォルトのターゲット指定を有効化」チェック・ボックスを選択します。
-
-
接続ファクトリをAQ JMS外部サーバーに追加します。
-
作成したAQ JMS外部サーバーを選択します。
-
「接続ファクトリ」タブを選択します。
-
接続ファクトリの名前を入力します。これは、Oracle WebLogic Serverによって参照される論理名です。
-
Oracle BAMエンタープライズ・メッセージ・ソースがこの接続ファクトリを検索するために使用するローカルJNDI名を、「ローカルJNDI名」フィールドに入力します(たとえば、
jms/BAMAQQueueCF
)。JNDI名は、作成されるJMSキューの名前と一致しているかぎり、任意に指定できます。 -
「リモートJNDI名」フィールドに
QueueConnectionFactory
と入力します。ノート:
次に、使用可能な代替オプションを示します。この接続ファクトリをグローバル・トランザクションで使用する場合は、XAベースの接続ファクトリを選択します。それ以外の場合は、非XAベースの接続ファクトリを使用します。
-
QueueConnectionFactory
-
ConnectionFactory
-
XAQueueConnectionFactory
-
XATopicConnectionFactory
-
XAConnectionFactory
-
-
「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 BAMエンタープライズ・メッセージ・ソースのアウトバウンド接続JNDIを作成します。
-
管理コンソールの左ペインで、「デプロイメント」をクリックします。
-
「デプロイメントのサマリー」ページで、「BamServer」→「BeamAdapter.rar」を開きます。「BeamAdapter.rar」をクリックします。
-
「BeamAdapterの設定」ページで、「構成」→「アウトバウンド接続プール」をクリックし、「新規」をクリックします。
-
「oracle.tip.adapter.jms.IJmsConnectionFactory」を選択し、「次へ」をクリックします。
-
「JNDI名」フィールドに、Oracle BAMエンタープライズ・メッセージ・ソースが使用する名前を入力します。たとえば、eis/bam/b2bconnectionです
メッセージ要素名は必ず“<row>"である必要があり、サブ要素または属性に列値を含む親要素を入力します。
「ソース値の書式設定」を構成するには、「日時仕様」チェック・ボックスを選択し、チェック・ボックスの下の指定されたHyper Linkをクリックします。
-
「終了」をクリックします。
-
「デプロイメント・プラン保存アシスタント」ページで、「OK」をクリックします。
-
-
Oracle BAMエンタープライズ・メッセージ・ソースにJNDI名を追加します。
-
「BeamAdapterの設定」ページで、「構成」→「アウトバウンド接続プール」をクリックします。
-
oracle.tip.adapter.jms.IJmsConnectionFactoryを開き、ステップ7で作成したJNDI名を選択します。
-
「アウトバウンド接続のプロパティ」表で、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>;"を追加して、「保存」をクリックします。
-
-
Oracle WebLogic ServerおよびBAM管理対象サーバーを再起動します。
27.4 Oracle BAMコンポーザを使用したB2Bデータ・オブジェクトの作成
BAMコンポーザは、B2Bデータ・オブジェクトを作成するように構成された状態で作成できます。
B2Bデータ・オブジェクトを作成するには:
Oracle BAMデータ・オブジェクトの作成の詳細は、『Oracle Fusion Middleware Oracle BAMでのビジネス・アクティビティのモニタリング』の「Oracle BAMデータ・オブジェクトの作成と管理」を参照してください。
27.5 Oracle BAMエンタープライズ・メッセージ・ソースを使用したJMSメッセージ・ソースの定義
Oracle BAMエンタープライズ・メッセージのソースを使用して、Oracle B2BでJMSメッセージ・ソースを定義できます。
JMSメッセージ・ソースを定義するには:
エンタープライズ・メッセージ・ソースを開始した後、データベース・ジョブによって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_PAYLOAD
、PAYLOAD
、WIREPAYLOAD
)は含まれないことに注意してください。ペイロードはパフォーマンス上の理由で転送されません。
表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.enableBAM
をfalse
に設定すると、ユーザー・インタフェースはデータベースからデータベース・ジョブを自動的に削除します。
「BAMポーリング間隔」 – データベース・ジョブが更新のためにOracle B2Bインスタンス表をポーリングし、Oracle BAMによる取得のためにそれらの更新をAQ JMSキューに挿入する間隔(分単位)です。0.5分などの1分未満の値も指定できます。
[これらのパラメータでbb_config.fm表も更新する必要があります]