前言:工作流系统通常是作为中间组件嵌入到企业业务系统应用中去,作为业务流程构造和重整的重要工具,工作流系统的实现主要要考虑以下几点要素:1. 工作流模型要符合一些标准化模型的定义;2. 工作流管理系统的功能是否能够满足特定应用的需求,而同时不阻碍业务应用的整体性;3. 工作流技术是否跟SOA技术融合,可以作为服务总线的方式供外部调用。
Slickflow 在开发工作流系统期间,选取BPMN模型作为工作流模型的语义表达,BPMN模型消除技术和业务之间的隔阂,注重业务人员对流程的需求和理解,而不是以技术为本位,相对来说,更近一步体现技术服务于业务需求的概念。其次,由于工作流模型跟业务需求的紧密结合,还有新技术的出现,认为有必要构建新的工作流系统;鉴于以上认识,总结了在构建独立工作流系统的关键模型和算法,实现了Wf5 工作流引擎,作为.NET平台上的开源工作流引擎,希望能够为企业应用开发人员提供借鉴和学习,也欢迎提出修改建议。
Slickflow 博客园开发系列技术文档资料介绍:
http://www.cnblogs.com/slickflow
一:功能介绍:
-
参考BPMN标准的流程定义解析;
-
递归解析实现的工作流引擎;
2.1 顺序流转;
2.2 分支/合并;
2.3 条件表达式;
2.4 自身循环;
2.5 撤销/退回/返签;
2.6 角色资源;
-
集成嵌入Dapper MicroORMapping 框架;
-
流程定义BPMN文件的缓存读取;
-
异常日志记录Wflog;
-
工作流服务WebApi 接口示例;
-
Test 代码示例。
二:工作流技术介绍
1. 工作流模式