Windows Workflow中的人类活动支持4
-
09-10-2019 - |
题
我正在调查.NET 4.0的Windows Workflow(WF),并且似乎缺少一些作品。来自 BPM 透视图,您想具有工作队列和安全性的概念(用户授权)。
例如,假设您在应用程序服务器上运行的几个不同的工作流程(例如AppFabric)中有多个长期运行的工作流程实例。几个实例正在等待客户的呼叫(也许是基于内容的相关性的WCF接收)。客户需要能够查询服务器以确定哪些工作流程实例(来自任何工作流程)正在等待其输入。这必须是在活动级别上基于权利的(最好使用Active Directory Services)。
例如:
- 工作流程1
- 活动A,在有序中相关
- 权利:艾比,法案
- 活动B,在有序中相关
- 权利:艾比
- 活动A,在有序中相关
- 工作流2
- 活动c,在工作因素上关联
- 权利:法案
- 活动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的功能(支持人类活动)。
问题:
- WF 4中有任何此功能吗?如果是这样,它叫什么?
- 如果没有,是否有一个开源项目将任何此功能添加到WF 4中?
- 如果没有,是否有比上述文章更多的实施指南?
注意:如果我可以避免,我宁愿不将解决方案添加到SharePoint。
解决方案
好的,让我们从简单的遮阳篷开始。
- 没有框中没有直接支持
- 据我所知,没有提供此功能的操作系统项目。
- 并不是我知道,但是我不得不承认我也不知道这篇文章。
到目前为止,坏消息。
假设您想写这样的东西,但是有一些基本的构建块。如果使用SQLWorkFlowInstancestore,则将获得包含给定工作流的当前书签的列。这将告诉您目前在给定的工作流程中哪些接收活动处于活动状态。
SQLWorkFlowInstancestore中还具有属性促销的概念,它可以使您可以在示例中提取(从而在示例中提取orderfer变量)进行查询。要注册的另一件事是启动工作流程的人,因为通常只允许发起者允许某些操作。
将这些与自定义表与每个工作流程和WCF操作的安全规则相结合,我应该认为您在这里可以实现基本实现。
不隶属于 StackOverflow