この章では、SOAコンポジット・アプリケーションでコンポジット・センサーを定義する方法について説明します。
項目は次のとおりです。
コンポジット・センサーは、メッセージにトラッキング可能なフィールドを実装する手段を提供します。コンポジット・センサーを使用すると、次のタスクを実行できます。
受信メッセージおよび送信メッセージを監視できます。
Oracle Enterprise Manager Fusion Middleware Controlで、SOAコンポジット・アプリケーションの「インスタンス」ページにある検索ユーティリティで、コンポジット・センサーの詳細を指定できます。この処理によって、特定のインスタンスを検索できます。
受信メッセージおよび送信メッセージから計算されたJMSデータをパブリッシュします。
コンポジット・センサーは、Oracle JDeveloperでサービス・バインディング・コンポーネントおよび参照バインディング・コンポーネントに定義します。この機能は、BPELプロセスの変数センサーに類似しています。実行時に、コンポジット・センサー・データはデータベースに維持されます。
コンポジット・センサーの使用に関して、次の制限に注意してください。
関数はペイロードでのみ使用できます。たとえば、concat()
などのXPath関数はプロパティでは使用できません。
式を使用するコンポジット・センサーは常に、値を文字列として取得します。この処理のため、検索で使用できるのはlike
比較演算子のみです。また、値が数値の場合でも、他の<
、>
、=
など論理演算子やこれらの組合せを使用することはできません。
コンポジット・センサーでは、Enterprise ManagerおよびJMSの2つのタイプのセンサー・アクションのみがサポートされます。
Webサービス・バインディングに対しては、ヘッダー・ベースのセンサーのみがサポートされています。
Oracle B2B、サービス・データ・オブジェクト(SDO)、Web Services Invocation Framework (WSIF)およびOracle Business Activity Monitoringのバインディングに対するセンサー・アクションは、サポートされていません。
センサー値の型は次のいずれかになります。
次のスカラー型
STRING
NUMBER
DATE
DATE_TIME
複合XML要素
フィルタリング用のXPath式を作成する場合は、ノードセットを返すすべての関数を文字列として明示的にキャストする必要があります。
xpath20:upper-case(string($in.request/inp1:updateOrderStatus/inp1:orderStatus) ) = "PENDING"
SOAコンポジット・エディタで、SOAコンポジット・アプリケーションのサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントにセンサーを追加します。
コンポジット・センサーを追加する手順は、次のとおりです。
次のいずれかのオプションを使用して、SOAコンポジット・エディタでコンポジット・センサーを追加します。
コンポジット・センサーを追加する「公開されたサービス」または「外部参照」スイムレーンで特定のサービスまたは参照のバインディング・コンポーネントを右クリックし、「コンポジット・センサー」を選択します。
図47-1に示すように、選択したバインディング・コンポーネントの「コンポジット・センサー」ダイアログが表示されます。
「追加」アイコンをクリックします。
または、
図47-2に示すように、SOAコンポジット・エディタ上部にある「コンポジット・センサー」アイコンをクリックします。
図47-3に示すように、SOAコンポジット・アプリケーションの「コンポジット・センサー」ダイアログが表示されます。
コンポジット・センサーを追加するサービスまたは参照を選択し、「追加」アイコンをクリックします。
図47-4に示すように、「コンポジット・センサーの作成」ダイアログが表示されます。
表47-1に記載されている詳細を入力します。
表47-1 「コンポジット・センサーの作成」ダイアログ
名前 | 説明 |
---|---|
名前 |
コンポジット・センサーの名前を入力します。「式」フィールドの「編集」アイコンを使用可能にするには、名前を入力する必要があります。 |
サービス |
サービス名が表示されます。このフィールドが表示されるのは、サービス・バインディング・コンポーネントに対するコンポジット・センサーを作成している場合のみです。このフィールドは編集できません。 サービス・センサーは、サービスが外部または別のコンポジット・アプリケーションから受信するメッセージを監視します。 |
参照 |
参照名が表示されます。このフィールドが表示されるのは、参照バインディング・コンポーネントに対するコンポジット・センサーを作成している場合のみです。このフィールドは編集できません。 参照センサーは、参照が外部または別のコンポジット・アプリケーションに送信するメッセージを監視します。 |
操作 |
サービスまたは参照のポート・タイプに対する操作を選択します。 |
式 |
「編集」アイコンをクリックすると、作成する式のタイプを選択するドロップダウン・リストが起動します。
|
フィルタ |
「編集」アイコンをクリックすると、式用のXPathフィルタを作成する「式ビルダー」ダイアログが起動します。このフィールドを使用可能にするには、最初に式を作成する必要があります。 たとえば、 $in.inDict/tns:inDict/ns2:KeyValueOfstringstring/ns2:Value > 10000.00 |
コンポジット・センサー・アクション |
サポートされているセンサー・アクションを表示します。この機能を使用すると、ランタイム・センサー・データを格納できます。「Enterprise Manager」と「JMSキュー」または「JMSトピック」のいずれかとの両方を選択できます。
注意: 「JMSキュー」および「JMSトピック」を選択すると、コンポジット・センサー・データ(XMLペイロード)はOracle Business Activity MonitoringやOracle Complex Event Processing (CEP)など他のコンシューマでも使用できるようになります。どちらを選択した場合も、Oracle WebLogic ServerによるJMSサポートが使用され、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』の説明にあるようなOracle SOA Suite JMSアダプタは使用されません。JMSメッセージはOracle WebLogic Server管理コンソールで表示できます。 Oracle Business Activity Monitoringでのセンサー・データの使用の詳細は、第50章「Oracle BAMとSOAコンポジット・アプリケーションの統合」を参照してください。 |
「適用」をクリックしてコンポジット・センサーを追加します。
完了後に「OK」をクリックします。
図47-5に示すように、コンポジット・センサー・アイコンがサービス・バインディング・コンポーネントまたは参照バインディング・コンポーネント上に表示されます。
図47-6に示す「XPath式の選択」では、トラッキングする要素を選択できます。
変数を追加する手順は、次のとおりです。
ツリーを開き、トラッキングする要素を選択します。
完了後に「OK」をクリックします。
図47-7に示す「プロパティの選択」では、トラッキングする式を作成できます。
式を追加する手順は、次のとおりです。
トラッキングする要素のXPath式を作成します。
完了後に「OK」をクリックします。
図47-8に示す「プロパティの選択」では、トラッキングする正規化されたメッセージ・ヘッダー・プロパティを選択できます。
プロパティを追加する手順は、次のとおりです。
トラッキングする正規化されたメッセージ・ヘッダー・プロパティを選択します。
完了後に「OK」をクリックします。
実行時に、Oracle Enterprise Manager Fusion Middleware Controlでコンポジット・センサー・データを監視できます。
コンポジット・センサー・データは、SOAコンポジット・アプリケーションのフローのトレースに表示されます。
コンポジット・センサー・データは、SOAコンポジット・アプリケーションの「インスタンス」ページで検索できます。
詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。