BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

BPM ユーザーズ ガイド

 前 次 目次 PDFで表示  

ワークフローの作成

注意: Worklist クライアント アプリケーションは WebLogic Integration リリース 7.0 より非推奨となりました。代替機能に関する詳細については、『WebLogic Integration リリース ノート』を参照してください。

チュートリアルのこの節では、Order Processing ワークフローの作成方法を説明します。ワークフローの概要を説明した後で、以下の操作について説明します。

 


Order Processing ワークフローの設計概要

Order Processing ワークフローは、受注から顧客信用情報のチェックや在庫チェックまでのプロセスを処理します。次に、コントロールを、出荷と請求の処理を行う Order Fulfillment ワークフローに渡します。Order Fulfillment プロセスが終了すると、コントロールは Order Processing ワークフローに戻され、そこで受注処理完了の確認が行われます。

インタフェース ビューのワークフローを高レベルで描写した図を、以下に表示しています。図中で番号が振られている手順については、図の下にある表で説明します。表では、実際のプロセスをワークフロー モデルにマップしています。

図5-1 Order Processing ワークフロー : インタフェース ビュー


 

表5-1 Order Processing ワークフローの概要

プロセス

実装

処理システムによってデータが読み取られ、ID 番号が付けられて受理されます。

1. ワークフローは XML ドキュメントの受信によって開始される。

その受注はカスタマサービスに転送され、顧客の信用情報がチェックされます。


2. XML メッセージが Worklist ユーザに送信され、信用チェックの確認が行われる。

3. 分岐ノードは、Worklist ユーザの応答がはいかいいえかを評価する。

信用チェックができなかった場合、顧客サービス担当者は顧客に通知して、正しい信用情報を取得する。これ以降のプロセスは手動で行う。

4. 顧客への問い合わせタスクを Worklist ロールに割り当て、ワークフローは終了する。

信用チェックが通ると、商品 ID を基に受注商品の現在の目録がデータベースでチェックされ、出荷可能な商品の数量と受注数量が比較されます。

5. EJB が呼び出され、在庫チェックが行われる。

6. 分岐ノードによって、在庫が十分かどうかが評価される。

在庫が十分ではない場合は、次の新規入庫の到着までその受注は保留されます。新規入庫の在庫表が受領されると、その在庫が受注に対応可能であると確認できるまで、手順 5 が繰り返されます。

7. イベント ノードは XML ドキュメントを受信するまで待機する。イベントが開始すると、フローは在庫チェック タスク ノードにループ バックする。

在庫が十分な場合は、受注が 2 人の担当者に同時に転送される。担当者の 1 人は出荷を担当し、もう 1 人は受注に対する請求書生成をシステムに指示する。

8. Order Fulfillment サブワークフローが呼び出される。

次に、受注品が出荷されたことがシステムで確認され、顧客に電子メールで通知されます。


9. 電子メールが顧客に送信される。

10. ワークフローが終了する。

出荷前のトランザクションにおけるどの時点でも、顧客からの通知により受注をキャンセルできます。

11. イベント ノードは XML ドキュメントを受信するまで待機する。


 

 


テンプレートの作成

ワークフローのテンプレートを作成するときに、それに関連付けするオーガニゼーションを指定します。

注意: 1 つのテンプレートを複数のオーガニゼーションに関連付ける場合、そのテンプレートに加えたすべての変更は、他のオーガニゼーションがそのテンプレートを表示すると自動的に反映されます。

Order Processing のテンプレートを作成する手順は次のとおりです。

  1. Studio のフォルダ ツリーで [テンプレート] フォルダを右クリックします。表示されるポップアップ メニューから [テンプレートの作成] を選択します。[テンプレートのプロパティ] ダイアログ ボックスが表示されます。

    図5-2 [テンプレートのプロパティ] ダイアログ ボックス


     

  2. [名前] フィールドに、Order Processing と入力します。[オーガニゼーション] リスト ボックスで [CDExpress] のチェック ボックスをチェックします。

  3. [OK] をクリックします。Order Processing のテンプレートが、フォルダ ツリーの [テンプレート] フォルダの下に追加されます。

 


テンプレート定義の作成

テンプレート定義を作成するときに、有効期限の開始と終了を指定します。デフォルトでは、開始日は現在の日付であり、終了日は指定されていません。

新しいワークフロー テンプレートのテンプレート定義を作成する手順は次のとおりです。

  1. [テンプレート] フォルダの下の Order Processing のテンプレートを右クリックします。表示されるポップアップ メニューから [テンプレート定義を作成] を選択します。[テンプレート定義 Order_Processing] ダイアログ ボックスが表示されます。

    図5-3 [テンプレート定義 Order_Processing] ダイアログ ボックス


     

  2. (省略可能)[開始] と [終了](ワークフローを確実に実行可能な期間)を入力し、[OK] をクリックします。

開始ノード、タスク ノード、完了ノード、そしてタスク ノード内に 2 種類のアクションを表示するシンプルなデフォルトのワークフロー設計ウィンドウが開きます。タスクをユーザ Workflow Attribute (“initiator”) に割り当てと タスクに完了マークを付ける を割り当てます。この 2 つは、実行可能なワークフローの定義に最低限必要なワークフロー オブジェクトです。

図5-4 [ワークフロー設計] ウィンドウ


 

 


ワークフローの作図

[ワークフロー設計] ウィンドウのツールバー アイコンを使用して、独自のワークフローを作図できます。この節では、ノードシェイプをワークフロー設計領域に配置し、これらを接続して名前を変更することにより、Order Processing ワークフローを作図します。

シェイプを配置する

このワークフローの作図では次のシェイプを使用します。

シェイプを追加する手順は次のとおりです。

  1. ツールバー上のシェイプのアイコンをクリックします。

  2. ワークフロー設計領域の任意の場所でクリックします。

  3. マウスのボタンを放してシェイプを領域内にドロップします。

注意: シェイプを配置すると、最初に番号が割り当てられます。ただし、ワークフロー内のシェイプの最終的な順番は重要ではありません。

ノード名を変更する

ノードを接続する前に、分かりやすくするためにノード名を変更します。

注意: 分岐ノードを、通常は変数を含む式の名前に変更します。最初に条件式に使用する変数を設定する必要があるため、ワークフローのノードの定義で分岐ノードに名前を付けます。

タスク及びイベント ノードの名称変更 :

  1. ワークフロー設計領域で、ノードをダブルクリックします。[プロパティ] ダイアログ ボックスが表示されます。

  2. タスク ノードの [名前] フィールドまたはイベント ノードの [説明] フィールドに、ノード名を入力します。次の表を参照してください。


     

  3. [OK] をクリックして、ダイアログ ボックスを終了します。これで、ワークフロー作図領域のノード上にノード名が表示されます。

  4. 表にあるノードすべてに対して、1 から 3 までの手順を繰り返します。

注意: 入力するノード名が表内のノード番号と正確に対応していなくても気にしないでください。フロー内のシェイプの最終的な順番は重要ではありません。

シェイプを配置してノードを接続する

次に、シェイプを自由に配置して接続し、最終的に次の図のようにフローを作成します。

図5-5 Order Processing ワークフロー : 完成図


 

シェイプを移動するには、ワークフロー設計領域内の任意の位置にドラッグ アンド ドロップします。

接続するには、次の 2 つの方法があります。1 つはツールバーから行う方法、もう 1 つは、ノードの [プロパティ] ダイアログ ボックスから行う方法です。

ツールバーから接続する手順は次のとおりです。

  1. ツールバー上の [コネクタ] ボタンをクリックします。

  2. 接続元のノードをクリックし、接続先のノードにドラッグします。次に、マウスのボタンを放して接続を確定します。分岐ノードの場合は、True または False 接続のどちらかを選択するよう求められます。

ノードの [プロパティ] ダイアログ ボックスから接続するには、次の手順で行います。

  1. 接続の起点とする接続元のノードをダブルクリックします。そのノードの [プロパティ] ダイアログ ボックスが表示されます。

  2. [次へ] タブで、接続先のノードを選択する。分岐ノードの場合は、[次の True] タブと [次の False] タブからノードを選択します。

コネクタを削除するには、次の 2 つの方法があります。1 つは作図領域から削除する方法、もう 1 つはノードの [プロパティ] ダイアログ ボックスから削除する方法です。

作図領域内からコネクタを削除する手順は次のとおりです。

  1. 削除したいコネクタ上で右クリックします。表示されるポップアップ メニューから [コネクタを削除] を選択します。

  2. 確認ダイアログ ボックスが表示されたら [はい] を選択し、削除を確認します。

ノードの [プロパティ] ダイアログ ボックスからコネクタを削除する手順は、次のとおりです。

  1. 接続元のノードをダブルクリックする。ノードの [プロパティ] ダイアログ ボックスを起動します。

  2. [次へ] タブで、接続元のノードに接続されている接続先のノードの選択を解除します。分岐ノードの場合は、[次の True] と [次の False] タブからノードの選択を解除します。

 


ワークフロー ラベルの追加

ワークフローの式 : ワークフロー変数を設定 と ユーザにタスクを割り当て アクションの表示で、Order Processing Trigger のワークフローでは、変数 OrderID が 1 づつ加算されるように設定しました。この節では、実行時アプリケーションにその情報を表示するラベルを作成し、ワークフローの各インスタンスごとにラベルがユニークになるようにします。

ワークフロー ラベルを作成するには、ワークフロー式を指定します。Order 番号のラベルを表示するには、次の式を使用します。

コード リスト 5-1 ワークフロー ラベル

"Order " + $OrderID

ラベルを追加するには、Order Processing Trigger ワークフロー内にすでに存在する変数に対応する、Order ID 変数も設定する必要があります。Expression Builder 内から変数を設定できるので、変数の設定と式の定義を結合する手順を次に示します。

Expression Builder で式を設定する

OrderID 変数を設定し、ワークフロー ラベルを定義する手順は次のとおりです。

  1. Order Processing のテンプレート定義を開き、フォルダ ツリー内の定義フォルダ、またはワークフロー設計ウィンドウ内の任意の場所で右クリックして、表示されるポップアップ メニューから [プロパティ] を選択します。[テンプレート定義 Order_Processing] ダイアログ ボックスが表示され、そこに [ワークフロー ラベル] フィールドができています。

    注意: このフィールドは、初めてテンプレート定義を作成したときは使用できません。その後、このダイアログ ボックスを開いて初めて有効になります。

    図5-6 [テンプレート定義 Order_Processing] ダイアログ ボックスの [ワークフロー ラベル] フィールド [ワークフロー ラベル] フィールド


     

  2. [ワークフロー ラベル] フィールドの隣にある ボタンをクリックします。[Expression Builder] が表示されます。

    図5-7 [Expression Builder] による変数の設定


     

  3. [変数] ラジオ ボタンをオンにし、右側のペインにある変数リストの中で、New をダブルクリックします。[変数プロパティ] ダイアログ ボックスが表示されます。

    図5-8 [変数プロパティ] ダイアログ ボックス


     

  4. 下記の表にある OrderID 変数の関連情報を入力します。


     

    これで、新しい変数がフォルダ ツリーの [変数] フォルダに表示されます。

  5. [OK] をクリックして、[変数プロパティ] ダイアログ ボックスを終了します。これで、[Expression Builder] ダイアログ ボックスの [式] フィールドにこの変数が表示されます。

    図5-9 Expression Builder の使い方


     

  6. リスト5-1で表示された式の設定を続けます。設定するには、以下のいずれかの方法を行います。

    終了すると、[式] ウィンドウは次のようになります。


     

  7. [OK] をクリックして、[Expression Builder] ダイアログ ボックスを終了します。これで、[テンプレート定義] のプロパティ ダイアログ ボックスの [ワークフロー ラベル] フィールドに、設定した式が表示されます。


     

  8. [OK] をクリックして、[テンプレート定義 Order_Processing] ダイアログ ボックスを終了します。

 


ワークフローのアクティブ化

ワークフローを実行可能な状態にするには、ワークフローをアクティブにする必要があります。

Order Processing ワークフローをアクティブにする手順は、次のとおりです。

  1. Order Processing のテンプレート定義を開き、フォルダ ツリー内の定義フォルダ、またはワークフロー設計ウィンドウ内の任意の場所で右クリックして、表示されるポップアップ メニューから [プロパティ] を選択します。[アクティブ] チェック ボックスがある [テンプレート定義 Order_Processing] ダイアログ ボックスが表示されます。

    注意: このチェック ボックスは、初めてテンプレート定義を作成したときは使用できません。その後、このチェック ボックスを開いて初めて有効になります。

    図5-10 [テンプレート定義 Order_Processing] ダイアログ ボックスの [ワークフロー ラベル] フィールド [アクティブ] チェック ボックス


     

  2. [アクティブ] チェック ボックスをチェックします。

  3. [OK] をクリックして、ダイアログ ボックスを終了します。

 


ワークフローの保存

ワークフローを少なくとも一度保存しないと、ワークフローは実行できません。

Order Processing ワークフローを保存するには、テンプレート定義を開き、フォルダ ツリーでこのフォルダを右クリックして、表示されるポップアップ メニューから [保存] を選択します。

次の節で、ワークフローに必要なすべての変数とアクションを追加して定義します。この後、チュートリアルを続ける場合は、一定の間隔でワークフローを保存してください。

 

ページの先頭 前 次