sharepoint 状态机工作流解决方案(二):sharepoint 中的 wf 状态机

sharepoint 状态机工作流解决方案(二):sharepoint 中的 wf 状态机

ID:9643400

大小:49.50 KB

页数:2页

时间:2018-05-04

sharepoint 状态机工作流解决方案(二):sharepoint 中的 wf 状态机_第1页
sharepoint 状态机工作流解决方案(二):sharepoint 中的 wf 状态机_第2页
资源描述:

《sharepoint 状态机工作流解决方案(二):sharepoint 中的 wf 状态机》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SharePoint状态机工作流解决方案(二):SharePoint中的WF状态机  在前文中我们提到SharePoint是在WF工作流引擎之上,封装了事件驱动接口的一个工作流平台;SharePoint在WF上扩充了很多Activity,其中和WF密切相关的有三个常用Activity是:OnWorkflowActivated,CreateTask,OnTaskChanged。  一个简单的SharePoint顺序流。   OnWorkflowActivated:响应流程启动的事件。  CreateTask:生

2、成SharePoint的任务。  OnTaskChanged:响应任务被改变的事件。  在一个流程中只能有一个OnWorkflowActivated;可以有任意数量的CreateTask和OnTaskChanged,但必须成对;  很多SharePoint工作流解决方案,在顺序流模式下,将CreateTask和OnTaskChanged组成一个自定义的Activity,然后利用ReplicatorActivity的自动复制功能,使之支持多人同时审批。这种方式流程很简洁,但顺序流不支持回退,遇到需要回退的情况,

3、只能通过WhileActivity模拟,流程又会变得很复杂。  一个简单的SharePoint状态机  流程包含了三个状态启动、审批和完成;再添加其他状态就可以实现状态之间的回退。  响应启动事件中包括了OnWorkflowActivated和SetStateActivity  添加审批人中包括了CreateTask  响应审批事件中包括了OnTaskChanged和SetStateActivity  WF的每个StateActivity只能包含一个StateInitializationActivity,用于

4、添加审批人和实现初始化的业务逻辑。可以包含多个EventDrivenActivity,用于同时响应多个审批事件,和实现审批后的业务逻辑;EventDrivenActivity的第一个控件必须是HandleExternalEventActivity(OnTaskChanged的基类)。  从上图中我们看到,在状态机下CreateTask和OnTaskChanged仍然是必须成对的,但他们的位置分开了,CreateTask处于StateInitalizationActivity中,OnTaskChanged处于E

5、ventDrivenActivity中。  可以多人同时审批的SharePoint状态机  如果要多人同时审批,需要在StateInitializationActivity中添加多个CreateTask,和在StateActivity中添加多个EventDriven。  添加审批人中包括了A的CreateTask和B的CreateTask。  响应A的审批事件中包含了A的OnTaskChanged。  响应B的审批事件中包含了B的OnTaskChanged。  如果需要添加更多的审批人,以此类推。  Shar

6、ePoint状态机工作流存在的问题  从上面我们可以发现,SharePoint的状态机应用存在下面两个问题:  1、EventDrivenActivity中的流程存在冗余,当流程复杂,审批人多的时候,很难维护。  2、审批人数在设计期就必须确定,不能改变。  在下一篇《SharePoint状态机工作流解决方案(三);内置缺省流程逻辑的SharePoint状态机》中,我们会介绍对这两个问题的解决方案。编缉推荐阅读以下文章SharePoint状态机工作流解决方案(三);内置缺省流程逻辑的SharePoint状态机

7、SharePoint状态机工作流解决方案(一):为什么要用状态机——..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。