.NET 4.0用のWindowsワークフロー(WF)を調査していますが、いくつか欠落しているようです。BPMの観点からは、ワークキューとセキュリティ(ユーザー認証)の概念が必要です。
たとえば、アプリケーションサーバー(AppFabricなど)で実行されている複数の異なるワークフローからの複数の長時間実行ワークフローインスタンスがあるとします。いくつかのインスタンスは、クライアントからの呼び出しをアクティビティで待機しています(おそらく、コンテンツベースの相関関係を持つWCF受信)。クライアントは、サーバーにクエリを実行して、(任意のワークフローからの)どのワークフローインスタンスがクライアントからの入力を待機しているかを判断できる必要があります。これは、アクティビティレベルで権利ベース(できればActive Directoryサービスを使用)である必要があります。
例えば:
- ワークフロー1
- アクティビティA、orderIdに相関
- 権利:アビー、ビル
- アクティビティB、orderIdに相関
- 権利:アビー
- アクティビティA、orderIdに相関
- ワークフロー2
- アクティビティC、workItemIdに関連付けられています
- 権利:ビル
- アクティビティC、workItemIdに関連付けられています
ワークフロー1には3つのインスタンスが実行されており、2つはアクティビティA(注文123および456)で、1つはアクティビティB(注文789)で実行されています。
ワークフロー2には、アクティビティC(作業項目99)で実行されている1つのインスタンスがあります。
Billはサーバーにクエリを実行し、次のことを確認します。
ワークフローアクティビティキー 1 orderId = 123 1 orderId = 456 2 C workItemId = 99
Abbyはサーバーにクエリを実行し、次のことを確認します。
ワークフローアクティビティキー 1 orderId = 123 1 orderId = 456 1 B orderId = 789
この記事では、WF 3.xの機能(人間の活動のサポート)を最初から作成する方法について説明します。
質問:
- WF 4にこの機能はありますか?もしそうなら、それは何と呼ばれていますか?
- そうでない場合、この機能のいずれかをWF 4に追加するオープンソースプロジェクトはありますか?
- そうでない場合は、上記の記事よりも実装に関する最新のガイドラインがありますか?
注:回避できるのであれば、ソリューションをSharePointに結合したくありません。