ビジネス プロセス構築ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容

ケース文の作成

Switch ノードは、条件ノードで指定された式の評価に基づいて実行パスを選択する場合に使用されます。Switch ノードは、1 つの条件ノード、1 つまたは複数のケース パス、および 1 つのデフォルト パスで構成されます。実行時に、条件ノードの式が実行されて、その結果の値が各ケース パスと関連付けられている値と比較されます。実行は、値が一致する最初のケース パスのアクティビティで継続されます (Switch ノードでは、ケース パスは左から右に評価されます)。どの条件も満たされない場合、デフォルト パスで定義されているアクティビティが実行されます。

この節では、Switch ノードにおいて、ビジネス プロセスに Switch ノードを追加する方法、条件を定義する方法、および代替実行パスのアクティビティを定義する方法について説明します。内容は以下のとおりです。

Decision ノードと Switch ノードの比較

Decision ノードは Switch ノードと何が異なるのでしょうか。

Decision ノードには、実行時に評価する条件を複数含めることができます。Decision ノードが定義される場合、ビジネス プロセスは (パスごとに 1 つの) 条件を順次形式で評価し、一番目の評価値が true であるパスを実行します (条件は Decision ノードの左から右へ評価されます)。言い換えると、最初の条件が false に評価された場合は、2 番目の条件が評価されます。2 番目の条件が false に評価された場合は、またその次の条件が評価されます。どの条件も満たされない場合、デフォルト パスで定義されているアクティビティが実行されます。

Switch ノードに含まれる条件は 1 つのみです。Switch ノードが定義される場合、ビジネス プロセスは単一の条件ノードで指定された式を評価し、その式の評価に基づいて実行パスを選択します。Switch ノードで実行可能なパスには、複数のケース パスと 1 つのデフォルト パスがあります。実行は、値が一致する最初のケース パスのアクティビティで継続されます (Switch ノードでは、ケース パスは左から右に評価されます)。条件式の評価値がどのケース パスにも一致しない場合、デフォルト パスで定義されたアクティビティが実行されます。

Switch ノードの作成

ビジネス プロセスでの Switch ノードの作成
  1. [パッケージ・エクスプローラー] ペインで、設計するビジネス プロセス (Process.java ファイル) を右クリックします。選択したビジネス プロセスがデザイン ビューに表示されます。
  2. [ノード パレット] が BEA Workshop for WebLogic Platform に表示されない場合は、BEA Workshop for WebLogic Platform メニューから [ウィンドウArrow symbolビューの表示Arrow symbolノード パレット] を選択します。
  3. [ノード パレット] の [XML Schema Switch] をクリックします。
  4. Switch ノードをデザイン ビューのビジネス プロセス上にドラッグ アンド ドロップし、1 つまたは複数の条件の評価に基づいて、複数の実行可能なパスのうちの 1 つへの分岐が必要となる時点のビジネス プロセス上に配置します。
  5. 図 9-1 に示すように、デザイン ビューが更新され、Switch ノードが表示されます。

    図 9-1 Switch ノード


    Switch ノード

Switch ノードの次の特性に注意してください。

関連トピック

Switch ノードの設計

Switch ノードの設計

Switch ノードのロジックを作成するには、次の手順を実行する必要があります。

切り替えロジックを設計するには
  1. [Switch] ノードをダブルクリックし、条件ビルダを呼び出します。
  2. 条件の左側が基づくオプションを選択します。
    • 変数 — このオプションは、実行時に、XML ドキュメントまたは MFL ファイルの要素の値に基づいて、ビジネス プロセスに一致を評価させる場合に選択します。
    • メソッド — このオプションは、実行時に、作成した Java コードから返された結果に基づいて、ビジネス プロセスに一致を評価させる場合に選択します。
    • ノード ビルダが表示するオプションは、変数またはメソッドのどちらを選択するかによって異なります。

  3. 前の手順 (スキーマまたはメソッド) で選択した設定に合わせて、ノード ビルダでの選択を完了します。
変数 (スキーマ)

次の手順では、XML または MFL スキーマに関連付けられたビジネス プロセス変数の選択方法について説明します。Switch ノードまたはケース ノードを定義するスキーマで 1 つまたは複数のノードを選択します。

  1. 分岐ビルダで、[変数の選択] をクリックしてビジネス プロセス変数を選択します。
  2. プロジェクトにビジネス プロセス変数のドロップダウン リストが表示されます。

  3. プロジェクトで作成した変数を選択するか、[変数の新規作成...] を選択して、Switch ノードで使用する新しい変数を作成します。
    1. 作成済みの変数を使用する場合は、条件を作成する XML または型付き非 XML を含んだ変数を選択します。
    2. たとえば、XML スキーマ (QuoteRequest.xsd) をプロジェクトにインポートし、(QuoteRequest.xsd スキーマに基づく) quoteRequest 型のビジネス プロセス変数 (requestXML) を作成する場合、図 9-2 に示すように、requestXML 変数がビジネス プロセス変数のドロップダウン リストに表示されます。

      図 9-2 変数の選択


      変数の選択

      注意 : ビジネス プロセス変数の作成とスキーマのプロジェクトへのインポートの詳細については、「ビジネス プロセス変数とデータ型」および「スキーマ ファイルの作成とインポート」を参照。

      変数を選択すると、その変数に関連付けられた XML スキーマが [ノードの選択] ペインに表示されます。

    3. 新しい変数を作成する場合は、ドロップダウン リストから [変数の新規作成...] を選択します。
    4. [変数を作成] ダイアログ ボックスが開きます。

    5. 新しい変数の名前を [変数名] フィールドに入力します。
    6. 変数が XML ドキュメントまたは MFL ファイルのどちらに基づくかによって [単純]、[XML] または [非 XML] オプションを選択し、表示された型オプションのリストで適切な変数の型を選択します。
    7. [OK] をクリックします。
    8. [変数を作成] ダイアログ ボックスが閉じ、[ノードの選択] ペインに新しい変数が表示されます。

  4. 図 9-3 は、requestXML 変数の例を構築する場合に、requestXML 変数が選択されているときに表示される XML スキーマを表しています。
  5. 図 9-3 XML スキーマ


    XML スキーマ

    前の図に示したように、この変数に割り当てられている XML ドキュメントの要素と属性は、ノードの階層として表現されます。この例 (QuoteRequest.xsd) のスキーマは、ルート要素 (quoteRequest) と子要素 (customerNameshipAddress、および widgetQuoteRequests) を指定します。一方、widgetQuoteRequest 要素は、反復要素 (widgetQuoteRequest) を指定します。(反復 XML 要素は、スキーマの CUI 表示に XML Schema で表されます。)

  6. [ノードの選択] パネルで、切り替えを定義する XML スキーマのノードを選択します。
  7. 選択したノードが [要素の選択] フィールドに表示されます。たとえば、前の例で要素 street を選択した場合、$requestXML/ns0:shipAddress/@street) が [要素の選択] フィールドに表示されます。
  8. [閉じる] をクリックし、デザイン ビューに戻ります。
  9. デザイン ビューでは、Decision ノードの条件は次のアイコンを表示します。

    • XML Schema は、このコードで定義する条件が XML ドキュメントの評価に基づくことを視覚的に表しています。
    • XML Schema は、このコードで定義する条件が MFL ファイルの評価に基づくことを視覚的に表しています。
  10. 作業内容を保存するには、[ファイルArrow symbol保管] を選択します。
メソッド
  1. Java メソッドの名前を [Java メソッド名] フィールドに入力します。
  2. 注意 : 既存のメソッドを選択するには、[Java メソッド名] フィールドの左側にある XML スキーマ をクリックします。
  3. 切り替えビルダの左下にある [コードの表示] をクリックします。
  4. ソース ビューが、Java メソッドが書き込まれた Process.java ファイルのコード行に表示されます。

  5. Java メソッドを編集し、[Design] タブをクリックしてデザイン ビューに戻ります。
  6. [閉じる] をクリックして、分岐ビルダを終了します。
  7. デザイン ビューでは、Switch ノードの [条件] に次のようなアイコン XML スキーマ が表示されることに注意してください。これは、Java メソッドを指定するためにソースコードで定義した条件を表しており、分岐はそれに従います。このノードに表示される条件をさらに変更するには、ソース ビューでソース コードを編集する必要があります。

ケース文を指定するには
  1. [Case] ノードをダブルクリックし、ケース ビルダを起動します。
  2. 条件の右側で従うオプションを選択します。
    • スキーマ — このオプションは、実行時に、XML ドキュメントまたは MFL ファイルの要素の値に基づいて、ビジネス プロセスに一致を評価させる場合に選択します。
    • メソッド — このオプションは、実行時に、作成した Java コードから返された結果に基づいて、ビジネス プロセスに一致を評価させる場合に選択します。
    • 定数または変数 — このオプションは、実行時に、指定する定数に基づいて、ビジネス プロセスで一致を評価する場合に選択します。
    • ノード ビルダが表示するオプションは、[スキーマ]、[メソッド]、[定数]、[変数] のいずれを選択しているかによって異なります。

  3. 前の手順で選択した内容 (スキーマ、メソッド、定数、または変数) に合わせて、ノード ビルダで選択を完了します。
スキーマ

[スキーマ] オプションを使用するときのケース ビルダの完成方法の詳細については、前の節の「変数 (スキーマ)」を参照してください。

メソッド

[メソッド] オプションを使用するときのケース ビルダの完成方法の詳細については、前の節の「メソッド」を参照してください。

定数または変数
  1. [] フィールドに、ケース文を一致させる定数値または変数を入力します。
  2. 注意 : [定数値] フィールドの右側にある XML スキーマ をクリックすると、既存の変数を選択するか、または新しい変数を作成するかを選択できます。
  3. ノード ビルダを閉じるには、[閉じる] をクリックします。
Switch ノードでパスへのアクティビティを追加するには

フローが実行時に Switch ノードに移行するときに評価される条件を定義すると、フローの実行パスを表すパスでのアクションを定義できます。

  1. Switch ノードの各パスに 1 つまたは複数のノードを追加し、パスの始めに Case ノードで定義する条件が、実行時に一致する場合に実行するアクティビティを定義します。
  2. これは、ビジネス プロセスのビジネス ロジックに適切なアクティビティを実行するノードであれば任意に実行可能です。たとえば、コントロールを使用して、データベース、JMS キュー、または EJB などの外部リソースと対話することができます。

  3. 1 つまたは複数のノードをデフォルト パスに追加して、実行時に一致するケース文がない場合に実行するアクティビティを定義します。デフォルト パス上のノードは、ビジネス プロセスのビジネス ロジックに適したアクティビティを定義するものであれば、どのようなノードでも可能です。

Switch ノードのパスでのアクティビティの追加が完了すると、分岐ロジックがビジネス プロセスに一連の条件およびアクションとして表示されます。

  1. 作業を保存するには、[ファイルArrow symbol保管] を選択します

関連トピック

ビジネス プロセス内のノードのグループ化

Switch ノードの作成

例外の処理

メッセージ パスの追加

タイムアウト パスの追加


  ページの先頭       前  次