第5章 Business Central での MortgageApprovalProcess ビジネスプロセス
ビジネスプロセスは、フローチャートを使用して一連の手順を順番に説明する図です。ビジネスプロセスは、接続を使用して相互にリンクしているノードの集まりで構成されています。各ノードはプロセス全体のうちの 1 手順を表し、接続はノードが次のノードに移行する方法を指定します。
Mortgage_Process サンプルには、以下の事前定義済みの MortgageApprovalProcess ビジネスプロセスが含まれます。
5.1. 既存の MortgageApprovalProcess プロセスアプリケーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
このチュートリアルでは、既存の MortgageApprovalProcess ビジネスプロセスを削除し、もう一度作成して、ビジネスプロセスの作成方法についてさらに理解できるようにします。同じ名前で新しいビジネスプロセスを作成し、サンプルプロジェクトがエラーなしにデプロイし、テストできるようにします。
手順
-
Business Central で、Menu
Design Projects の順にクリックし、Mortgage_Process をクリックします。 -
プロジェクトアセットの検索ボックスに
MortgageApprovalProcess.bpmn
と入力し、MortgageApprovalProcess ビジネスプロセスをクリックします。 - ツールバーから Delete を選択し、Delete をクリックしてこのアセットの削除を確定します。
5.2. 新規の MortgageApprovalProcess ビジネスプロセスアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、MortgageApprovalProcess ビジネスプロセスを構成する各タスク、接続、ゲートウェイの作成方法を詳しく説明します。
Red Hat Process Automation Manager には、ビジネスプロセスの作成を簡略化する、事前定義済みのノードタイプが各種含まれます。事前定義済みのノードパネルは、ダイアグラムエディターの左側に置かれます。
5.2.1. 住宅ローンの検証 リンクのコピーリンクがクリップボードにコピーされました!
住宅ローン検証のビジネスプロセスは、先に進む前に、新しい申請書に必要なデータが含まれるかどうかを判断します。指定したデータ要件をすべて満たすと、申請書は、住宅ローン計算のビジネスプロセスに進みます。
手順
-
Business Central で、Menu
Design Projects の順にクリックし、Mortgage_Process をクリックします。 -
Add Asset
Business Process の順にクリックします。 以下の値を入力します。
-
Business Process:
MortgageApprovalProcess
Package:
com.myspace.mortgage_app
を選択します。Package は、既存のプロジェクト内で、アセットの作成先となる場所を指定します。この例では、
com/myspace/mortgage_app
に作成します。
-
Business Process:
- OK をクリックすると、ダイアグラムエディターが開きます。
-
右上の Diagram properties
アイコンをクリックします。
-
スクロールダウンして Process Data を展開し、Process Variables セクションの
をクリックします。
以下の値を入力します。
-
Name:
application
. -
Data Type:
Application [com.myspace.mortgage_app]
-
Name:
5.2.2. 外向き接続と排他ゲートウェイの作成 リンクのコピーリンクがクリップボードにコピーされました!
排他ゲートウェイに外向きの接続を作成します。排他的ゲートウェイを使用して、利用可能なデータをもとに、意思決定を行い、イベントに対応します。
手順
開始イベントをクリックして、開始イベントから排他ゲートウェイに外向き接続を作成します。
排他ゲートウェイからタスクに外向き接続を作成します。
新規タスクをビジネスルールタスクに変換します。
-
ビジネスルールタスクをクリックし、Diagram properties パネルの Name フィールドに
Validation
を入力します。 - Implementation/Execution を展開し、Rule Flow Group フィールドで validation を選択します。
On Exit Action フィールドに以下の Java 式を定義します。
System.out.println(application.getProperty());
System.out.println(application.getProperty());
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
下方向にスクロールして Data Assignments セクションを展開し、Assignments の横にある
をクリックします。
Validation Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。
- 保存 をクリックします。
- ダイアグラムエディターで Save をクリックし、Save をクリックして変更を確定します。
5.2.3. 検証データの定義 リンクのコピーリンクがクリップボードにコピーされました!
このセクションは、アプリケーションデータが正しいかどうか、またはエラーや情報の不足があるどうかを判断するデータを定義する方法を説明します。
手順
Validation タスクをクリックし、排他ゲートウェイへの外向き接続を作成します。
排他ゲートウェイから、新しいビジネスルールタスクへの外向き接続を作成します。
作成した接続をクリックします。
-
Diagram Properties パネルで、Name フィールドに
Invalid
を入力します。 - Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
-
Drools 式フィールドに
ValidationErrorDO()
と入力します。 -
ビジネスルールタスクをクリックし、Diagram properties パネルの Name フィールドに
Retract Validation
を入力します。 -
Implementation/Execution を展開し、Rule Flow Group フィールドで
error
を選択して入力します。 Retract Validation タスクから新規ユーザータスクに外向き接続を作成します。
-
ユーザータスクをクリックし、Diagram Properties パネルの Name フィールドに
Correct Data
を入力します。 Implementation/Execution を展開して以下の値を入力します。
-
Task Name:
CorrectData
-
Groups:
broker
-
Task Name:
-
Assignments の横にある
をクリックします。Correct Data Data I/O ウィンドウで Add をクリックし、以下の割り当てを作成します。
Correct Data Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。
- 保存 をクリックします。
Correct Data を、最初の排他ゲートウェイにつなげます。ワークフローは、以下のダイアグラムのようになります。
5.2.4. 住宅ローンの計算 リンクのコピーリンクがクリップボードにコピーされました!
住宅ローンの計算のビジネスプロセスは、申請者の住宅ローンの借入限度を決定します。
手順
2 つ目の排他ゲートウェイに戻ります。ビジネスルールタスクへの外向き接続を作成します。
-
作成した接続をクリックし、Diagram Properties パネルの Name フィールドに
Valid
と入力します。 -
Implementation/Execution を展開し、Condition Expression セクションの Expression を選択して Drools 式のフィールドに
not ValidationErrorDO()
と入力します。 -
作成したビジネスルールタスクをクリックし、Diagram Properties パネルの Name フィールドに
Mortgage Calculation
と入力します。 -
Implementation/Execution を展開して、Rule Flow Group ドロップダウンメニューから
mortgagecalculation
を選択します。 -
Data Assignments を展開し、Assignments の横にある
をクリックします。
Mortgage Calculation Data I/O ウィンドウで Add をクリックして以下の割当を作成し、Save をクリックします。
キャンバスで空のスペースをクリックし、スクロールダウンし、Process Data を展開し、Process Variables の横にある
をクリックします。以下の値を入力します。
-
Name:
inlimit
-
Date Type:
Boolean
-
Name:
Mortgage Calculation タスクからユーザータスクへの外向き接続を作成します。
ユーザータスクをクリックして、Name フィールドに
Qualify
を入力して、Implementation/Execution を展開して以下の値を入力します。-
Task Name:
Qualify
-
Groups:
approver
Assignments の横にある
をクリックします。Qualify Data I/O ウィンドウで、Add をクリックして、以下の割り当てを作成します。
-
Task Name:
- Save をクリックします。キャンバスで Save をクリックして変更を確定します。
Qualify タスクから排他ゲートウェイに外向き接続を作成します。
- ノードパネルで GATEWAYS アイコンをクリックします。
- Exclusive をクリックし、Qualify タスクの右側にドラッグします。
- 排他ゲートウェイからの外向き接続を作成し、ユーザータスクに連結します。
-
接続をクリックして、Diagram properties パネルの Name フィールドに
in Limit
と入力します。 - Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
Process Variable ドロップダウンメニューから inlimit を選択し、Condition ドロップダウンメニューから Is true を選択します。
ユーザータスクをクリックし、Name フィールドに
Final Approval
を入力して、Implementation/Execution を展開してから以下の値を入力します。-
タスク名:
finalapproval
-
グループ:
manager
-
タスク名:
Assignments の横にある
をクリックします。Final Approval Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。
- Save をクリックします。キャンバスで Save をクリックして変更を確定します。
5.2.5. 頭金の増額 リンクのコピーリンクがクリップボードにコピーされました!
頭金の増額ビジネスプロセスは、頭金を増額することで、申請者がローンを組めるかどうかを確認します。最終結果は、申請者が頭金を増額できるかどうかに基づいて、ローンが最終的に承認または却下されます。
手順
Final Approval ユーザータスクからの外向き接続を作成し、終了イベントに連結します。
Final Approval ユーザータスクに連結する排他ゲートウェイに戻ります。2 つ目の外向き接続を作成し、新しいユーザータスクに連結します。
-
接続をクリックして、Diagram properties パネルの Name フィールドに
Not in Limit
と入力します。 - Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
- Process Variable ドロップダウンメニューから inlimit を選択し、Condition ドロップダウンメニューから Is false を選択します。
キャンバスで空のスペースをクリックし、スクロールダウンし、Process Data を展開し、Process Variables の横にある
をクリックします。以下の値を入力します。
-
Name:
incdownpayment
Data Type:
Boolean
-
Name:
-
新規ユーザータスクをクリックして、Diagram properties パネルで Name に
Increase Down Payment
を入力します。 Implementation/Execution を展開して以下の値を入力します。
-
タスク名:
incdown
-
Groups:
broker
Assignments の横にある
をクリックします。Increase Down Payment Data I/O ウィンドウで Add をクリックして、以下の割り当てを作成します。
-
タスク名:
- Save をクリックします。キャンバスで Save をクリックして変更を確定します。
- Increase Down Payment タスクから排他ゲートウェイへの外向き接続を作成します。
- 排他ゲートウェイから終了イベントに外向き接続を作成します。
-
接続をクリックして、Diagram properties パネルの Name フィールドに
Down payment not increased
と入力します。 - Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
- Process Variable ドロップダウンメニューから incdownpayment を選択し、Condition ドロップダウンメニューから Is false を選択します。
- 排他ゲートウェイからの外向き接続を作成し、ユーザータスクに連結します。
-
接続をクリックして、Diagram properties パネルの Name フィールドに
Down payment increased
と入力します。 - Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
- Process Variable ドロップダウンメニューから incdownpayment を選択し、Condition ドロップダウンメニューから Is true を選択します。
- Save をクリックし、Save をクリックして変更を確定します。
図5.1 ビジネスプロセスの最終バージョン