过年了向所有学习WF,关注我的博客的朋友们问个好,发布一个我用WF开发的工作流平台,供大家参考。(文/
WXWinter(冬))
这个平台适合于以审批为主业务的工作环境,可以做为一个产品直接使用(已有公司在项目中直接使用了这个平台).
这个平台的特点是我对子流程的支持做得比较满意
WF对子流程支持很弱,我没用
这个平台支持静态调用多个子流程,动态调用多个子流程,
支持并发调多个不同类型的子流程
支持并发多个子流程的等待
支持数据表单从主流程分单入子流程,子流程再入子流程,最后再回到主流程
支持可用不同分支并发的会签
支持将现有的正在运行的流程挂接到其它流程
支持流程自身的递归调用
先说一下我的代码 从来不在代码中加注解,我写代码的方式是先写文档,然后按文档去写代码.
所以,要看代吗要先打开文档
(这是文档中的一个抓图,[1.1],[1.2],[1.3]都是方法变号,方法前有[√]表示该方法有对应的单元测试)
附件:
011709_0212_WF1.png 打开代吗,你在代码中会看到编号,所有的编号在文档中都有详细目的,实现方式,调用,算法说明
附件:
011709_0212_WF2.png 附件:
011709_0212_WF3.png 附件:
011709_0212_WF4.png 数据库设计,架构设计都在文档中 附件:
011709_0212_WF5.png 服务 服务以EXE程序的方式运行
提供了权限,流程操作,报表的WCF提口,
服务写的非常稳定,所的能判断的都判断了,基本没用 try { } catch { },客户端的不正确操作服务都会有说明值返回,压力测试不会拖垮服务
系统级问题会写入系统日志,业务级问题会写入业务日志,logo文件中会记录所有操作的流水账.
服务的所的参数在config文件中配置,服务的主程序是[BPM.Foundation.Server.exe]
附件:
011709_0212_WF6.png 时间引擎 计时,自动处理,可以管理工作日
附件:
011709_0212_WF7.png 流程设计器(专业版) 可发直接从数据库中打开流程,保存流程,也可将流程导出为XOML文件,也可加载XOML文件
附件:
011709_0212_WF8.png 打开数据库中的流程
附件:
011709_0212_WF9.png 将流程发布到数据库中
附件:
011709_0212_WF10.png 可以在发布前用测试器在本地进行快速测试 附件:
011709_0212_WF11.png 附件:
011709_0212_WF12.png 可以为流程生成文档,并生成业务流程图 附件:
011709_0212_WF13.png 附件:
011709_0212_WF14.png 设计工作流时,有向导
附件:
011709_0212_WF15.png 附件:
011709_0212_WF16.png 附件:
011709_0212_WF17.png 附件:
011709_0212_WF18.png 附件:
011709_0212_WF19.png 流程设计器(用户简洁版) 附件:
011709_0212_WF20.png 表单设计器 鼠标拖动任意布局,
附件:
011709_0212_WF21.png 可以为任意字段指定权限(流程设计器上) 附件:
011709_0212_WF22.png 附件:
011709_0212_WF23.png