Oracle BPEL Process Managerセンサーの概要

センサーは、BPELプロセス・インスタンスのライフ・サイクル全体を通じて特定のイベントに対する関心を宣言するために使用されます。ビジネス・プロセスでは、このようなイベントとして、特定のアクティビティのアクティブ化と完了、またはビジネス・プロセス内の変数値の変更があります。

センサーがトリガーされると、特定のセンサー値が作成されます。たとえば、センサーでBPELスコープの完了に対する関心を宣言した場合、センサー値は、BPELスコープの名前とアクティビティの完了時点のタイムスタンプ値で構成されます。センサー値でBPELプロセス変数に対する関心を宣言している場合、そのセンサー値は次のもので構成されます。

  • 変数が変更された時点でのその変数の値

  • 変数が変更されたときのタイムスタンプ

  • BPEL変数を変更したアクティビティ名およびタイプ

センサー値のデータ・フォーマットは、XMLスキーマを使用して正規化され、適切に定義されます。

センサー・アクションは、センサー値の処理方法に関する指示です。Oracle BPEL Process Managerによってセンサーがトリガーされると、そのセンサーに新しいセンサー値が作成されます。その後、そのセンサーに関連付けられているすべてのセンサー・アクションが実行されます。通常、センサー・アクションは、センサー値をデータベースに保持するか、正規化されたセンサー値データをJMSキューまたはトピックに送信します。Oracle BAMと統合すると、センサー値をOracle BAMアダプタに送信できます。

Oracle JDeveloperを使用するか、センサー構成ファイルを手動で指定することで、次のタイプのセンサーを定義できます。

  • アクティビティ・センサー

    アクティビティ・センサーは、BPELプロセス内のアクティビティの実行を監視します。たとえば、invokeアクティビティの実行時間や、このアクティビティによるスコープ完了までの時間を監視できます。アクティビティ・センサーに加え、アクティビティの変数も監視できます。

  • 変数センサー

    変数センサーは、BPELプロセスの変数(または1つの変数の複数部分)を監視する際に使用します。たとえば、変数センサーで、BPELプロセスの入力データと出力データを監視できます。

  • フォルト・センサー

    フォルト・センサーは、BPELフォルトを監視する際に使用します。

センサーは、通常、アクティビティ、フォルトおよび変数のBPELモデリングの一環として追加または編集します。

これらのセンサーは、次のパブリックSQLビューを使用して公開されます。

  • BPEL_ACTIVITY_SENSOR_VALUES

  • BPEL_FAULT_SENSOR_VALUES

  • BPEL_VARIABLE_SENSOR_VALUES

これらのビューをBPEL_PROCESS_INSTANCESビューと結合し、センサー値と、センサー値を作成したBPELプロセス・インスタンスを関連付けることができます。詳細は、「センサー・パブリック・ビューとセンサー・アクションXSDの理解」を参照してください。

Oracle JDeveloperでセンサーをモデル化すると、BPELプロセス・アーカイブの一部として、次の2つの新規ファイルが作成されます。

  • bpel_process_name_sensor.xml

    BPELプロセスのセンサー定義が格納されます。

  • bpel_process_name_sensorAction.xml

    BPELプロセスのセンサー・アクション定義が格納されます。

これらのファイルの作成方法の詳細は、「アクティビティ、変数、フォルトの各センサーの構成方法」および「センサー・アクションの構成方法」を参照してください。

BPELプロセスにセンサーを定義した後は、センサー・アクションを構成して、そのセンサー・データを指定された宛先にパブリッシュする必要があります。センサーにセンサー・アクションが定義されていない場合、実行時は何も行われません。

センサー・アクションには、次の情報が必要です。

  • 名前

  • パブリッシュ・タイプ

    パブリッシュ・タイプは、センサー・データの送信が必要な宛先を指定します。次の宛先にセンサー・データをパブリッシュできます。

    • データベース

      センサー・データをデータベースのレポート・スキーマにパブリッシュします。これにより、センサー・データは、SQLを使用して問い合せることができます。

    • JMSキュー

      センサー・データをJMSキューにパブリッシュします。XMLデータは、Sensor.xsdファイルに従って転送されます。このファイルは、Oracle JDeveloperで次のディレクトリにあります。

      /soa/integration/seed/soa/shared/bpel/Sensor.xsd
      

      Sensor.xsdファイルは、次のディレクトリにもあります。

      /soa/integration/jdeveloper/seed/soa/shared/bpel/Sensor.xsd
      
    • JMSトピック

      センサー・データをJMSトピックにパブリッシュします。XMLデータは、JMSキューで使用されるファイルと同じSensor.xsdファイルに従って転送されます。

    • カスタム

      データをカスタムJavaクラスにパブリッシュします。

    • JMSアダプタ

      JMSアダプタは、リモート・キューやトピックおよび様々なJMSプロバイダへのパブリッシュに使用します。「JMSキュー」および「JMSトピック」パブリッシュ・タイプでは、ローカルJMS宛先にのみパブリッシュします。

  • センサーのリスト

    センサー・アクションに対応するセンサーです。