第4章 ケース定義の設計
Business Central のプロセスデザイナーを使用してケースを設計できます。ケース設計は、ケース管理に基づいて、各ケースに固有の目的およびタスクを設定します。ケースフローは、動的タスクまたはプロセスを追加して、実行時に動的に変更できます。この手順では、同じケース定義を作成して、ケース定義設計プロセスを学びます。
Business Central の IT_Orders サンプルプロジェクトには次の orderhardware ビジネスプロセスケース定義が含まれています。
図4.1 orderhardware ビジネスプロセスケース定義
前提条件
- Business Central で新しいケースを作成している。詳細については、2章新しい IT_Orders ケースプロジェクトの作成 を参照してください。
- データオブジェクトを作成している。詳細については、3章データオブジェクト を参照してください。
手順
- Business Central にログインし、Menu → Design → Projects の順にクリックし、IT_Orders_New をクリックします。
- Add Asset → Case Definition の順にクリックします。
Create new Case definition ウィンドウで、次の必要な情報を追加します。
-
Case definition:
orderhardware
を入力します。これは通常、ケース管理されているケースまたはプロジェクトの主題です。 - Package: com.myspace.it_orders_new を選択して、ケースファイルの作成場所を指定します。
-
Case definition:
- OK をクリックしてプロセスデザイナーを開きます。
ケース内で使用されるサブプロセス、サブケース、およびビジネスルールにアクセス可能なケースファイル変数に値を定義します。
- 右上の Diagram properties アイコンをクリックします。
下方向にスクロールして Case Management を展開し、Case File Variables セクションの をクリックして、次の値を入力します。
図4.2 orderhardware ケースファイル変数
注記次のケースファイル変数は、カスタムのデータ型です。
- hwSpec: org.jbpm.document.Document (この値の型)
- survey: Survey [com.myspace.it_orders_new] (この値を選択)
- Save をクリックします。
ケースに関係するロールを定義します。
- 右上の Diagram properties アイコンをクリックします。
下方向にスクロールして Case Management を展開し、Case Roles セクションの をクリックして、次の値を入力します。
図4.3 orderhardware ケースロール
-
owner
: ハードウェア注文リクエストを行う従業員。ロールの基数は1
に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。 -
manager
: 従業員のマネージャー。リクエストされたハードウェアを承認または却下する担当者。ロールの基数は1
に設定します。これは、このロールに割り当てるユーザーまたはグループが 1 つであることを示しています。 -
supplier
: システム内の IT ハードウェアの利用可能なサプライヤー。ロールの基数は2
に設定します。つまり、このロールに複数のサプライヤーを割り当てることができます。
-
- Save をクリックします。
4.1. Place order サブプロセスの作成
Place order サブプロセスを作成します。これは、別のビジネスプロセスで、サプライヤーが実行します。このサブプロセスは、4章ケース定義の設計 で説明されているように、ケースの実行中に発生する再利用可能なプロセスです。
前提条件
- Business Central で新しいケースを作成している。詳細については、2章新しい IT_Orders ケースプロジェクトの作成 を参照してください。
- データオブジェクトを作成している。詳細については、3章データオブジェクト を参照してください。
手順
- Business Central にログインし、Menu → Design → Projects → IT_Orders_New の順にクリックします。
- プロジェクトメニューから Add Asset → Business Process の順にクリックします。
Create new Business Process ウィザードで、以下の値を入力します。
-
Business Process:
place-order
-
Package: Select
com.myspace.it_orders_new
-
Business Process:
- OK をクリックすると、ダイアグラムエディターが開きます。
- キャンバスの空きスペースをクリックし、右上隅の Diagram properties アイコンをクリックします。
下方向にスクロールして Process Data を展開し、Process Variables セクションの をクリックして、次の値を入力します。
- Save をクリックします。
開始イベントをキャバスにドラッグして、開始イベントからタスクに外向き接続を作成し、新しいタスクをユーザータスクに変換します。
-
ユーザータスクをクリックし、Diagram Properties パネルの Name フィールドに
Place order
を入力します。 -
Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに Select → New をクリックして
supplier
を入力します。 Assignments フィールドの をクリックし、以下を追加します。
初めて入力を割り当てる場合は、Data Type に Custom を選択して、
org.jbpm.document.Document
と入力します。- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Approved order #{CaseId} to be placed
Place order ユーザータスクから外向き接続を作成し、終了イベントに接続します。
- Save をクリックして、変更を確定します。
4.2. マネージャー承認のビジネスプロセスの作成
マネージャーの承認プロセスは、注文を受ける否かを決定します。
手順
- Business Central で、Menu → Design → Projects → IT_Orders_New → orderhardware Business Process の順にクリックします。
「prepare hardware spec」ユーザータスクを作成して設定します。
- 開始イベントをキャバスにドラッグして、開始イベントからタスクに外向き接続を作成し、新しいタスクをユーザータスクに変換します。
- 新規ユーザータスクをクリックして、画面の右上隅の Properties アイコンをクリックします。
-
Name フィールドに
Prepare hardware spec
と入力します。 -
Implementation/Execution を展開し、Groups メニューで Add をクリックし、さらに Select → New をクリックして
supplier
を入力します。 -
Task Name フィールドに
PrepareHardwareSpec
と入力します。 Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Prepare hardware specification for #{initiator} (order number #{CaseId})
Assignments フィールドの をクリックし、以下を追加します。
- Save をクリックします。
「manager approval」ユーザータスクを作成して構成します。
- Prepare hardware spec ユーザータスクをクリックして、新しいユーザータスクを作成します。
- 新規ユーザータスクをクリックして、画面の右上隅の Properties アイコンをクリックします。
-
ユーザータスクをクリックし、Properties パネルの Name フィールドに
Manager approval
と入力します。 -
Implementation/Execution を展開し、Actors メニューで Add をクリックし、さらに Select → New をクリックして
manager
と入力します。 -
Task Name フィールドに
ManagerApproval
と入力します。 Assignments フィールドの をクリックし、以下を追加します。
- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Approval request for new hardware for #{initiator} (order number #{CaseId})
On Exit Action フィールドに、以下の Java 式を入力します。
kcontext.setVariable("caseFile_managerDecision", approved);
- Save をクリックします。
Manager approval ユーザータスクをクリックして、データに基づく排他的論理和 (XOR) ゲートウェイを作成します。
「place order」の再利用可能なサブプロセスを作成して設定します。
Object Library から Subprocesses を展開して、Reusable をクリックします。データに基づく排他的論理和 (XOR) ゲートウェイの右側のキャンバスに新しい要素をドラッグします。
データに基づく排他的論理和 (XOR) ゲートウェイをサブプロセスに接続します。
- 新規サブユーザータスクをクリックして、画面の右上隅の Properties アイコンをクリックします。
-
Name フィールドに
Place order
と入力します。 Data Assignments を展開し、Assignments フィールドの をクリックし、以下を追加します。
- データに基づく排他的論理和 (XOR) ゲートウェイからサブプロセスへの接続をクリックし、Properties アイコンをクリックします。
Implementation/Execution を手内して Condition を選択肢、以下の条件式を設定します。
- Place order ユーザータスクをクリックし、終了イベントを作成します。
「order rejected」ユーザータスクを作成して設定します。
- データに基づく排他的論理和 (XOR) ゲートウェイをクリックして、新規ユーザータスクを作成します。
新規タスクを Place order タスクの下に並ぶようにドラッグします。
- 新規ユーザータスクをクリックして、画面の右上隅の Properties アイコンをクリックします。
-
Name フィールドに
Order rejected
と入力します。 -
Implementation/Execution を展開し、Task Name フィールドに
OrderRejected
と入力します。 -
Actors メニューで Add をクリックし、さらに Select → New をクリックして
owner
と入力します。 Assignments フィールドの をクリックし、以下を追加します。
- Save をクリックします。
Skippable チェックボックスを選択し、Description フィールドに次の文字を入力します。
Order #{CaseId} has been rejected by manager
- Order rejected ユーザータスクをクリックし、終了イベントを作成します。
- Save をクリックします。
- データに基づく排他的論理和 (XOR) ゲートウェイから Order rejected ユーザータスクへの接続をクリックし、Properties アイコンをクリックします。
Implementation/Execution を手内して Condition を選択肢、以下の条件式を設定します。
Save をクリックします。
図4.4 マネージャー承認のビジネスプロセス