DUICUO

BPM プロセス エンジンの概念と用語の包括的な概要。

この記事では、BPMビジネスプロセス管理で一般的に使用される概念と用語に焦点を当てます。これらの概念は、JBPM、Activiti、Flowable、Camundaといった主要なオープンソースワークフローエンジンにも適用できます。

I. BPMモデルシンボルプロトコル

1. BPMN(ビジネスプロセスモデルと記号表現)

BPMN(Business Process Model and Notation)は、様々なビジネスプロセスをビジネスプロセスモデルとして詳細に記述するために使用されるグラフィカル表記法です。元々はBusiness Process Management Initiative(BPMI)によって開発され、「Business Process Modeling Notation」と名付けられました。

2. CMMN(ケースマネジメントモデルシンボル)

ケースマネジメントモデル記法(CMMN)は、変化する状況に応じて予測不可能な順序で実行される可能性のある様々なアクティビティを必要とするケースに基づいて、作業方法を記述するために使用されるグラフィカル記法です。イベント中心のアプローチとケースファイルの概念を用いることで、CMMNはBPMNでモデル化できる範囲を拡張し、構造化された作業負荷削減やナレッジワーカー主導の作業負荷などに対応します。BPMNとCMMNを組み合わせることで、ユーザーはより幅広い作業方法をカバーできます。

3. DMN(意思決定モデル表記法)

DMNはDecision Model and Notation(意思決定モデルと表記法)の略称で、BMNの策定組織であるOMGが管理する標準規格です。DMNは、ビジネス上の意思決定やルールを正確に定義するためのモデリング言語および表記法です。DMNはBPMNやCMMNと連携するように設計されており、プロセスやケースに関連する意思決定をモデリングするためのメカニズムを提供します。BPMN、CMMN、DMNはそれぞれ独立して使用することもできますが、互いに補完し合うように慎重に設計されています。BPMN、CMMN、DMNは、まさにプロセス改善標準の「三冠王」と言えるでしょう。

II. プロセスエンジン関連用語

1. プロセス定義

プロセス定義は、BPMN仕様に準拠した完全なプロセスモデル定義ファイルであり、モデリングを通じて生成されます。プロセス定義は、プロセスの構造、つまりビジネスアクティビティの実行プロセスを定義します。Camunda bpmは、プロセス定義の主要なモデリング言語としてbpmn 2.0を使用しています。

2. 流れ方向/シーケンシャルフロー:

シーケンシャルフローは、2つのプロセスノードを結ぶ線です。シーケンシャルフローは、一方の端に矢印が付いた実線で、ダイアグラム内のプロセスまたは単一のプール内の要素を結び、それらの要素の実行順序を示します。メッセージフローは、一方の端に矢印が付いた点線で、2つの別々のプール(または2つの別々のプール内の要素)を結び、メッセージの送信方向を示します。

3. プロセスインスタンス

プロセスインスタンスは、プロセス定義のスタンドアロン実行です。プロセス定義とプロセスインスタンスの関係は1対多です。プロセスインスタンスとプロセス定義の関係は、オブジェクト指向プログラミングにおけるオブジェクトとクラスの関係に似ています(この例えでは、プロセスインスタンスはオブジェクトの役割を果たし、プロセス定義はクラスの役割を果たします)。

プロセス定義が設計されると、BPMに公開されます。プロセスエンジンはプロセス定義を解析し、プロセスが開始されるたびにプロセスインスタンスが作成されます。例えば、「休暇申請プロセス」が作成された場合、これはプロセス定義です。Zhang Sanが休暇申請プロセスを開始すると、プロセスインスタンスが作成されます。Li Siも休暇申請を開始すると、別のプロセスインスタンスが作成されます。どちらのインスタンスも、プロセス定義に基づいて作成・生成されます。

4. 実行インスタンス

実行インスタンスはプロセス実行インスタンスです。プロセスインスタンスに複数の実行パス(例えば並列ゲートウェイの後など)が含まれている場合、複数の実行インスタンス(実行インスタンス)が同時に生成されます。executionId は、プロセスインスタンス内の現在アクティブなパスを識別するために使用できます。

実行は階層構造になっています。プロセスインスタンス内のすべての実行はツリー構造を形成し、プロセスインスタンスがルートノードとなります。プロセスインスタンス自体も実行です。

5. アクティビティインスタンス

アクティビティインスタンスは実行の概念に似ていますが、視点が異なります。実行はプロセス内を移動するトークンと考えることができますが、アクティビティインスタンスはアクティビティ(タスク、サブプロセスなど)の単一のインスタンスを表します。したがって、アクティビティインスタンスの概念は、より状態指向的です。

6. タスク

すべてのタスクはアクティビティですが、すべてのアクティビティがタスクであるとは限りません。タスクはプロセス内のノードですが、すべてのプロセスノードがタスクであるとは限りません。

ユーザー タスク: トリガーするにはユーザーの参加が必要なタスクです。

サービス タスク: サービス タスクはさらにさまざまな種類のサービス タスクに分類できます。

7. サービスタスク

Camundaでは、サービスタスクはサービスの呼び出しに使用されます。Camundaでは、ローカルJavaコード、外部の作業項目、またはWebサービスとして実装されたロジックを呼び出すことで、これを実行できます。

8. スクリプトタスク

Camundaでは、スクリプトタスクは自動化されたアクティビティです。プロセスがスクリプトタスクに到達すると、関連付けられたスクリプトが自動的に実行されます。Camundaは、Groovy、JavaScript、JRuby、Jythonなど、主にJSR-223互換のスクリプトエンジン実装をサポートしています。

9. スケジュールされたタスク(ジョブとジョブ定義)

ジョブとジョブ定義(ジョブエグゼキュータ)は、Camundaプロセスエンジン内のコンポーネントです。ジョブエグゼキュータは、非同期のバックグラウンドタスクを実行するスケジューリングコンポーネントです。タイマーイベントの例を考えてみましょう。プロセスエンジンはタイマーイベントに到達すると、実行を停止し、現在の状態をデータベースに保存し、将来実行を継続するためのジョブを作成します。プロセスがデプロイされると、プロセスエンジンはプロセス内の各アクティビティに対してジョブ定義を作成します。これらのアクティビティは実行時にジョブを作成します。

10. イベント

イベントは、BPMNプロセスモデリング要素の一つで、プロセス中に「発生」し、プロセスフローに影響を与える事象を表します。BPMNでは、様々なイベントタイプが定義されています。イベントには、開始、中間、境界、終了の4種類があります。トリガー方法に基づいて、キャッチイベントとスローイベントに分類できます。

詳細については、https://lowcode.blog.csdn.net/article/details/122886122 を参照してください。

11. プロセス変数

プロセス変数は、ビジネスロジックとプロセスエンジン間で交換される情報の伝達手段として、ワークフロー全体において重要な役割を果たします。ビジネスロジックはプロセス変数にデータを格納し、それをプロセスエンジンに渡すことができ、プロセスエンジンもプロセス変数に情報を格納し、それをビジネスロジックに渡すことができます。プロセス変数の最も一般的な用途は、ルーティング条件式とプロセス実行イベントパラメータです。例えば、休暇申請プロセスでは、休暇日数や休暇理由などのパラメータがプロセス変数のスコープに含まれます。プロセス変数のスコープはプロセスインスタンスに限定されます。つまり、異なるプロセスインスタンスにまたがるプロセス変数は相互に影響を与えません。

12. ゲートウェイ

ゲートウェイは、BPMN2仕様におけるプロセス定義要素であり、「ゲートウェイ」、「意思決定」、「判断」システムとも呼ばれます。ゲートウェイはプロセスの実行フローを制御し、パスを分岐する際にトークンを生成し、パスを結合する際にトークンを消費します。一般的なゲートウェイの種類には、排他ゲートウェイ(XOR)、並列ゲートウェイ(AND)、包含ゲートウェイ(OR)があります。BPMN2.0仕様では、排他ゲートウェイと並列ゲートウェイを定義するためのタグとして、それぞれ「bpmn:exclusiveGateway」と「bpmn:parallelGateway」が用意されています。これらのタグは、Activiti、Flowable、Camundaなどのオープンソースワークフローエンジンでサポートされています。

13. スイムレーン:

BPMNにおいて、スイムレーンオブジェクト(スイムレーンとも呼ばれる)は、ビジネスプロセスの参加者を表す長方形のボックスです。スイムレーンには、そのスイムレーン(参加者)によって実行されるフローオブジェクトを含めることができますが、フローオブジェクトは空の黒いボックスである必要があります。スイムレーンは水平または垂直に配置できます。これらは意味的には同じですが、表すものが異なります。水平スイムレーンではプロセスは左から右へ流れ、垂直スイムレーンではプロセスは上から下へ流れます。スイムレーンの例としては、顧客、顧客部門、決済ゲートウェイ、開発チームなどが挙げられます。

プール:プールは、ビジネスプロセスにおける参加者を表します。特定のエンティティ(部門など)または役割(アシスタントマネージャー、医師、学生、サプライヤーなど)のいずれかになります。

レーン:レーンとは、プールのサブセクションです。例えば、プール部門がある場合、部門長と一般スタッフをレーンとして使用できます。プールと同様に、レーンを使用して、プロセスに関与する特定のエンティティまたはロールを表すことができます。

14. サブプロセス

サブプロセスとは、他のアクティビティ、ゲートウェイ、イベントなどを含むアクティビティであり、そのプロセスはより大きなプロセスの一部となります。サブプロセスは親プロセス内で完全に定義されます(そのため、埋め込みサブプロセスと呼ばれることもあります)。

BPMN 2.0では、埋め込みサブプロセスと呼び出しアクティビティが区別されます。概念的には、プロセス実行がアクティビティに到達すると、どちらもサブプロセスを呼び出します。

違いは、呼び出しアクティビティがプロセス定義の外部にあるプロセス定義を参照するのに対し、サブプロセスは元のプロセス定義内に埋め込まれている点です。呼び出しアクティビティの主な使用例は、複数の他のプロセス定義から呼び出せる再利用可能なプロセス定義を持つことです。サブプロセス定義は実行時に解決されます。必要に応じて、サブプロセスを個別に呼び出すこともできます。

プロセス実行が呼び出しアクティビティに到達すると、新しいプロセスインスタンスが作成されます。このインスタンスはサブプロセスの実行に使用され、通常のプロセスと同様に、サブプロセスの実行中に並列サブ実行が作成されることがあります。メインプロセスインスタンスは、サブプロセスが完全に終了するまで待機してから、元のプロセスを続行します。

サブプロセスは階層的なモデリングを可能にします。多くのモデリングツールでは、サブプロセスを折りたたむことで、サブプロセスの詳細をすべて非表示にし、ビジネスプロセスのエンドツーエンドの高レベルな概要を表示できます。

15. 特別な手続き(アドホック)

アドホックプロセスとは、高レベルの集約によってのみ標準化できる一連のビジネス活動とそれに対応する成果物(情報、意思決定、製品など)を指します。実際の活動の種類とその順序はケースごとに異なります。アドホックプロセスは、国内では「任意フロー」とも呼ばれます。アドホックプロセスの特徴は次のとおりです。

一部のアクティビティは予測できますが、必要な情報は特定の方法でのみプロジェクトに入力できるため、ほとんどのプロセスは最初から完全に指定することはできません。

アドホックプロセスにおいては次のステップが決して決定されないと仮定すると、従来のプロセスベースの情報システムではその実行を制御することはできません。多くの場合、ナレッジワーカーがプロセスを制御できます。

設計段階でアドホック プロセスのすべての可能性を考慮することは不可能と思われます。また、そのようなプロセス モデルは複雑になり、管理が困難になります。

16. 展開

デプロイメントとは、プロセス定義がワークロード エンジンに公開されることを指します。

17. アイデンティティ管理(IDM)

資格情報管理用の SSO 機能を提供します。これを使用して、権限、ユーザー、およびグループを管理できます。

18. プロセスデザイナー(モデラー)

モデル管理ツールは、プロセスモデル、フォーム、アプリケーション定義を定義するために使用されます。Camunda BPMは、C/Sプロセスモデリングツール(Modeler)とB/Sプロセスモデリングツール(bpmn.io)を提供しています。ユーザーはドラッグ&ドロップでフローチャートを設計でき、完成したXMLファイルがプロセス定義となります。

19. フォーム

フォームは各プロセスノードで使用するように設定されています。例えば、休暇申請の場合、ユーザーは休暇日数と休暇理由を入力する必要があり、承認ノードの場合、承認者は承認コメントなどを入力する必要があります。

20. BPM(ビジネスプロセス管理)

BPMとは、ビジネスプロセスの分析、設計、実装、監視、最適化を通じて組織の目標を達成するための管理手法およびテクノロジーを指します。以下は、BPMに関連する概念と用語です。

21. プロセス

プロセスとは、特定のルールと手順に従って、特定の目標を達成するために特定の環境で実行される一連のアクションを指します。

22. プロセス図

プロセス図は、通常はフローチャートやデータフロー図などを使用してプロセスを表すために使用されるグラフィカル ツールです。

23. プロセスモデリング

プロセス モデリングとは、現実世界のビジネス プロセスを抽象化し、フローチャートなどのモデルを使用して表現するプロセスを指します。

23. プロセス設計

プロセス設計とは、組織の目標を達成するために、プロセス モデリングに基づいてプロセスをさらに最適化することを指します。

24. プロセスの実装

プロセス実装とは、プロセス設計を実際の業務運用に適用し、設計要件に従って実行されることを確認することを指します。

25. プロセス監視

プロセス監視とは、プロセスをリアルタイムで監視し、問題を迅速に特定して対処することを指します。

26. プロセス最適化

プロセス最適化とは、実際の状況に基づいてプロセスを調整し、効率を向上したり、コストを削減したりすることを指します。

27. 自動化されたプロセス

自動化プロセス: コンピューター テクノロジを使用してワークフローを自動化するビジネス プロセスを指します。

28. プロセスエンジン

プロセス エンジンは、プロセスを管理および実行し、プロセスの自動化と最適化をサポートするために使用されるコンピューター ソフトウェアの一種です。

29. ビジネスルール

ビジネス ルールとは、ビジネス プロセスの実行をガイドするために組織内で確立されたルールと標準を指します。

30. 事業活動

ビジネス アクティビティ: プロセス内の特定の操作またはタスクを指し、プロセス目標を達成するための基本単位です。

31. ビジネスイベント

ビジネス イベント: プロセス実行を促進するために使用できる、ビジネス プロセスの状態または重要なイベントの変化の観察と記録を指します。

III. 中国式プロセスオペレーションコンセプト

1. 副署

副署名とは、共同でレビューと承認を行う特別な承認プロセスです。これは、複数の人が同時に処理する必要があるタスクにおける、複数人による投票メカニズムと捉えることができます。これらの複数の人の意見が集約され、プロセスの次のステップが決定されます。プロセスを設計する際に、副署名承認ノードに複数の参加者が含まれている場合、各ノードのタスクはプロセス中に複数の人による共同処理が必要になります。そして、これらの複数の参加者の意見が集約され、副署名ノードの結果が決定されます。

副署名には、並列副署名と順次副署名の 2 種類があります。

並行承認: これは、A、B、C など、同じ承認ノードに複数の人を設定することを指します。3 人全員が同時に実行するタスクを受け取り、3 人全員が同意した後にのみ、承認が次の承認ノードに進むことができます。

順次副署名:これは、A、B、Cのように、同じ承認ノードに複数の担当者を配置することを指します。3人は、保留中の作業を順番に受け取ります。つまり、Aが最初に承認し、BはAが承認を提出した後にのみ承認できます。3人全員が同意した場合にのみ、承認は次の承認ノードに進みます。

2. または署名

プロセス承認ノードは複数の担当者によって処理され、そのうちの 1 人が処理を完了すると、プロセスは次のノードに進むことができます。

例えば、従業員が購入依頼を作成し、複数のリーダーに承認を求めます。リーダーの1人が承認すると、依頼は次の段階に進みます。

BPMN 2.0仕様は、
bpmn:multiInstanceLoopCharacteristics はマルチインスタンスループモデルを定義し、bpmn:completionCondition タグはマルチインスタンスループの完了条件を定義します。この属性は、Activiti、Flowable、Camunda などのオープンソースワークフローエンジンでサポートされています。

3. コピー先

CC: CC リスト内の該当する人に承認結果を通知します。

4. 拒絶

却下:承認プロセスがリセットされ、新しいノードに送られて再承認が行われます。却下は差し戻しとも呼ばれ、さらに申請者への差し戻し、前ステップへの差し戻し、任意差し戻しに分類されます。

申請者に返す: プロセスを申請ノードに直接返します。

前のステップに戻る: プロセス内の前のノードに戻ります。

任意のノードに巻き戻す: プロセス内で通過した任意のノードに巻き戻します。

5. 転送

転送: Aは承認を得るために申請をBに転送します。Bが申請を承認すると、次のステップに進みます。

6. 委任

委任: A は承認のために B に委任し、B はリクエストを承認し、それを A に再び委任し、A はリクエストを承認してから次のステップに進みます。

7. ジャンプ

ジャンプ: 現在のプロセス インスタンスから任意の処理ノードにジャンプできます。

8. 取り戻す

取得: 現在のハンドラーがドキュメントを処理する前に、前のノードでドキュメントを送信したユーザーがドキュメントを取得できます。

9. キャンセル

キャンセル: プロセス開始者はプロセスをキャンセルできます。

10. フォローアップ

迅速化: 現在問題を処理している担当者に、迅速な通知メッセージを送信できます。

11. 合法化

追加署名: 現在の申請者が必要に応じて現在の処理段階に人員を追加できるようにします。

12. ビザの短縮

応募者数を減らす: 現在の応募者が操作を行う前に、応募者数を減らします。

オンライントライアルシステム: http://www.yunchengxc.com