ビジネスプロセスの使用ガイド

Red Hat Process Automation Manager 7.8

Red Hat Customer Content Services

概要

本書は、Red Hat Process Automation Manager 7.8 で住宅ローン申請プロジェクトを作成してテストする方法を説明します。本書の手順は、Business Central に同梱されている Mortgage_Process サンプルプロジェクトをベースにしています。

前書き

ビジネスルールおよびプロセス開発者は、Red Hat Process Automation Manager の Business Central を使用し、固有のビジネス要件に合ったビジネスプロセスを設計できます。Red Hat Process Automation Manager は、参考用として、Business Central でビジネスアセットサンプルなど、サンプルプロジェクトを提供しています。本書では、Business Central やプロセスデザイナーに慣れていただけるように、新しい住宅ローンプロセスプロジェクト、データオブジェクト、ビジネスプロセスを作成する方法を説明しています。

次に Business Central に含まれている Mortgage_Process のサンプルプロジェクトを参照して、サンプルプロジェクトのビジネスルール、デシジョンテーブル、フォームをレビューします。Mortgage_Process のサンプルプロジェクトをビルドしてデプロイし、定義したプロジェクトの機能を実行します。

前提条件

第1章 概要

Business Central では、ビジネスプロセスの自動化ができます。ビジネスプロセスは、一連の手順の実行すべき順番を説明し、事前定義済みのノードや接続で構成される図のことです。各ノードは、プロセス内の手順 1 つを表し、接続はノード間の移動の方法を指定します。

たとえば、住宅ローンサービスを提供する銀行で、住宅ローン部門が、Business Central を使用して、住宅ローンの全ビジネスプロセスを作成していきます。

顧客がローンを組んで新しい不動産物件を購入する場合に以下の手順が発生します。

  1. 顧客は、住宅ローンの申請記入を補助してくれる、銀行内のブローカーに問い合わせます。
  2. ブローカーは、顧客の給料、社会保障番号、不動産の販売価格、必要なローン金額など、不動産と顧客に関する情報を集めます。
  3. 次に、ブローカーは顧客の代わりに依頼を提出します。

顧客が申込書を提出するたびに、新しいプロセスインスタンスが作成されます。これにより、各要求の評価品質の一貫性が保たれ、要求ごとの状態を完全に視覚化し、プロセスを効率的かつ効果的に進めることができます。

第2章 Business Central のプロジェクトおよびビジネスアセットの例

Business Central には、プロジェクトサンプルがビジネスアセット例と合わせて同梱されており、ルールやプロセス、他のアセットを、独自の Red Hat Process Automation Manager プロジェクトに作成するときに参考として使用できます。各プロジェクトは、Red Hat Process Automation Manager の意思決定管理やビジネス最適化アセットおよび論理をさまざまな角度から例示するように設計されています。

注記

Red Hat は、Red Hat Process Automation Manager ディストリビューションに含まれるコードサンプルのサポートはしていません。

以下のプロジェクト例が、Business Central で利用できます。

  • Evaluation_Process: (プロセス自動化) ビジネスプロセスアセットを使用したプロセス評価。実績に基づいて従業員を評価します。
  • Mortgage_Process (住宅ローン): (プロセス自動化) ビジネスプロセスとデシジョンアセットを使用した住宅ローン審査プロセス。申し込み者のデータと資格を基にローンの申し込み資格を判定します。
  • IT_Orders: (プロセス自動化およびケース管理) ビジネスプロセスとケース管理アセットを使用したケース注文。ニーズと承認に基づいて IT ハードウェアを注文します。
  • Traffic_Violation: (DMN でのデシジョン管理) Decision Model and Notation (DMN) モデルを使用した交通違反のデシジョンサービス。交通違反をもとに運転手の罰則および免許停止を判断します。
  • Mortgages (住宅ローン): (ルールでのデシジョン管理) ルールベースのデシジョンアセットを使用した住宅ローン審査プロセス。申し込み者のデータと資格を基にローンの申し込み資格を判定します。
  • Employee_Rostering (従業員勤務表) : (ビジネス最適化) デシジョンおよびソルバーアセットを使用した従業員勤務表の最適化。スキルに基づいて従業員をシフトに割り当てます。
  • OptaCloud: (ビジネス最適化) デシジョンおよびソルバーアセットを使用したリソース割り当ての最適化。リソースが制限されるなかでプロセスをコンピューターに割り当てます。
  • Course_Scheduling: (ビジネス最適化) コースのスケジュールとカリキュラム決定プロセス。講師を教室に割り当て、コースの競合や教室の収容能力といった要素を基にして学生のカリキュラムを決定します。
  • Dinner_Party: (ビジネス最適化) ガイド付きデシジョンテーブルを使用したゲストの座席割り当ての最適化。各ゲストの職種、政治的信条、既知の関係を基にしてゲストに座席を割り当てます。

2.1. Business Central のプロジェクトおよびビジネスアセット例へのアクセス

Business Central のプロジェクト例を使用すると、独自の Red Hat Process Automation Manager プロジェクトにルールや他のアセットを作成するときに、参考としてビジネスアセットを確認できます。

前提条件

手順

  1. Business Central で、MenuDesignProjects に移動します。既存のプロジェクトがある場合には、MySpace のデフォルトのスペースをクリックして、Add Project プルダウンメニューから Try Samples を選択して、サンプルにアクセスできます。既存のプロジェクトがない場合には、Try samples をクリックします。
  2. 各サンプルプロジェクトの説明を読んで、どのプロジェクトが最適か確認します。各プロジェクトは、Red Hat Process Automation Manager のプロセス自動化、意思決定管理やビジネス最適化アセットおよび論理を異なる方法で説明するように設計されています。
  3. サンプルプロジェクトを選択し、Ok をクリックして自分のスペースにプロジェクトを追加します。
  4. 自分のスペースの Projects ページで、サンプルプロジェクトの 1 つを選択して、そのプロジェクトのアセットを表示します。
  5. 各アセットを選択して、指定の目標やワークフローを達成するためにプロジェクトがどのように設計されているのかを確認してください。サンプルのプロジェクトには、アセットが複数ページ含まれているものもあります。右上隅の左または右向き矢印をクリックして、全アセット一覧を表示します。

    図2.1 アセットページの選択

    Navigate through asset pages
  6. プロジェクトの Assets ページの右上隅にある Build をクリックしてサンプルプロジェクトをビルドするか、Deploy をクリックしてプロジェクトをビルドしてから、KIE Server にデプロイします。

    注記

    Build & Install オプションを選択してプロジェクトをビルドし、KJAR ファイルを KIE Server にデプロイせずに設定済みの Maven リポジトリーに公開することもできます。開発環境では、Deploy をクリックすると、ビルドされた KJAR ファイルを KIE Server に、(該当する場合) 実行中のインスタンスを停止せずにデプロイできます。または Redeploy をクリックして、ビルドされた KJAR ファイルをデプロイしてすべてのインスタンスを置き換えることもできます。ビルドされた KJAR ファイルを次回にデプロイまたは再デプロイすると、以前のデプロイメントユニット (KIE コンテナー) が同じターゲット KIE Server で自動的に更新されます。実稼働環境では Redeploy オプションは無効になっており、Deploy をクリックして、ビルドされた KJAR ファイルを KIE Server 上の新規デプロイメントユニット (KIE コンテナー) にデプロイすることのみが可能です。

    KIE Server の環境モードを設定するには、org.kie.server.mode システムプロパティーを org.kie.server.mode=development または org.kie.server.mode=production に設定します。Business Central でそれぞれのプロジェクトのデプロイメント動作を設定するには、プロジェクトの SettingsGeneral SettingsVersion に移動し、Development Mode オプションを選択して、Save をクリックします。デフォルトでは、KIE Server および Business Central のすべての新規プロジェクトは開発モードになっています。Development Mode をオンにしたプロジェクトをデプロイしたり、実稼働モードになっている KIE Server に手動で SNAPSHOT バージョンの接尾辞を追加したプロジェクトをデプロイしたりすることはできません。

    プロジェクトのデプロイメントに関する詳細を確認するには、画面の上部にあるデプロイメントバナーの View deployment details か、Deploy のドロップダウンメニューをクリックします。このオプションを使用すると、MenuDeployExecution Servers ページに移動します。

第3章 mortgage-process プロジェクトの作成

プロジェクトは、データオブジェクト、ビジネスプロセス、ガイド付きルール、デシジョンテーブル、フォームなどのアセットのコンテナーです。作成するプロジェクトは、Business Central にすでに存在する Mortgage_Process サンプルプロジェクトに似ています。

手順

  1. Business Central で、MenuDesignProjects に移動します。

    Red Hat Process Automation Manager は以下のイメージのように MySpace と呼ばれるデフォルトスペースを提供します。このデフォルトスペースを使用してサンプルプロジェクトを作成およびテストできます。

    図3.1 デフォルトのスペース

    spaces teams
  2. Add Project をクリックします。
  3. Name フィールドに mortgage-process と入力します。
  4. Configure Advanced Options をクリックして GAV フィールドを以下の値に変更します。

    • Group ID: com.myspace
    • Artifact ID: mortgage-process
    • Version: 1.0.0
  5. 追加 をクリックします。

プロジェクトの Assets ビューを開きます。

第4章 ユーザーの作成

必要な数だけ Business Central ユーザーを作成できます。ユーザーの権限および設定は、ユーザーに割り当てたロールと、ユーザーが属するグループで制御できます。この例では、新しいユーザーを 2 つ作成する必要があります。銀行の住宅ローンマネージャーおよび承認者の Katy および、住宅ローンを依頼するブローカーの Bill です。ユーザー作成に関する情報は、『Red Hat JBoss EAP 7.3 への Red Hat Process Automation Manager のインストールおよび設定 』の「ユーザーの作成」の章を参照してください。

Business Central では、グループおよびロールを使用してユーザーをまとめて、パーミッションを制御できます。任意数のグループを作成できますが、グループおよびロールには最低でもユーザーを 1 つ所属させる必要があります。

  • この例では、以下のグループまたはロールの 1 つまたは複数に、タスクの作業を行うユーザーを割り当てる必要があります。

    • approver グループ: Qualify タスクの場合
    • broker グループ: Correct Data タスクおよび Increase Down Payment タスクの場合
    • manager ロール: Final Approval タスクの場合

手順

  1. 右上隅のギアアイコン gear icon をクリックして、Users をクリックします。
  2. new user , enter Katy をクリックして、NextCreate の順にクリックします。
  3. Yes をクリックしてパスワードを設定し、両フィールドに Katy と入力してから Change をクリックします。
  4. Bill と入力して、Next をクリックし、Create をクリックします。
  5. Yes をクリックしてパスワードを設定し、両フィールドに Bill と入力してから Change をクリックします。
  6. Groups タブをクリックして、 new group をクリックし、approver と入力してから Next をクリックします。
  7. ユーザー一覧から Katy を選択して、Add selected users をクリックします。
  8. new group をクリックし、broker と入力して Next をクリックします。
  9. ユーザー一覧から Bill を選択して、Add selected users をクリックします。
  10. Users をクリックしてKaty を選択し、EditRolesAdd roles の順にクリックします。
  11. manager を選択して Add to selected rolesSave の順にクリックします。
  12. Groups タブをクリックし、Add to groups をクリックします。
  13. approverkie-server を選択して、Add to selected groups をクリックします。
  14. 保存 をクリックします。
  15. ユーザー一覧から Bill を選択し、EditRolesAdd roles の順にクリックします。
  16. user を選択して Add to selected roles をクリックします。
  17. Groups タブをクリックし、kie-server を選択して Add to selected groups をクリックします。
  18. 保存 をクリックします。

第5章 mortgage-process データオブジェクトの作成

データオブジェクトは、作成するルールアセットの構成要素です。データオブジェクトは、プロジェクトで指定したパッケージに Java クラスとして実装されているカスタムのデータ型です。このカスタムのデータ型は、アセットとデシジョンサービスがどのデータに基づいているかを指定します。

住宅ローンプロセスプロジェクトでは、以下のデータオブジェクトを使用します。

  • Applicant
  • Property
  • ValidationErrorDO
  • Application

5.1. 申請者データオブジェクトの作成

以下の手順に従い、申請者の情報を含む Applicant データオブジェクトを作成します。これは、本チュートリアルでのローン申請に必要な基本情報です。

手順

  1. Business Central で MySpace のデフォルトスペースをクリックします。
  2. MenuDesignProjects の順にクリックし、mortgage-process をクリックします。
  3. Add Asset をクリックして、Data Object を選択します。
  4. Create new Data Object ウィンドウの Data Object フィールドに Applicant と入力します。
  5. Package プルダウンメニューから com.myspace.mortgage_process を選択し、Ok をクリックします。
  6. 'Applicant'- general properties セクションの Label フィールドに Applicant と入力します。
  7. +add field をクリックして、以下の Applicant データオブジェクトの値を入力します。各項目を追加後に Create and continue をクリックします。最後の項目を追加したら、Create をクリックします。

    図5.1 申請者データオブジェクトの表示

    screen capture of the Applicant data object field values
  8. 保存 をクリックします。

5.2. プロパティーデータプロジェクトの作成

以下の手順に従い、不動産の築年数や価格など、不動産の詳細情報が含まれる、事前定義済みの Property データオブジェクトを作成します。

手順

  1. Business Central で MySpace のデフォルトスペースをクリックします。
  2. MenuDesignProjects の順にクリックし、mortgage-process をクリックします。
  3. Add Asset をクリックして、Data Object を選択します。
  4. Create new Data Object ウィンドウの Data Object フィールドに Property と入力します。
  5. Package プルダウンメニューから com.myspace.mortgage_process を選択し、Ok をクリックします。
  6. 'Properties'- general properties セクションの Label フィールドに Property と入力します。
  7. +add field をクリックして、以下の Property データオブジェクトの値を入力します。各項目を追加後に Create and continue をクリックします。最後の項目を追加したら、Create をクリックします。

    図5.2 プロパティーデータオブジェクトフィールドの値

    screen capture of the Property data object field values
  8. 保存 をクリックします。

5.3. ValidationErrorDO データオブジェクトの作成

以下の手順に従い、申請エラーの原因を指定する ValidationErrorDO データプロジェクトを作成します。

手順

  1. Business Central で MySpace のデフォルトスペースをクリックします。
  2. MenuDesignProjects の順にクリックし、mortgage-process をクリックします。
  3. Add Asset をクリックして、Data Object を選択します。
  4. Data Object フィールドに ValidationErrorDO を入力し、OK をクリックします。
  5. Package プルダウンメニューから com.myspace.mortgage_process を選択し、Ok をクリックします。
  6. 'ValidationErrorDO'- general properties セクションの Label フィールドに ValidationErrorDO と入力します。
  7. +add field をクリックして、以下の ValidationErrorDO データオブジェクトの値を入力します。各項目を追加後に Create and continue をクリックします。最後の項目を追加したら、Create をクリックします。

    図5.3 ValidationErrorDO データオブジェクトフィールドの値

    screen capture of the ValidationErrorDO data object field values
  8. 保存 をクリックします。

5.4. 申請データオブジェクトの作成

以下の手順に従い、頭金、住宅ローンの額など、住宅ローンの詳細情報が含めて Application データオブジェクトを作成します。

手順

  1. Business Central で MySpace のデフォルトスペースをクリックします。
  2. MenuDesignProjects の順にクリックし、mortgage-process をクリックします。
  3. Add Asset をクリックして、Data Object を選択します。
  4. Create new Data Object ウィンドウの Data Object フィールドに Applicantion と入力します。
  5. Package プルダウンメニューから com.myspace.mortgage_process を選択し、Ok をクリックします。
  6. 'Applicantion'- general properties セクションの Label フィールドに Applicantion と入力します。
  7. +add field をクリックして、以下の Applicantion データオブジェクトの値を入力します。各項目を追加後に Create and continue をクリックします。最後の項目を追加したら、Create をクリックします。

    図5.4 申請データオブジェクトフィールドの値

    screen capture of the Application data object field values
  8. 保存 をクリックします。

第6章 Business Central のビジネスプロセス

ビジネスプロセスは、フローチャートを使用して一連の手順を順番に説明する図です。ビジネスプロセスは、接続を使用して相互にリンクしているノードの集まりで構成されています。各ノードはプロセス全体のうちの 1 手順を表し、接続はノードが次のノードに移行する方法を指定します。

Mortgage_Process サンプルには、以下の事前定義済みの MortgageApprovalProcess ビジネスプロセスが含まれます。

sampleBP

6.1. ビジネスプロセスの作成

以下の手順では、MortgageApprovalProcess ビジネスプロセスを構成するタスク、接続、ゲートウェイの作成方法を詳しく説明します。住宅ローン検証のビジネスプロセスでは、新しい申請に必要なデータが含まれるかどうかを判断します。指定したデータ要件をすべて満たすと、申請のプロセスから住宅ローン計算のビジネスプロセスに進みます。

手順

  1. Business Central で、MenuDesignProjects の順にクリックし、mortgage-process をクリックします。
  2. Add AssetBusiness Process の順にクリックします。
  3. 以下の値を入力します。

    • Business Process: MortgageApprovalProcess
    • Package: com.myspace.mortgage_process を選択します。

      Package は、既存のプロジェクト内で、アセットの作成先となる場所を指定します。この例では、com/myspace/mortgage_process に作成します。

  4. OK をクリックすると、ダイアグラムエディターが開きます。
  5. 画面の右上隅の Properties diagram properties アイコンをクリックします。
  6. スクロールダウンして Process Data を展開し、Process Variables セクションの btn plus をクリックします。
  7. 以下の値を入力します。

    • 名前: application.
    • データ型: Application [com.myspace.mortgage_process]

6.1.1. 外向き接続と排他ゲートウェイの作成

本セクションでは、外向き接続、排他ゲートウェイ、ビジネスルールタスクの作成方法を説明します。排他ゲートウェイを使用して、意思決定を行い、利用可能なデータをもとにイベントに対応します。

Red Hat Process Automation Manager には、ビジネスプロセスの作成を簡略化する、事前定義済みのノードタイプが各種含まれます。事前定義済みのノードパネルは、ダイアグラムエディターの左側に置かれます。

node panel

手順

  1. 開始イベントノードをキャンバスにドラッグします。
  2. 開始イベントから排他ゲートウェイへの外向き接続を作成します。

    1. キャンバスで開始イベントノードをクリックし、Create Parallel アイコンをクリックします。

      create parallel
    2. Parallel の config icon アイコンにマウスをかざし、Convert into Exclusive アイコンをクリックします。

      exclusive gateway
  3. 排他ゲートウェイからビジネスルールタスクへの外向き接続を作成します。

    1. キャンバスで排他ゲートウェイをクリックし、Create Parallel アイコンをクリックします。

      create task
    2. タスクの config icon アイコンにマウスをかざし、Convert into Business Rule アイコンをクリックします。

      bus rule task
  4. ビジネスルールタスクを設定します。

    1. ビジネスルールタスクをクリックします。
    2. Properties パネルが表示されない場合には、右上隅の Properties diagram properties アイコンをクリックします。
    3. Properties パネルで、Name フィールドに Validation を入力します。
    4. Implementation/Execution を展開し、Rule Flow Group メニューから New を選択して、validation と入力します。
    5. On Exit Action フィールドに、以下の Java 式を入力します。

      System.out.println(application.getProperty());
    6. Data Assignments を展開し、Assignments の横にある btn assign をクリックします。
    7. Validation Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。

      • データ入力と割り当て

        • Name: application
        • Data Type: Application [com.myspace.mortgage_app]
        • Source: application
      • データ出力と割り当て

        • Name: application
        • Data Type: Application [com.myspace.mortgage_app]
        • Target: application

          図6.1 Validation Data I/O 割り当て

          Screen capture of the Validation Data I/O assignments
  5. キャンバスの上にある Save をクリックして、変更を確定します。

6.1.2. 検証データの定義

このセクションは、申請データが正しいかどうか、またはエラーや情報の不足があるどうかを判断する検証データを定義する方法を説明します。

手順

  1. Validation タスクから排他ゲートウェイに外向き接続を作成します。

    1. Validation タスクをクリックし、Create Parallel アイコンをクリックします。
    2. Parallel の config icon アイコンにマウスをかざし、Convert into Exclusive アイコンをクリックします。

      exclusive gateway
  2. 排他ゲートウェイから、新しいビジネスルールタスクへの外向き接続を作成します。

    1. 排他ゲートウェイをクリックし、Create Parallel アイコンをクリックします。
    2. 以下のように、新しいゲートウェイを排他ゲートウェイの下にドラッグします。
    3. タスクの config icon アイコンにマウスをかざし、Convert into Business Rule アイコンをクリックします。

      new br task
    4. Properties パネルが表示されない場合には、右上隅の Properties diagram properties アイコンをクリックします。
    5. Properties パネルで、Name フィールドに Retract Validation と入力します。
    6. Implementation/Execution を展開し、Rule Flow Group メニューから New を選択して、error と入力します。
  3. 排他ゲートウェイとビジネスルールタスク間の接続を設定します。

    1. 接続をクリックします。

      created connection
    2. Properties パネルが表示されない場合には、右上隅の Properties diagram properties アイコンをクリックします。
    3. Properties パネルで、Name フィールドに Invalid を入力します。
    4. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
    5. リストから、drools を選択して、Condition Expression フィールドに ValidationErrorDO() を入力します。

      languagedropdown
  4. Retract Validation タスクから新規ユーザータスクに外向き接続を作成します。

    1. Retract Validation タスクをクリックし、Create Task アイコンをクリックします。
    2. 以下のように、新しいタスクを Validation タスクの下にドラッグします。
    3. タスクの config icon アイコンにマウスをかざし、Convert into User アイコンをクリックします。

      user task
    4. 新規ユーザータスクをクリックし、Properties パネルの Name フィールドに Correct Data と入力します。
    5. Implementation/Execution を展開し、Task Name フィールドに CorrectData と入力します。
    6. Groups メニューから New を選択して broker と入力します。
    7. Assignments の横にある btn assign をクリックします。
    8. Correct Data Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。

      • Name: application
      • Data Type: Application [com.myspace.mortgage_app]
      • Source: application

        • データ出力と割り当て
      • Name: application
      • Data Type: Application [com.myspace.mortgage_app]
      • Target: application

        図6.2 Correct Data I/O 割り当て

        Screen capture of the Correct Data Data I/O assignments
    9. キャンバスの上にある Save をクリックして、変更を確定します。
  5. Correct Data ユーザータスクをクリックしてから、Create sequence Flow アイコンをクリックし、最初の排他ゲートウェイにドラッグし直します。ワークフローは、以下の図のようになっているはずです。

    workflow1

6.1.3. 住宅ローンの計算

住宅ローンの計算のビジネスプロセスは、申請者の住宅ローンの借入限度を決定します。

手順

  1. 2 つ目の排他ゲートウェイに戻り、新規ビジネスルールタスクへの外向き接続を作成します。

    second gateway
  2. 作成した接続をクリックし、Properties パネルの Name フィールドに Valid と入力します。

    1. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
    2. リストから、drools を選択して、Condition Expression フィールドに not ValidationErrorDO() を入力します。
  3. 新しいビジネスルールタスクをクリックし、Properties パネルの Name フィールドに Mortgage Calculation と入力します。

    validconnection
    1. Implementation/Execution を展開し、Rule Flow Group メニューから New を選択して、mortgagecalculation と入力します。
  4. Data Assignments を展開し、Assignments の横にある btn assign をクリックします。
  5. Mortgage Calculation Data I/O ウィンドウで Add をクリックして以下の割当を作成し、Save をクリックします。

    図6.3 Mortgage Calculation Data I/O 割り当て

    screen capture of the Mortgage Calculation Data I/O assignments
  6. キャンバスの空白のスペースをクリックし、スクロールダウンし、Process Data を展開し、Process Variables の横にある btn plus をクリックします。以下の値を入力します。

    • Name: inlimit
    • Data Type: Boolean
  7. Mortgage Calculation タスクから新しいユーザータスクへの外向き接続を作成します。
  8. ユーザータスクをクリックし、Name フィールドに Qualify と入力します。

    qualify task
  9. Implementation/Execution を展開し、Task Name フィールドに Qualify と入力します。
  10. Groups メニューから New を選択して approver と入力します。
  11. Assignments の横にある btn assign をクリックします。Qualify Data I/O ウィンドウで、Add をクリックして、以下の割り当てを作成します。

    図6.4 Qualify Data I/O 割り当て

    Screen capture of the Qualify Data I/O assignments
  12. キャンバスの上にある Save をクリックして、変更を確定します。
  13. Qualify ユーザータスク、Create parallel メニューアイコンの順にクリックし、排他ゲートウェイに変換します。
  14. Qualify ユーザータスクの下に、新しい排他ゲートウェイをドラッグします。
  15. 排他ゲートウェイからの外向き接続を作成し、新規ユーザータスクに連結します。
  16. 接続をクリックして、Properties パネルの Name フィールドに in Limit と入力します。
  17. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
  18. Process Variable ドロップダウンメニューから inlimit を選択し、Condition ドロップダウンメニューから Is true を選択します。

    inlimit true
  19. ユーザータスクをクリックし、Name フィールドに Final Approval と入力します。
  20. Implementation/Execution を展開し、Task Name フィールドに FinalApproval と入力します。
  21. Groups メニューから New を選択して manager と入力します。
  22. Assignments の横にある btn assign をクリックします。Final Approval Data I/O ウィンドウで、Add をクリックして以下の割り当てを作成します。

    図6.5 Final Approval Data I/O 割り当て

    Screen capture of the Final Approval Data I/O assignments
  23. キャンバスの上にある Save をクリックして、変更を確定します。

6.1.4. 頭金の増額

頭金の増額ビジネスプロセスは、頭金を増額することで、申請者がローンを組めるかどうかを確認します。最終結果は、申請者が頭金を増額できるかどうかに基づいて、ローンが最終的に承認または却下されます。

手順

  1. Final Approval ユーザータスクをクリックして、ユーザータスクのクイックメニューから Create End を選択します。
  2. Final Approval ユーザータスクの下に、終了イベントを移動します。

    create end
  3. Final Approval ユーザータスクに連結する排他ゲートウェイに戻ります。2 つ目の外向き接続を作成し、新しいユーザータスクに連結します。

    new task
  4. 接続をクリックして、Properties パネルの Name フィールドに Not in Limit と入力します。
  5. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
  6. Process Variable ドロップダウンメニューから inlimit を選択し、Condition ドロップダウンメニューから Is false を選択します。
  7. キャンバスの空白のスペースをクリックし、スクロールダウンし、Process Data を展開し、Process Variables の横にある btn plus をクリックします。以下の値を入力します。

    • Name: incdownpayment
    • Data Type: Boolean

      proc var new
  8. 新規ユーザータスクをクリックして、Properties パネルで NameIncrease Down Payment を入力します。
  9. Implementation/Execution を展開し、Task Name フィールドに IncreaseDownPayment と入力します。
  10. Groups メニューから New を選択して broker と入力します。
  11. Assignments の横にある btn assign をクリックします。Increase Down Payment Data I/O ウィンドウで Add をクリックして、以下の割り当てを作成します。

    図6.6 Increase Down Payment Data I/O 割り当て

    Screen capture of the Increase Down Payment Data I/O assignments
  12. キャンバスの上にある Save をクリックして、変更を確定します。
  13. Increase Down Payment ユーザータスク、Create parallel メニューアイコンの順にクリックし、排他ゲートウェイに変換します。
  14. Increase Down Payment ユーザータスクの下に新しい排他ゲートウェイをドラッグします。
  15. 排他ゲートウェイから終了イベントに外向き接続を作成します。
  16. 接続をクリックして、Properties パネルの Name フィールドに Down payment not increased と入力します。
  17. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
  18. return !incdownpayment; と入力し、ドロップダウンメニューから java を選択します。
  19. 排他ゲートウェイからの外向き接続を作成し、ユーザータスクに連結します。
  20. 接続をクリックして、Properties パネルの Name フィールドに Down payment increased と入力します。
  21. Implementation/Execution を展開し、Condition Expression セクションの Expression を選択します。
  22. return incdownpayment; と入力し、ドロップダウンメニューから java を選択します。
  23. キャンバスの上にある Save をクリックして、変更を確定し、ビジネスプロセス全体を保存します。

図6.7 ビジネスプロセスの最終バージョン

Screen capture of the Final version of the business process

第7章 ガイド付きルール

ガイド付きルールは、ルール作成のプロセスを提供する、Business Central の UI ベースのガイド付きルールデザイナーで作成するビジネスルールです。ガイド付きルールデザイナーを使用すると、ルールを定義するデータオブジェクトに基づいて、可能なインプットにフィールドおよびオプションを提供します。定義したガイド付きルールは、その他のすべてのルールアセットとともに DRL (Drools Rule Language) ルールにコンパイルされます。

ガイド付きルールに関連するすべてのデータオブジェクトは、ガイド付きルールと同じプロジェクトパッケージに置く必要があります。同じパッケージに含まれるアセットはデフォルトでインポートされます。必要なデータオブジェクトとガイド付きルールを作成したら、ガイド付きルールデザイナーの Data Objects タブから、必要なデータオブジェクトがすべてリストされていることを検証したり、 新規アイテム を追加してその他の既存データオブジェクトをインポートしたりできます。

7.1. Mortgage_Process ビジネスルールの表示

本章は、Mortgage_Process プロジェクトの事前定義済みのビジネスルールを紹介することが目的です。このチュートリアルでは、ビジネスルールの作成や定義は行わず、Mortgage_Process サンプルプロジェクトの事前定義済みビジネスルールですでに定義されている WHEN および THEN ルールを確認していきます。ガイド付きビジネスルールの作成に関する詳細は、『ガイド付きルールを使用したデシジョンサービスの作成』を参照してください。

7.1.1. ガイド付きルール Validate Down Payment の表示

WHENTHEN ルールを確認して、条件の設定方法や、プロセスの実行時にどのように使用するかを理解してください。

手順

  1. MenuDesignProjects の順にクリックし、Mortgage Process をクリックします。
  2. アセットリストの右矢印をクリックして、アセットリストの 2 ページ目を表示し、Validate Down Payment のガイド付きルールをクリックします。
  3. ガイド付きルール Validate Down PaymentWHENTHEN の条件と値を確認します。

    validate rules

7.1.2. ガイド付きルール RetractValidationErr の表示

WHENTHEN ルールを確認して、条件の設定方法や、プロセスの実行時にどのように使用するかを理解してください。

手順

  1. MenuDesignProjects の順にクリックし、Mortgage Process をクリックします。
  2. アセットリストの右矢印をクリックして、アセットリストの 2 ページ目を表示し、RetractValidationErr のガイド付きルールをクリックします。
  3. ガイド付きルール RetractValidationErrWHENTHEN の条件と値を確認します。

    retract val rules

第8章 ガイド付きデシジョンテーブル

ガイド付きデシジョンテーブルは、デシジョンテーブルのスプレッドシートに代わる方法で、ウィザードを用いて表形式でビジネスルールを定義します。ガイド付きデシジョンテーブルでは、プロジェクトで指定したデータオブジェクトをもとに、Business Central の UI ベースのウィザードに従ってルール属性、メタデータ、条件、およびアクションを定義します。ガイド付きデシジョンテーブルを作成すると、定義したルールは、その他のすべてのルールアセットとともに Drools Rule Language (DRL) ルールにコンパイルされます。

ガイド付きデシジョンテーブルに関連するすべてのデータオブジェクトは、ガイド付きデシジョンテーブルと同じプロジェクトパッケージに存在する必要があります。同じパッケージのアセットはデフォルトでインポートされます。必要なデータオブジェクトとガイド付きデシジョンテーブルの作成後、ガイド付きデシジョンテーブルデザイナーの Data Objects タブを使用して、必要なデータオブジェクトがすべてリストされていることを検証したり、 新規アイテム を追加してその他の既存データオブジェクトをインポートしたりできます。

8.1. 住宅ローンデシジョンテーブルの表示

本章は、デシジョンテーブル MortgageDecisionTable を紹介することが目的です。このチュートリアルでは、デシジョンテーブルの条件の作成や設定はせず、住宅ローンプロセス サンプルプロジェクトのガイド付きデシジョンテーブルアセット Mortgage_Process に既に定義されている値と条件を確認します。デシジョンテーブル作成に関する情報は、『ガイド付きデシジョンテーブル使用したデシジョンサービスの作成』を参照してください。

前提条件

手順

  1. Business Central で、MenuDesignProjects の順にクリックし、Mortgage_Process をクリックします。
  2. スクロールダウンして、ガイド付きデシジョンテーブルアセット MortgageDecisionTable をクリックします。

    loans guided dt

第9章 Business Central のフォーム

フォームは、HTML として定義されたページのレイアウト定義であり、プロセスおよびタスクのインスタンス化の間にユーザーにダイアログウィンドウとして表示されます。タスクフォームはプロセスとタスクインスタンスの両方の実行のためにユーザーからデータを取得しますが、プロセスフォームはプロセス変数から入力と出力を受け取ります。

入力は、Data Input Assignment を使用してタスクにマッピングされ、タスク内で使用できます。タスクが完了すると、データは Data Output Assignment としてマッピングされ、データを親プロセスインスタンスに提供します。

9.1. Mortgage_Process フォームの表示

本章は、Mortgage_Process サンプルプロジェクトの事前定義済みのフォームを紹介することが目的です。このフォームは、住宅ローン申請のビジネスプロセス向けにユーザーデータを収集するときに使用します。このチュートリアルでは、Mortgage_Process フォームの作成や変更は行わず、事前定義済みのサンプルフォームを確認していきます。フォームの作成に関する詳細は、『Business Central におけるビジネスプロセスの作成』を参照してください。

手順

  1. Business Central で、MenuDesignProjects の順にクリックし、Mortgage_Process をクリックします。
  2. アセットリストの右矢印をクリックして、アセットリストの 2 ページ目を表示し、Applicant フォームを選択します。

    図9.1 Applicant サンプルフォーム

    screen capture of the Applicant sample form
  3. MenuDesignProjectsMortgage Process の順にクリックします。
  4. アセットリストから Property フォームを選択します。Property フォームは以下のようになります。

    図9.2 Property サンプルフォーム

    screen capture of the Property sample form
  5. MenuDesignProjectsMortgage Process の順にクリックします。
  6. アセットリストから Application フォームを選択します。Application フォームは以下のようになります。

    図9.3 Application サンプルフォーム

    screen capture of the Application sample form
  7. 右上の X をクリックして、エディターを閉じます。

第10章 MortgageApprovalProcess プロセス申請のデプロイ

本章では、Red Hat Process Automation Manager に Mortgage_Process 申請の新しいインスタンスをビルドしてデプロイする方法を説明します。

前提条件

  • KIE Server をデプロイし、Business Central に接続している。

手順

  1. Business Central で、MenuDesignProjects の順にクリックし、Mortgage_Process をクリックします。
  2. Deploy をクリックします。

    • KIE コンテナー (デプロイメントユニット) がプロジェクト名に含まれていない場合には、デフォルト値でコンテナーが自動的に作成されます。
    • 以前のバージョンのプロジェクトがすでにデプロイされている場合は、プロジェクト設定に移動して、プロジェクトバージョンを変更します。終了したら、変更を保存して Deploy をクリックします。これにより、最新の変更が適用された、同じプロジェクトの新しいバージョンが、古いバージョンとともにデプロイされます。

      注記

      Build & Install オプションを選択してプロジェクトをビルドし、KJAR ファイルを KIE Server にデプロイせずに設定済みの Maven リポジトリーに公開することもできます。開発環境では、Deploy をクリックすると、ビルドされた KJAR ファイルを KIE Server に、(該当する場合) 実行中のインスタンスを停止せずにデプロイできます。または Redeploy をクリックして、ビルドされた KJAR ファイルをデプロイしてすべてのインスタンスを置き換えることもできます。ビルドされた KJAR ファイルを次回にデプロイまたは再デプロイすると、以前のデプロイメントユニット (KIE コンテナー) が同じターゲット KIE Server で自動的に更新されます。実稼働環境では Redeploy オプションは無効になっており、Deploy をクリックして、ビルドされた KJAR ファイルを KIE Server 上の新規デプロイメントユニット (KIE コンテナー) にデプロイすることのみが可能です。

      KIE Server の環境モードを設定するには、org.kie.server.mode システムプロパティーを org.kie.server.mode=development または org.kie.server.mode=production に設定します。Business Central でそれぞれのプロジェクトのデプロイメント動作を設定するには、プロジェクトの SettingsGeneral SettingsVersion に移動し、Development Mode オプションを選択します。デフォルトでは、KIE Server および Business Central のすべての新規プロジェクトは開発モードになっています。Development Mode をオンにしたプロジェクトをデプロイしたり、実稼働モードになっている KIE Server に手動で SNAPSHOT バージョンの接尾辞を追加したプロジェクトをデプロイしたりすることはできません。

  3. プロジェクトのデプロイメントに関する詳細を確認するには、画面の上部にあるデプロイメントバナーの View deployment details か、Deploy のドロップダウンメニューをクリックします。このオプションを使用すると、MenuDeployExecution Servers ページに移動します。

第11章 MortgageApprovalProcess プロセスアプリケーションの実行

プロジェクトをデプロイしたので、プロジェクトで定義した機能を実行できます。本チュートリアルでは、住宅ローンブローカーとして、住宅ローン申請書にデータを入力します。MortgageApprovalProcess ビジネスプロセスが実行し、定義しておいたデシジョンルールに基づいて、申請者が条件に合った頭金を提示したかどうかを判断します。このビジネスプロセスは、ルールのテストを終了するか、続行するために頭金の増額を依頼します。この申請が、ビジネスルールのテストを通過したら、銀行の承認者が申請書を見直し、ローンを承認または却下します。

前提条件

  • KIE Server をデプロイし、Business Central に接続している。
  • Mortgage_Process アプリケーションがデプロイされている。
  • タスクを処理するユーザーが、以下のグループおよびロールのメンバーになっている。

    • approver グループ: Qualify タスクの場合
    • broker グループ: Correct Data タスクおよび Increase Down Payment タスクの場合
    • manager ロール: Final Approval タスクの場合

手順

  1. Red Hat Process Automation Manager に Bill (broker) としてログインし、MenuManageProcess Definitions の順にクリックします。
  2. Actions コラムの 3 つの縦の点をクリックして Start を選択し、Application フォームを表示して、フォームのフィールドに以下の値を入力します。

    • Down Payment: 30000
    • Years of amortization: 10
    • Name: Ivo
    • Annual Income: 60000
    • SSN: 123456789
    • Age of property: 8
    • Address of property: Brno
    • Locale: Rural
    • Property Sale Price: 50000
  3. Submit をクリックして、新しいプロセスインスタンスを開始します。プロセスインスタンスを開始すると、Instance Details ビューが開きます。
  4. Diagram タブをクリックして、プロセスダイアグラムのプロセスフローを表示します。各タスクを通過した時のプロセスの状態が強調表示されます。

    diagram progress
  5. Business Central からログアウトし、Katy としてログインし直します。
  6. MenuTrackTask Inbox の順にクリックすると、Qualify フォームが開きます。
  7. Actions コラムの 3 つの縦の点をクリックして、Claim を選択してクリックします。Qualify タスクの StatusReserved に変わりました。
  8. Qualify タスクの行をクリックして開き、タスク情報を確認します。Claim をクリックして、フォームの一番下の Start をクリックします。

    申請書が承認/拒否できるようにアクティブになりました。

  9. 申請を承認するには、Is mortgage application in limit? を選択して Complete をクリックします。
  10. Task Inbox で、Final Approval 行の任意の場所をクリックし、Final Approval タスクを開きます。
  11. Final Approval の行にある Actions コラムの 3 つの縦の点ををクリックして、Claim をクリックします。
  12. Final Approval の行の任意の場所をクリックして、Final Approval タスクを表示します。フォームの一番下にある Start をクリックします。
  13. アプリケーションで最終承認の準備ができていることを反映するために Inlimit のチェックボックスが選択されている点に着目してください。Complete をクリックします。
注記

Save ボタンおよび Release ボタンは、承認プロセスを中断したり、(フィールド値を待っている場合は) インスタンスを保存したり、別のユーザーが修正するタスクを解除したりするために使用します。

第12章 MortgageApprovalProcess プロセスアプリケーションの監視

以下の章では、システム管理者や知識労働者など、職務が異なる銀行の従業員が、住宅ローンの承認プロセスのインスタンスを追跡するために、監視機能の一部をどのように使用していくかを説明します。

前提条件

  • KIE Server をデプロイし、Business Central に接続している。

手順

  1. Red Hat Process Automation Manager にログインし、MenuManageProcess Instances の順にクリックします。
  2. Manage Process Instances ウィンドウで、StateErrorsId などのフィルターを設定します。
  3. State フィルターで Completed を選択し、完了した MortgageApprovalProcess インスタンスをすべて表示します。
  4. 完了したプロセスインスタンスをクリックします。
  5. 以下のいずれかのタブをクリックして、特定のプロセスインスタンスの監視に利用できる情報の種類を確認します。

    • Instance Details
    • Process Variables
    • Documents
    • Logs
    • Diagram
  6. MenuTrackProcess Reports の順にクリックします。このビューにはさまざまなチャートが含まれているため、上級のプロセスマネージャーはこのようなチャートを使用して、タスクのレポートを行うために TypeStart DateRunning Time などに基づく全プロセスの概要を確認できます。

12.1. デフォルトおよび詳細フィルターを使用したプロセスインスタンスのフィルタリング

Business Central には、デフォルトおよび高度なフィルターが含まれており、実行中のプロセスインスタンスのフィルタリングや、検索に役立ちます。Advanced Filters オプションを使用してカスタムのフィルターを作成することも可能です。

12.1.1. デフォルトのフィルターを使用したプロセスインスタンスのフィルタリング

StateErrorsFilter ByNameStart Date および Last update などの属性で、プロセスインスタンスをフィルタリングします。

手順

  1. Business Central で、MenuManageProcess Instances に移動します。
  2. Manage Process Instances ページの左側にあるフィルターアイコンをクリックして、Filters ペインを展開します。

    このペインは、以下のプロセス属性を表示し、プロセスインスタンスのフィルタリングに使用できます。

    • State: 状態をもとにプロセスインスタンスをフィルタリングします (ActiveAbortedCompletedPending および Suspended)。
    • Errors: エラー別でプロセスインスタンスをフィルタリングします。
    • Filter By: IdInitiatorCorrelation Key または Description 属性をもとにプロセスインスタンスをフィルタリングします。

      1. 必要な属性を選択します。
      2. 下のテキストフィールドに検索クエリを入力します。
      3. Apply をクリックします。
    • Name: プロセス定義名をもとにプロセスインスタンスをフィルタリングします。
    • Start Date: 作成日をもとにプロセスインスタンスをフィルタリングします。
    • Last update: 最終変更日をもとにプロセスインスタンスをフィルタリングします。

Advanced Filters オプションを使用して、Business Central でカスタムフィルターを作成することもできます。

12.1.2. 詳細フィルターを使用したプロセスインスタンスのフィルタリング

Advanced Filters オプションを使用して、カスタムのプロセスインスタンスフィルターを作成します。新規作成したカスタムフィルターは Saved Filters ペインに追加されます。このペインには、Manage Process Instances ページの左側にある星のアイコンをクリックしてアクセスできます。

手順

  1. Business Central で、MenuManageProcess Instances に移動します。
  2. Manage Process Instances ページで、Advanced Filters をクリックします。
  3. Advanced Filters ペインで、フィルターの名前と説明を入力して、Add New をクリックします。
  4. Select column ドロップダウンリストからprocessName などの属性を選択します。ドロップダウンの内容が processName != value1 に変わります。
  5. もう一度ドロップダウンをクリックして、必要な論理クエリーを選択します。processName 属性については、equals to を選択してください。
  6. フィルタリングするプロセス名の横にあるテキストフィールドの値を変更します。

    注記

    名前は、プロジェクトのビジネスプロセスで定義した値と一致させる必要があります。

  7. Save をクリックして、フィルター定義に従い、プロセスをフィルタリングします。
  8. 星のアイコンをクリックして、Saved Filters ペインを開きます。

    Saved Filters ペインで、保存した詳細フィルターすべてを表示できます。

第13章 関連資料

付録A バージョン情報

本書の最終更新日: 2020 年 9 月 8 日 (木)

法律上の通知

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.