【发布时间】:2010-11-12 20:31:12
【问题描述】:
我正在研究 .NET 4.0 的 Windows 工作流 (WF),但似乎缺少一些内容。从BPM 的角度来看,您希望拥有工作队列和安全(用户授权)的概念。
例如,假设您有多个长时间运行的工作流实例,这些实例来自在应用服务器(例如 AppFabric)上运行的多个不同工作流。一些实例正在等待来自客户端的调用(可能是具有基于内容的相关性的 WCF 接收)。客户端需要能够查询服务器以确定哪些工作流实例(来自任何工作流)正在等待来自它们的输入。这必须在活动级别基于权限(最好使用 Active Directory 服务)。
例如:
- 工作流程 1
- 活动 A,与 orderId 相关
- 权利:Abby、Bill
- 活动 B,与 orderId 相关
- 权利:艾比
- 活动 A,与 orderId 相关
- 工作流程 2
- 活动 C,与 workItemId 相关
- 权利:比尔
- 活动 C,与 workItemId 相关
工作流 1 有 3 个实例正在运行,两个在活动 A(订单 123 和 456),一个在活动 B(订单 789)。
工作流 2 有 1 个实例在活动 C(工作项 99)处运行。
Bill 查询服务器并看到:
工作流活动键 1 个订单Id=123 1 个订单Id=456 2 C workItemId=99Abby 查询服务器并看到:
工作流活动键 1 个订单Id=123 1 个订单Id=456 1 B 订单ID=789This article 讨论从头开始为 WF 3.x 编写功能(对人类活动的支持)。
问题:
- WF 4 中是否有任何此功能?如果有,它叫什么?
- 如果没有,是否有一个开源项目可以将任何此功能添加到 WF 4?
- 如果没有,是否有比上述文章更新的实施指南?
注意:如果可以避免,我宁愿不将解决方案与 SharePoint 结合。
【问题讨论】:
-
我现在正在构建这样一个系统,并且已经研究了几个月。工作量很大 - 不幸的是,我不能分享,因为这是一项商业冒险。我的也使用 MSMQ 作为传输,因此它增加了更多的复杂性。耐用的双工、.NET 上下文相关等。祝你好运!
标签: wcf .net-4.0 workflow-foundation-4 appfabric business-process-management