我正在研究.NET 4.0的Windows Workflow(WF),但好像缺少一些要素。从BPM角度来看,您需要具备工作队列和安全性(用户授权)的概念。
例如,假设您有多个长时间运行的工作流实例,这些实例来自不同的工作流,并在应用程序服务器上运行(例如AppFabric)。其中一些实例正在等待来自客户端的调用(可能是基于内容的WCF接收)。客户端需要能够查询服务器,以确定哪些工作流实例(来自任何工作流)正在等待他们的输入。这必须在活动级别进行权限控制(最好使用Active Directory Services)。
例如:
例如,假设您有多个长时间运行的工作流实例,这些实例来自不同的工作流,并在应用程序服务器上运行(例如AppFabric)。其中一些实例正在等待来自客户端的调用(可能是基于内容的WCF接收)。客户端需要能够查询服务器,以确定哪些工作流实例(来自任何工作流)正在等待他们的输入。这必须在活动级别进行权限控制(最好使用Active Directory Services)。
例如:
- 工作流1
- 活动A,基于orderId进行关联
- 权限:Abby、Bill
- 活动B,基于orderId进行关联
- 权限:Abby
- 活动A,基于orderId进行关联
- 工作流2
- 活动C,基于workItemId进行关联
- 权限:Bill
- 活动C,基于workItemId进行关联
工作流1有3个实例正在运行,其中两个在Activity A(订单123和456),一个在Activity B(订单789)。
工作流2在Activity C上有1个实例(工作项99)。
Bill查询服务器并看到:
工作流 活动 键值 1 A orderId=123 1 A orderId=456 2 C workItemId=99
Abby查询服务器并看到:
工作流 活动 键值 1 A orderId=123 1 A orderId=456 1 B orderId=789
本文讨论了为WF 3.x从头编写功能(支持人工活动)的方法。
问题:
- WF 4中是否具有此功能?如果有,它被称为什么?
- 如果没有,是否有开源项目将此功能添加到WF 4中?
- 如果没有,是否有比上述文章更为最新的实现指南?