我正在调查.NET 4.0的Windows Workflow(WF),并且似乎缺少一些作品。来自 BPM 透视图,您想具有工作队列和安全性的概念(用户授权)。

例如,假设您在应用程序服务器上运行的几个不同的工作流程(例如AppFabric)中有多个长期运行的工作流程实例。几个实例正在等待客户的呼叫(也许是基于内容的相关性的WCF接收)。客户需要能够查询服务器以确定哪些工作流程实例(来自任何工作流程)正在等待其输入。这必须是在活动级别上基于权利的(最好使用Active Directory Services)。

例如:

  • 工作流程1
    • 活动A,在有序中相关
      • 权利:艾比,法案
    • 活动B,在有序中相关
      • 权利:艾比
  • 工作流2
    • 活动c,在工作因素上关联
      • 权利:法案

Workflow 1具有3个实例,在活动A(订单123和456)和活动B(订单789)中有2个实例。
工作流2在活动C处运行1个实例(工作项目99)。

Bill查询服务器并看到:

Workflow  Activity  Key
1         A         orderId=123
1         A         orderId=456
2         C         workItemId=99

艾比查询服务器并看到:

Workflow  Activity  Key
1         A         orderId=123
1         A         orderId=456
1         B         orderId=789

本文 讨论从头开始编写WF 3.x的功能(支持人类活动)。

问题:

  1. WF 4中有任何此功能吗?如果是这样,它叫什么?
  2. 如果没有,是否有一个开源项目将任何此功能添加到WF 4中?
  3. 如果没有,是否有比上述文章更多的实施指南?

注意:如果我可以避免,我宁愿不将解决方案添加到SharePoint。

有帮助吗?

解决方案

好的,让我们从简单的遮阳篷开始。

  1. 没有框中没有直接支持
  2. 据我所知,没有提供此功能的操作系统项目。
  3. 并不是我知道,但是我不得不承认我也不知道这篇文章。

到目前为止,坏消息。

假设您想写这样的东西,但是有一些基本的构建块。如果使用SQLWorkFlowInstancestore,则将获得包含给定工作流的当前书签的列。这将告诉您目前在给定的工作流程中哪些接收活动处于活动状态。

SQLWorkFlowInstancestore中还具有属性促销的概念,它可以使您可以在示例中提取(从而在示例中提取orderfer变量)进行查询。要注册的另一件事是启动工作流程的人,因为通常只允许发起者允许某些操作。

将这些与自定义表与每个工作流程和WCF操作的安全规则相结合,我应该认为您在这里可以实现基本实现。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top