第8章 ステージ


ケース管理ステージはタスクの集まりです。ステージは、プロセスデザイナーを使用して定義できるアドホックサブプロセスで、マイルストーンなどの、別のケース管理ノードに含まれる可能性もあります。マイルストーンは、1 つのステージまたは複数のステージが完了した場合に完了するように設定されます。したがって、マイルストーンはステージの完了によりアクティベートまたは達成することができ、ステージにはマイルストーンを 1 つまたは複数追加できます。

たとえば、患者のトリアージケースでは、最初のステージでは、明らかな身体症状を観察して書き留めたり、その症状が何かを患者に説明してもらい、2 番目のステージでテストを行い、3 番目のステージで診断および治療を行います。

ステージを完了する 3 つの方法があります。

  • 完了条件
  • 終端の終了イベント
  • Completion Conditionautocomplete に設定して、ステージにアクティブなタスクがなくなったら、自動的にそのステージを完了します。

8.1. ステージの定義

ステージは、プロセスデザイナーを使用して BPMN2 でモデル化できます。ステージとは、ステージがアクティベートされている場合に、次のステージの開始前に、完了する必要のあるアクティビティーが明確に定義されるように、関連のタスクをグループ化する手段のことを指します。たとえば、ステージを使用して、以下の方法で IT_Orders ケース定義を設定することもできます。

図8.1 IT_Orders プロジェクトステージの例

IT_Orders - stages

手順

  1. ダイアグラムエディターの左側にある事前定義済みのノードパネルから、Ad-Hoc ノードをデザインキャンバスにドラッグアンドドロップして、ステージノードの名前を指定します。
  2. ステージをアクティベートする方法を定義します。

    • 受信ノードがステージをアクティベートした場合は、ステージを、受信ノードのシーケンスフローラインに接続します。
    • シグナルイベントで、このステージが代わりにアクティベートされている場合は、シグナルイベントに、最初の手順で設定したステージの名前で SignalRef を設定します。
    • または、条件が満たされると、ステージをアクティベートするように AdHocActivationCondition プロパティーを設定します。
  3. ステージにタスクノードを追加する余裕を持たせるために、必要に応じてノードのサイズを変更します。
  4. 関連タスクをステージに追加して、必要に応じて設定します。
  5. (任意) ステージの完了条件を設定します。アドホックサブプロセスとして、ステージはデフォルトで autocomplete として設定されます。これは、ステージが自動的に完了し、ステージ内のすべてのインスタンスがアクティブでなくなると、ケース定義の次のアクティビティーが発生することを示しています。

    完了条件を変更するには、ステージノードを選択して、右側の Properties パネルを選択し、Implementation/Execution を展開して、 必要な完了条件になるように free-form Drools 式を使用して AdHocCompletionCondition を変更します。ステージ完了条件に関する情報は、「ステージのアクティベーションおよび完了条件の設定」を参照してください。

  6. ステージを設定したら、シーケンスフローラインを使用して、ケース定義内の次のアクティビティーに接続します。

8.2. ステージのアクティベーションおよび完了条件の設定

開始ノード、中間ノード、または手動の API コールを使用してステージを発生できます。

free-form Drools ルールを使用して、マイルストーンの完了条件を設定するのと同じ方法で、アクティベーションと完了条件の両方を含めてステージを設定できます。たとえば、IT_Orders サンプルプロジェクトでは、Milestone 2: Order shipped の完了条件 (org.kie.api.runtime.process.CaseData(data.get("shipped") == true)) を、ここで使用されている Order delivery の完了条件として使用することも可能です。

図8.2 IT_Orders プロジェクトのステージ例

IT_Orders - stages

ステージをアクティベートする AdHocActivationCondition プロパティーを設定するアクティベーション条件は、Free Form Drools ルールを使用しても設定できます。

前提条件

  • Business Central プロセスデザイナーでケース定義を作成している。
  • アドホックサブプロセスを、ステージとして使用されるケース定義に追加している。

手順

  1. ステージを選択して、 diagram properties をクリックし、デザイナーの右側の Properties パネルを開きます。
  2. Implementation/Execution を展開して、AdHocActivationCondition プロパティーエディターを開き、開始ノードのアクティベーション条件を定義します。たとえば、autostart: true と設定して、新規ケースインスタンスが開始されたら、ステージが自動的にアクティベートされるようにします。
  3. AdHocCompletionCondition はデフォルトでは、autocomplete に設定されています。これを変更するには、free-form Drools 式を使用して完了条件を入力します。たとえば、org.kie.api.runtime.process.CaseData(data.get("ordered") == true) と設定して、以前の例の 2 つ目のステージをアクティベートします。

IT_Orders サンプルプロジェクトで使用する条件に関する例や情報は『ケース管理の使用ガイド』を参照してください。

8.3. ステージへの動的タスクの追加

動的タスクは、REST API 要求を使用してランタイム時にケースステージに追加できます。これは、ケースインスタンスに動的タスクを追加することに似ていますが、タスクが追加されるステージの caseStageId を定義する必要もあります。

以下の手順に沿って、Swagger REST API ツールを使用して、Business Central で利用可能な IT_Orders サンプルプロジェクトの動的タスクをステージに追加します。Swagger のない REST API でも、同じエンドポイントを利用できます。

前提条件

  • 以前の例に示されているように、IT_Orders サンプルプロジェクトの BPMN2 ケース定義は、マイルストーンではなくステージを使用して再設定できます。 ケース管理向けにステージを設定する方法については、「ステージの定義」を参照してください。

手順

  1. Showcase アプリケーションを使用して新規ケースインスタンスを開始します。Showcase の使用に関する情報は、『ケース管理への Showcase アプリケーションの使用』を参照してください。

    このケースはステージを使用して作成されているため、ケース詳細ページにはステージの追跡が表示されます。

    case with stages showcase

    最初のステージは、ケースインスタンスの開始時に自動的に開始します。

  2. manager ユーザーとして、Business Central の Menu Track Task Inbox の下で、ハードウェア明細書を承認し、ケースの進捗を確認します。

    1. Business Central で Menu Manage Process Instances の順にクリックし、アクティブケースインスタンス IT-0000000001 を開きます。
    2. Diagram をクリックして、ケースの進捗を表示します。
  3. Web ブラウザーで、以下の URL を開きます。

    /http://localhost:8080/kie-server/docs

  4. Case instances :: Case Management で利用可能なエンドポイントの一覧を開きます。
  5. 以下の POST メソッドのエンドポイントをクリックし、詳細を開きます。

    /server/containers/{id}/cases/instances/{caseId}/stages/{caseStageId}/tasks

  6. Try it out をクリックして、以下のパラメーターを完了します。

    Expand
    表8.1 パラメーター
    名前説明

    id

    itorders

    caseId

    IT-0000000001

    caseStageId

    Order delivery

    caseStageId は、ケース定義に含まれるステージ名です。このケース定義で、動的タスクが作成されます。これには、動的またはサービスタスクペイロードを指定できます。サンプルについては、「REST API を使用した動的サブプロセスの作成」または「REST API を使用した動的サービスタスクの作成」を参照してください。

動的タスクをステージに追加したら、ステージを完了して、ケースフローの次の項目にプロセスを進ませるために、その動的タスクを完了する必要があります。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る