web-dev-qa-db-ja.com

ステートマシンとワークフローの違いは何ですか?

「ステートマシン」と「ワークフロー」の違いと、「ステートマシンワークフロー」との違いを知りたいのですが。

22
Rohit Sharma

ワークフロー および ステートマシン はウィキペディアで適切に定義されています。

このページ からステートマシンワークフローという用語を取得していると思います。 .NETは、ワークフローをモデル化するさまざまな方法をサポートしているようです(これは、複雑なヒューマンタスクで定義されたステップにすぎません)。ステートマシン(状態間の遷移を伴う状態のマップ)は、完了するまでさまざまなブランチに先行するシーケンシャルワークフローとは対照的に、ループを許可します。

9
Jere
  • プロダクトマネージャー描画ワークフロー定義グラフそしてそれを開発者/プログラマーに渡します。プロダクトマネージャーが作成した要件ドキュメントを読んだ後、開発者/プログラマーエンティティの設計、エンティティの状態、次にいくつかのエンティティの状態を設定します1つのワークフローノード

  • WorkFlowには並列ゲートウェイ、包括的ゲートウェイ、および排他的ゲートウェイがありますが、State Machineには排他的ゲートウェイしかありません。soWorkFlow複数のワークフローノードで使用できます同時に、ただしステートマシン 1つのノードでのみ可能

  • WorkFlowという用語は、人々がどのように仕事をするかおよびどのように情報を処理するかを表すことと非常に関連しています。

  • 新規参入者は、ワークフロー定義グラフによってプログラムを簡単に理解でき、ワークフロー定義グラフは、ワークフローエンジン(ac​​itivtiやjbpm6など)によってコードにバインドされます。 コードと同期です。要件ドキュメントはコードと同期していません。

4
micro Java

Jereが述べているように、ステートマシンは循環グラフである可能性があり、ワークフローは通常非循環です。ほとんどの場合、ワークフローの用語は、おそらく一部の情報が変更されている、ある種の人間の相互作用を示すために使用されます(例:ドキュメント)。ワークフローという用語は、人々がどのように仕事をし、どのように情報を処理するかを表すことに大きく関係しています。ステートマシンは、エンティティまたはエンティティのグループのさまざまな状態を表す必要がある、より技術的な概念です。また、おそらくビジネスプロセスについて質問する必要があります:)乾杯

4
salaboy