Oracle SOAスイートでのSOAアプリケーションの開発 BPELプロセス・サービス・コンポーネントの使用 BPELプロセスでの条件分岐の使用 ifまたはswitchアクティビティによる条件分岐の定義 「BPEL 1.1のswitchアクティビティの作成による条件分岐の定義」 switchアクティビティの作成方法 switchアクティビティの作成方法 switchアクティビティを作成するには: 「コンポーネント」ウィンドウで、「BPELコンストラクト」を展開します。 図11-6に示すように、switchアクティビティをデザイナにドラッグします。 switchアクティビティにはデフォルトで2つのswitch caseブランチがあり、各ブランチには機能要素を挿入するためのボックスがあります。ブランチを追加するには、switchアクティビティ全体を選択して右クリックし、メニューから「Switch Caseの追加」を選択します。 図11-6 switchアクティビティ「図11-6 switchアクティビティ」の説明 最初のブランチで、「条件」ボックスをダブルクリックします。 図11-7に示すように、条件を入力するためのダイアログが表示されます。 図11-7 「条件」ダイアログ「図11-7 「条件」ダイアログ」の説明 「ラベル」フィールドに、条件分岐の名前を入力します。完了すると、Oracle BPELデザイナにこの名前が表示されます。 「条件」フィールドで、「式ビルダー」アイコンをクリックして「式ビルダー」ダイアログにアクセスします。 式を作成します。bpws:getVariableDate('loanOffer1','payload','/loanOffer/APR') > bpws:getVariableData('loanOffer2','payload','/loanOffer/APR') この例では、融資企業からの完成した2つの融資提案は、グローバル変数loanOffer1およびloanOffer2に格納されます。各融資提案変数には、融資提案のAPRが含まれています。BPELフローでは、APRが低い方の融資を選択する必要があります。次のいずれかのswitchアクティビティが実行されます: loanOffer1のAPRの方が高い場合、最初のブランチはloanOffer2のペイロードをselectedLoanOfferのペイロードに割り当てることで、loanOffer2を選択します。 loanOffer1にloanOffer2より小さいAPRがない場合、otherwise caseはloanOffer1ペイロードをselectedLoanOfferペイロードに割り当てます。 「OK」をクリックします。 式が表示されます。ダイアログの「ラベル」フィールドに入力した値は、条件分岐の名前になります。 「OK」をクリックします。 必要に応じて、その他のアクティビティを追加および構成します。図11-8に詳細を示します。 図11-8 switchアクティビティの設計「図11-8 switchアクティビティの設計」の説明