センサー・アクションの構成方法

センサーを作成する場合は、実行時に監視するアクティビティ、変数およびフォルトを識別します。エンドポイントにセンサーの値をパブリッシュする場合(たとえば、図18-5で作成したLoanApplicationSensor変数センサーのデータをJMSキューにパブリッシュする場合)は、図18-7に示すように、センサー・アクションを作成し、LoanApplicationSensor変数に関連付けます。

センサー・アクションを構成するには:

  1. Oracle BPELデザイナの上部にある監視ビューに変更を選択します。
  2. 「構造」ウィンドウで、「センサー・アクション」フォルダを右クリックします。
  3. 「作成」「センサー・アクション」の順に選択します。
  4. 表18-1に記載されている詳細を入力します。

    表18-1 「センサー・アクション」ダイアログ

    フィールド 説明

    名前

    名前を入力するか、デフォルト名をそのまま使用します。

    パブリッシュ・タイプ

    センサー・データをパブリッシュする宛先を選択します。詳細は、「センサーの概要」を参照してください。

    JMSコネクション・ファクトリ

    パブリッシュ・タイプが「JMSキュー」「JMSトピック」または「JMSアダプタ」の場合は、コネクション・ファクトリを指定します。

    パブリッシュ・ターゲット

    パブリッシュ・タイプが「JMSキュー」「JMSトピック」「カスタム」または「JMSアダプタ」の場合は、パブリッシュ・ターゲットを指定する必要があります。パブリッシュ・ターゲットは、指定されたパブリッシュ・タイプによって異なる内容を表します。

    • パブリッシュ・タイプがデータベースの場合、このフィールドは空白のままになります。

    • パブリッシュ・タイプが「JMSキュー」「JMSトピック」または「JMSアダプタ」の場合は、JMS宛先のJNDI名を表します。

    • パブリッシュ・タイプが「カスタム」の場合は、完全修飾されたJavaクラス名を表します。

    フィルタ

    フィルタ・ロジックはブール式で入力します。フィルタを使用すると、特定の範囲内のセンサー・データを監視できます。構成済のフィルタの例については、図18-9を参照してください。

    有効化

    センサー・アクションを無効にする場合、このチェック・ボックスの選択を解除します。デフォルトでは、有効になっています。このチェック・ボックスの選択を解除してセンサー・アクションを無効にすると、センサー・アクションでデータがパブリッシュされません。

    図18-7 センサー・アクションの作成

    図18-7の説明が続きます
    「図18-7 センサー・アクションの作成」の説明

    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ファイルの<記号が&lt;に変換されます。filename_sensorAction.xmlファイルを直接編集して<記号を指定することもできません。この操作ではエラーが発生します。

  5. LoanApplicationSensorおよびCreditRatingSensorの値をデータベースのレポート・スキーマにパブリッシュする場合は、図18-8に示すように、追加のセンサー・アクションを作成し、CreditRatingSensorLoanApplicationSensorの両方に関連付けます。

    図18-8 追加のセンサー・アクションの作成

    図18-8の説明が続きます
    「図18-8 追加のセンサー・アクションの作成」の説明

    bpel_process_name_sensorAction.xmlファイルに新規エントリが作成されます。

    <action name="PersistingAction"
         enabled="true" 
         publishType="BPELReportsSchema">
      <sensorName>LoanApplicationSensor</sensorName> 
      <sensorName>CreditRatingSensor</sensorName>
    </action
    

    複数のエンドポイントに対して1つのセンサーのデータをパブリッシュできます。前述の2つのコード例では、LoanApplicationSensorのデータがJMSキューとデータベース・レポート・スキーマの両方にパブリッシュされました。

  6. 融資金額が$100,000を超える融資申請を監視する場合は、図18-9に示すように、フィルタ付きのセンサー・アクションを作成します。フィルタ問合せの設計時の検証はありません。問合せが正しいことを確認する必要があります。

    図18-9 フィルタ付きのセンサー・アクションの作成

    図18-9の説明が続きます
    「図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式として指定する必要があります。

  7. 組込みのパブリッシュ・タイプ(「データベース」、「JMSキュー」、「JMSトピック」および「JMSアダプタ」)では対応できない特殊なセンサー・アクション要件がある場合は、図18-10に示すように、「カスタム」パブリッシュ・タイプでセンサー・アクションを作成できます。「パブリッシュ・ターゲット」フィールド内の名前は、実装する必要がある完全修飾Javaクラス名を示します。詳細は、「カスタム・データ・パブリッシャの作成方法」を参照してください。

    図18-10 「カスタム」パブリッシュ・タイプの使用

    図18-10の説明が続きます
    「図18-10 「カスタム」パブリッシュ・タイプの使用」の説明