2

ms Workflow WF 4 が次のシナリオで使用できるかどうかを把握しようとしています。asp.net mvc 3 で Web アプリケーションを作成しようとしています。

オフィスにはさまざまな役割が存在する状況があります。フォームは、さまざまな役割 (プロジェクトマネージャー、チームリーダー、ディレクター) から承認を受ける必要があります。そこで、プロジェクトマネージャーはフォームを作成し、承認のためにチームリーダーに提出します。チームリーダーは通知を承認し、このフォームを承認します。そして、彼がそれを承認して提出した後、ディレクターからの承認に進みます。承認しない場合は、フォームをプロジェクト マネージャーに送り返します。

これは、これをasp.net mvc 3と組み合わせてWF 4に実装するのに役立ちますか?それともお勧めできませんか?

4

2 に答える 2

3

新しいテクノロジーの選択は、多くの基準に依存します。したがって、ワークフローを使用するか、ビジネス上の問題に対処しないかを決定したい場合は、現在の要件で小さな POC を作成してください。それを検証してください、これは最も適切な方法ですか?あなたのチームはこの技術をよく知っていますか? 必要な学習曲線は?

私の見解では、現在の要件はワークフロー 4.0 を使用するのに適しています。これは長時間実行されるプロセスであり、頻繁な人間の介入が必要でした。

これらのリンクも参照できます。

http://msdn.microsoft.com/en-us/library/dd851337

http://msdn.microsoft.com/en-us/library/ee342461.aspx

http://msdn.microsoft.com/en-us/library/cc709416

于 2012-06-29T07:15:06.410 に答える
1

WF4 について懸念を表明したいと思います。鳥の観点からワークフローを説明しているように思えます。ワークフローは、情報 (フォーム) が、それぞれ異なる責任を持つ複数の関係者によって承認される必要があるというものです。

MVC の見込み客から問題を見ると、次のことがわかります。

  1. 役割ベースの認証を使用した ASP.NET フォーム認証があります。
  2. 複数のモデルがあります - 情報 (あなたがそれを呼んだフォーム) だけでなく、project managerteam leader、 などの他の複数のモデルがありdirectorます。さらに、ドメイン モデル (Entity Framework 4/LINQ2SQL/NHibernate) 内の他の多数のジョイナー テーブル/エンティティ...
  3. そのデータを操作するためには、権限に基づいて、各ユーザーがアクセスできるビューのセットが異なる必要があります。
  4. 各ビューの背後には、データ ソースへの読み取り/書き込みの単調な作業やその他のロジックを処理するコントローラーもあります。

アプリで何らかのロジックを実現するためにワークフローを作成することは確かにできますが、最終的にそれらのワークフローはコントローラーから呼び出されます。さらに、各当事者からの承認プロセスが「承認」ボタンまたはその他の UI インタラクションをクリックすることである場合、これを実現するために WF4 を使用する意味はないと思います。

私の意見では、WF4 は UI インタラクションにはあまり適していません。大量のデータを操作したり、複雑なロジックを調整して何らかのタスクを達成したりするバックエンド コードを作成する場合に、これは非常に優れています。ただし、あなたが説明したシナリオでは、実際にはそのような用途はありません。

承認プロセスは、多くても FormID、ApproverID、DateApproved、ApproverType、およびその他の情報を含むデータベースに「承認済み」レコードを設定する必要があります。(承認者 ID は、承認を行うユーザーの Guid/一意の識別子です)。

チーム リーダーとディレクターの両方の「承認待ち」フォームを表示するビューは、承認テーブルの結合が null レコードを生成するフォーム テーブルをクエリする必要があります (別名... 承認レコードは存在しません)。ドメインモデルとデータがどのように構造化されているかを考えると、探しているものを達成するためにコントローラー以上のものは必要ありません。

于 2012-07-02T04:47:23.573 に答える