BPEL 2.0のifアクティビティの作成による条件分岐の定義

2つ以上のブランチのいずれかに決めるために特定のアクティビティに条件動作が必要な場合、ifアクティビティを使用できます。ブランチのセットから、実行するアクティビティが1つだけ選択されます。ifアクティビティは、次の順序で実行対象とみなされる1つ以上の条件分岐のリストで構成されます。

  • ifブランチ

  • オプションのelseifブランチ

  • オプションのelseブランチ

条件がtrueに評価される最初のブランチが採用され、そこに含まれているアクティビティが実行されます。条件付きブランチが採用されない場合は、elseブランチが採用されます(存在する場合)。ifアクティビティは、選択されたブランチに含まれるアクティビティが完了した時点で、またはtrueに評価される条件がなまelseブランチが指定されていない場合にはただちに終了します。

ifアクティビティは、BPELバージョン1.1に含まれていたswitchアクティビティにかわる、BPELバージョン2.0の機能です。

次の例にifアクティビティの構文を示します。

<if standard-attributes>
   standard-elements
   <condition>some conditon expression</condition>
   activity
   <elseif>*
      <condition>some condition expression</condition>
      some activity
   </elseif>
   <else>?
      some activity
   </else>
</if>