第5章 Business Central でのビジネスプロセスの作成

プロセスデザイナーは、Red Hat Process Automation Manager のプロセスモデラーです。モデラーの出力は、BPMN 2.0 プロセス定義ファイルです。この定義は、定義に基づいてプロセスインスタンスを作成する Red Hat Process Automation Manager プロセスエンジンの入力として使用されます。

このセクションの手順では、簡単なビジネスプロセスを作成する方法の概要を説明します。より詳細なビジネスプロセスの例は、プロセスサービスの使用ガイド を参照してください。

前提条件

手順

  1. Business Central で、MenuDesignProjects に移動します。
  2. プロジェクト名をクリックして、プロジェクトのアセットリストを開きます。
  3. Add Asset → Business Process の順にクリックします。
  4. Create new Business Process ウィザードで、以下の値を入力します。

    • Business Process: 新しいビジネスプロセス名
    • Package: 新しいビジネスプロセスのパッケージの場所 (例: com.myspace.myProject)
  5. OK をクリックしてプロセスデザイナーを開きます。
  6. 右上隅の Properties diagram properties アイコンをクリックし、プロセスデータや変数などのビジネスプロセスプロパティー情報を追加します。

    1. スクロールダウンして、Process Data を展開します。
    2. Process Variables の横にある btn plus をクリックし、ビジネスプロセスで使用するプロセス変数を定義します。

    表5.1 一般的なプロセスプロパティー

    ラベル説明

    名前

    プロセスの名前を入力します。

    ドキュメント

    プロセスを記述します。このフィールドのテキストはプロセスドキュメントに含まれます (該当する場合)。

    ID

    このプロセスの識別子 (orderItems など) を入力します。

    Package

    Red Hat Process Automation Manager プロジェクトでのこのプロセスのパッケージの場所を入力します (例: org.acme)。

    ProcessType

    プロセスがパブリックであるかプライベートであるかを指定します (該当しない場合は null を指定)。

    バージョン

    プロセスのアーティファクトバージョンを入力します。

    アドホック

    このプロセスがアドホックサブプロセスである場合は、このオプションを選択します。

    Process Instance Description

    プロセスの目的の説明を入力します。

    インポート

    クリックして Imports ウィンドウを開き、プロセスに必要なデータオブジェクトクラスを追加します。

    実行可能

    このオプションを選択して、プロセスを Red Hat Process Automation Manager プロジェクトの実行可能な部分にします。

    SLA 期日

    サービスレベルアグリーメント (SLA) の有効期限の日付を入力します。

    プロセス変数

    プロセスのプロセス変数を追加します。プロセス変数は、特定のプロセスインスタンス内で表示されます。プロセス変数はプロセスの作成時に初期化され、プロセスの完了時に破棄されます。変数 タグ を使用すると、変数の動作をより細かく制御できます。たとえば、変数は required または readonly になります。変数タグの詳細は、6章Variables を参照してください。

    Metadata Attributes

    メタデータ属性が存在する場合に何らかのアクションを実装するリスナーなど、カスタムイベントリスナーに使用するカスタムメタデータ属性の名前と値を追加します。

    グローバル変数

    プロセスにグローバル変数を追加します。グローバル変数は、プロジェクトのすべてのプロセスインスタンスとアセットに表示されます。グローバル変数は通常、ビジネスルールおよび制約によって使用され、ルールまたは制約によって動的に作成されます。

    Metadata Attributes エントリーは、新しい metaData 拡張を BPMN ダイアグラムに有効にするという点で Process Variables タグに似ています。ただし、プロセス変数タグは、特定の変数が required または readonly かどうかなど、特定のプロセス変数の動作を変更しますが、メタデータ属性はプロセス全体の動作を変更する key-value 定義になります。

    たとえば、BPMN プロセスの以下のカスタムメタデータ属性 riskLevel および値 low は、プロセスを開始するためのカスタムイベントリスナーに対応します。

    図5.1 BPMN モデラーのメタデータ属性と値の例

    Image of custom metadata attribute and value

    BPMN ファイルのメタデータ属性と値の例

    <bpmn2:process id="approvals" name="approvals" isExecutable="true" processType="Public">
      <bpmn2:extensionElements>
        <tns:metaData name="riskLevel">
          <tns:metaValue><![CDATA[low]]></tns:metaValue>
        </tns:metaData>
      </bpmn2:extensionElements>

    メタデータ値を持つイベントリスナーの例

    public class MyListener implements ProcessEventListener {
        ...
        @Override
        public void beforeProcessStarted(ProcessStartedEvent event) {
            Map < String, Object > metadata = event.getProcessInstance().getProcess().getMetaData();
            if (metadata.containsKey("low")) {
                // Implement some action for that metadata attribute
            }
        }
    }

  7. プロセスデザイナーキャンバスで、左側のツールバーを使用して BPMN コンポーネントをドラッグアンドドロップし、ビジネスプロセスロジック、接続、イベント、タスク、またはその他の要素を定義します。

    注記

    Red Hat Process Automation Manager のタスクおよびイベントには、1 つの受信フローと 1 つの送信フローが必要です。複数の内向きフローおよび複数の外向きフローでビジネスプロセスを設計する場合は、ゲートウェイを使用してビジネスプロセスを再設計することを検討してください。ゲートウェイを使用すると、シーケンスフローが実行しているロジックが明確になります。そのため、ゲートウェイは複数の接続に対するベストプラクティスとみなされます。

    ただし、タスクまたはイベントに複数の接続を使用する必要がある場合は、JVM (Java 仮想マシン) システムプロパティー jbpm.enable.multi.contrue に設定する必要があります。Business Central および KIE Server が異なるサーバーで実行する場合は、いずれのサーバーにも jbpm.enable.multi.con システムプロパティーの両方が有効になっていないと、プロセスエンジンが例外を出力します。

  8. ビジネスプロセスのすべてのコンポーネントを追加して定義した後に、Save をクリックし、完了したビジネスプロセスを保存します。

5.1. ビジネスルールタスクの作成

ビジネスルールタスクは、Decision Model and Notation (DMN) モデルまたはルールフローグループを使用して意思決定を行うために使用されます。

手順

  1. ビジネスプロセスを作成します。
  2. プロセスデザイナーで、ツールパレットから Activities ツールを選択します。
  3. Business Rule を選択します。
  4. プロセスデザイナーキャンバスの空白エリアをクリックします。
  5. 必要に応じて、画面の右上隅で、Properties アイコンをクリックします。
  6. 必要に応じて、以下の表に一覧表示されているタスク情報を追加または定義します。

    表5.2 ビジネスルールタスクのパラメーター

    ラベル説明

    名前

    ビジネスルールタスクの名前。また、ビジネスルールタスクシェイプをダブルクリックして名前を編集することもできます。

    ルール言語

    タスクの出力言語。Decision Model and Notation (DMN) または Drools (DRL) を選択します。

    ルールフローグループ

    このビジネスタスクに関連付けられたルールフローグループ。一覧からルールフローグループを選択するか、新しいルールフローグループを指定します。

    開始時アクション

    タスクの開始時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

    終了時アクション

    タスクの終了時のアクションを指定する Java、JavaScript、または MVEL スクリプト。

    非同期です

    このタスクを非同期で呼び出す必要がある場合に選択します。外部サービスによって実行されるタスクなど、タスクを瞬時に実行できない場合は、タスクを非同期にします。

    アドホックの自動開始

    これが自動的に開始される必要があるアドホックタスクである場合に選択します。AdHoc Autostart を使用すると、タスクは、開始タスクにより開始するのではなく、プロセスまたはケースインスタンスが作成されたときに自動的に開始します。多くの場合、ケース管理で使用されます。

    SLA 期日

    サービスレベルアグリーメント (SLA) の有効期限の日付。

    割当

    クリックしてローカル変数を追加します。

    Metadata Attributes

    メタデータ属性が存在する場合に何らかのアクションを実装するリスナーなど、カスタムイベントリスナーに使用するカスタムメタデータ属性の名前と値を追加します。

    メタデータ属性は、BPMN 図に新しい metaData 拡張を可能にし、タスク全体の動作を変更します。

  7. Save をクリックします。