条件分岐の概要
BPELは、条件分岐によって選択するロジックを利用します。次のアクティビティを使用すると、条件分岐に基づいて異なるアクションを選択するコードを設計できます。
-
ifアクティビティ(BPELバージョン2.0プロジェクト)
2つ以上のブランチのいずれかに決めるために特定のアクティビティに条件動作が必要な場合、ifアクティビティを使用できます。ifアクティビティは、BPEL 1.1プロセスに見られたswitchアクティビティにかわるものです。ifアクティビティの作成方法の詳細は、「BPEL 2.0のifアクティビティの作成による条件分岐の定義」を参照してください。
-
switchアクティビティ(BPELバージョン1.1プロジェクト)
2つ以上のブランチを設定できます。各ブランチにはXPath式の形式を使用します。式がtrueの場合、そのブランチが実行されます。式がfalseの場合、BPELプロセス・サービス・コンポーネントは有効なブランチ条件が見つかるか、otherwiseブランチに達するか、ブランチがなくなるまで次のブランチ条件に進みます。複数のブランチ条件がtrueの場合は、最初にtrueと判断されたブランチがBPELにより実行されます。switchアクティビティの作成方法の詳細は、「BPEL 1.1のswitchアクティビティの作成による条件分岐の定義」を参照してください。
-
whileアクティビティ
2つのアクション間で選択を実行するwhileループを作成できます。whileアクティビティの説明は、「whileアクティビティによる条件分岐の定義」にあります。
多数のブランチが設定され、各ブランチにはXPath式形式の条件が指定されます。
条件分岐には、タイムアウトを設定できます。つまり、指定の期間内にレスポンスを生成できない場合、BPELフローは待機を中止し、そのアクティビティを再開できます。この機能の詳細は、「BPELプロセスでのイベントおよびタイムアウトの使用」で説明します。
ノート:
条件分岐ロジックはビジネス・ルールを使用して定義することもできます。『Oracle Business Process Managementによるビジネス・ルールの設計』を参照してください。