- Oracle SOAスイートでのSOAアプリケーションの開発
- BPELプロセス・サービス・コンポーネントの使用
- Oracle BPEL Process Managerセンサーと分析の使用
- Oracle JDeveloperでのセンサーとセンサー・アクションの構成
- センサー・アクションの構成方法
センサー・アクションの構成方法
センサーを作成する場合は、実行時に監視するアクティビティ、変数およびフォルトを識別します。エンドポイントにセンサーの値をパブリッシュする場合(たとえば、図18-5で作成したLoanApplicationSensor変数センサーのデータをJMSキューにパブリッシュする場合)は、図18-7に示すように、センサー・アクションを作成し、LoanApplicationSensor変数に関連付けます。
センサー・アクションを構成するには:
- Oracle BPELデザイナの上部にある監視ビューに変更を選択します。
- 「構造」ウィンドウで、「センサー・アクション」フォルダを右クリックします。
- 「作成」→「センサー・アクション」の順に選択します。
- 表18-1に記載されている詳細を入力します。
表18-1 「センサー・アクション」ダイアログ
フィールド 説明 名前
名前を入力するか、デフォルト名をそのまま使用します。
パブリッシュ・タイプ
センサー・データをパブリッシュする宛先を選択します。詳細は、「センサーの概要」を参照してください。
JMSコネクション・ファクトリ
パブリッシュ・タイプが「JMSキュー」、「JMSトピック」または「JMSアダプタ」の場合は、コネクション・ファクトリを指定します。
パブリッシュ・ターゲット
パブリッシュ・タイプが「JMSキュー」、「JMSトピック」、「カスタム」または「JMSアダプタ」の場合は、パブリッシュ・ターゲットを指定する必要があります。パブリッシュ・ターゲットは、指定されたパブリッシュ・タイプによって異なる内容を表します。
-
パブリッシュ・タイプがデータベースの場合、このフィールドは空白のままになります。
-
パブリッシュ・タイプが「JMSキュー」、「JMSトピック」または「JMSアダプタ」の場合は、JMS宛先のJNDI名を表します。
-
パブリッシュ・タイプが「カスタム」の場合は、完全修飾されたJavaクラス名を表します。
フィルタ
フィルタ・ロジックはブール式で入力します。フィルタを使用すると、特定の範囲内のセンサー・データを監視できます。構成済のフィルタの例については、図18-9を参照してください。
有効化
センサー・アクションを無効にする場合、このチェック・ボックスの選択を解除します。デフォルトでは、有効になっています。このチェック・ボックスの選択を解除してセンサー・アクションを無効にすると、センサー・アクションでデータがパブリッシュされません。
bpel_process_name
_sensorAction.xml
ファイルに新規エントリが作成されます。<action name="BAMFeed" enabled="true" publishType="JMSQueue" publishTarget="jms/bamTopic"> <sensorName>LoanApplicationSensor</sensorName> <property name=“JMSConnectionFactory“> weblogic.jms.ConnectionFactory </property> </action>
ノート:
「センサー・アクション」ダイアログの「フィルタ」フィールドには、
<
(より小さい)記号は指定できません。指定すると、Oracle JDeveloperにより、bpel_process_name
_sensorAction.xml
ファイルの<
記号が<
に変換されます。filename
_sensorAction.xml
ファイルを直接編集して<
記号を指定することもできません。この操作ではエラーが発生します。 -
- LoanApplicationSensorおよびCreditRatingSensorの値をデータベースのレポート・スキーマにパブリッシュする場合は、図18-8に示すように、追加のセンサー・アクションを作成し、CreditRatingSensorとLoanApplicationSensorの両方に関連付けます。
bpel_process_name
_sensorAction.xml
ファイルに新規エントリが作成されます。<action name="PersistingAction" enabled="true" publishType="BPELReportsSchema"> <sensorName>LoanApplicationSensor</sensorName> <sensorName>CreditRatingSensor</sensorName> </action
複数のエンドポイントに対して1つのセンサーのデータをパブリッシュできます。前述の2つのコード例では、LoanApplicationSensorのデータがJMSキューとデータベース・レポート・スキーマの両方にパブリッシュされました。
- 融資金額が$100,000を超える融資申請を監視する場合は、図18-9に示すように、フィルタ付きのセンサー・アクションを作成します。フィルタ問合せの設計時の検証はありません。問合せが正しいことを確認する必要があります。
bpel_process_name
_sensorAction.xml
ファイルに新規エントリが作成されます。<action name="BigMoneyBAMAction" enabled='true' filter="boolean(/s:actionData/s:payload /s:variableData/s:data /autoloan:loanAmount > 100000)" publishType="JMSQueue" publishTarget="jms/bigMoneyQueue"> <sensorName>LoanApplicationSensor</sensorName> <property name=“JMSConnectionFactory“> weblogic.jms.ConnectionFactory </property> </action>
ノート:
-
bpel_process_name
_
sensorAction.xml
構成ファイルでアクション・フィルタを構成する必要があるすべてのネームスペースを指定する必要があります。たとえば、ネームスペースが"http://myCustomer"
のcustomer
XMLスキーマ要素があり、customer
age
要素に対してフィルタを作成すると仮定します。したがって、フィルタでネームスペースを使用する前に、ファイルで"http:/myCustomer"
のネームスペースを宣言する必要があります。そうしないと、有効な問合せを作成できません。ファイルの属性宣言部分にxmlns:ns1="http://myCustomer"
を追加します。これで、問合せで..../ns1:customer/ns1:age/...
を使用できるようになります。 -
フィルタは、ブール型のXPath式として指定する必要があります。
-
- 組込みのパブリッシュ・タイプ(「データベース」、「JMSキュー」、「JMSトピック」および「JMSアダプタ」)では対応できない特殊なセンサー・アクション要件がある場合は、図18-10に示すように、「カスタム」パブリッシュ・タイプでセンサー・アクションを作成できます。「パブリッシュ・ターゲット」フィールド内の名前は、実装する必要がある完全修飾Javaクラス名を示します。詳細は、「カスタム・データ・パブリッシャの作成方法」を参照してください。