14

私は、内部コールセンターアプリケーション(ASP.NET)の一部としてWWFをしばらく使用しており、ステートマシンベースのワークフローシステムがどのように機能するかを理解する上で良い習慣であることを学びながら私は絶対に好きではありません。 WWF自体。私の意見では、それは次のとおりです。

  1. 非常に複雑で、特にWebアプリ内で使用する場合(スレッド化されたランタイムのものすべて)
  2. 未熟(その恐ろしいデザイナーと一緒に働いたことはありますか?)
  3. 現在の機能セットの貧血

誰かがより良い.NETベースのワークフローフレームワークについての提案がありますか?具体的には、次の機能を探しています。

  1. ステートマシンベース(状態を使用可能なアクションにマッピング)
  2. ユーザー権限に焦点を当てる(誰がどのアクションにアクセスできるかを制御する)
  3. 時限バックグラウンドタスクとしてワークフローを実行する機能(たとえば、x日間特定の状態にあるアイテムのリマインダーを送信する)

本当に必要なのはそれだけです。アクティビティを「ドラッグアンドドロップ」したり、フローを視覚的に設計したりする必要はありません。特定のアクションがトリガーされたら、実際のコードを書くのは完全に快適です。

4

9 に答える 9

14

Simple State Machineを試すことができます。アクセス制御とバックグラウンド タイマーを自分で実装する必要がありますが、それは大したことではありません。SSM も、WF に対するフラストレーションから構築されました。Codeplex には、他にもいくつかのステート マシンの実装があります。それらの 1 つが箱から出してすぐに請求できるものではない場合、それらはオープン ソースであり、十分に近づくことができます。

WF のステート マシンについては、あなたの意見に心から同意します。ステート マシンはテストできず、複雑すぎます。スレッド モデルは独特で従うのが難しく、ビジュアル デザイナーがステート マシンを設計するために、これ以上考えられなかったとは思えません。グラフィカルに。これは、ステート マシンの概念が、シーケンシャル ステート マシン用に設計された WF ランタイムに組み込まれているように感じられるためではないかと思います。問題は、ステート マシンがシーケンシャル ワークフローと実際には同じ動物ではなく、独自のファースト クラスの実装を与えるべきだったということです。実際に使用できなくても、サポートできません。

于 2008-08-21T04:38:42.127 に答える
4

SVN への最後のコミットが 2007 年 9 月だったので、私は Drools.Net には近づきません。見た目は良いですが、これほど大きなライブラリがもはや注目されていないことがわかっている場合、プロジェクトの一部にするのは少しリスクが高すぎるように思えます。

于 2009-01-09T10:41:01.737 に答える
1

Drools.NET を試す

于 2008-10-23T14:44:53.527 に答える
0

BizTalk Serverを検討するオプションはありますか?

于 2008-08-21T04:23:31.290 に答える
0

私は、Oracle BPEL Process Manager での作業をとても楽しんでいました。これは JDeveloper の一部です。

http://www.oracle.com/technology/bpel/index.html http://gemsres.com/story/dec06/313602/jellema-fig1.jpg

于 2009-01-09T10:49:20.563 に答える
0

Jazz をご覧になることをお勧めします - http://jazz.codeplex.com/

于 2012-05-10T21:54:01.533 に答える
0

まず、BPMN をサポートするエンジンを探す必要があります。BPMN は、ワークフローおよびプロセス管理の標準であり、多くのプロジェクトから十分にサポートされています。次に、エンジンの要件について考える必要があります。BPMN エンジンを探す場合、2 つの異なるアプローチがあります。

タスク指向

これらのエンジン ( JBoss BPM - jbpmなど) は、明確に定義されたプロセス モデルによって入力データを処理するように設計されています。モデル内の各タスクは、標準実装または個別実装のいずれかのコード片に制御を与えます。プロセス トークンがプロセス モデルの最後 (End-Event) に到達すると、プロセスは終了します。この種の処理には数ミリ秒かかります。このエンジンは、バッチ ジョブや、複雑なプロセス指向のフローでのデータ処理に使用できます。

イベントドリブン

Human-Centric ワークフロー エンジンはイベント駆動型です (例: Imixs-Workflow )。これは一種のステート マシンですが、通常はより多くの機能を提供します。ビジネス オブジェクトに初期タスク (開始イベントで定義) を割り当てることで、新しいプロセス インスタンスを開始できます。ワークフロー エンジンにより、モデルで定義された各タスクに割り当てられたイベントをトリガーできます。各イベント (Intermediate CatchEvent) は、ワークフロー エンジンをトリガーして、実行中のプロセス インスタンスを次のタスク (状態) に転送します。新しいイベントがトリガーされなくなるまで、プロセスインスタンスは現在のタスク (状態) で「待機」します。承認プロセスは、この種の人間中心のワークフローの典型的な例です。

エンジンのリストはこちらにあります。

于 2017-03-31T21:47:22.333 に答える