【工作流】工作流概念和基本实现
对于工作流(Workflow)的概念,百度的解释是这样的:业务过程的部分或整体在计算机应用环境下的自动化
工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
如下图:
图中定义了一个文档上传审核存档的完整流程,他由一个人发起并按顺序由不同的人处理并完成整个流程。
计算机系统起到了中间桥梁的作用,用于推动这个过程的流程。
这样的一个流程有明确的执行顺序,流转方向(图中存在这个分支情况,用户B没审核通过,可能会返回给A修改)
人机协同完成的的流程就是一个工作流。
现在,我们设计这样的一个流程,那么每次执行这个流程的时候,用户只需要完成主要的工作就行了(比如上传个文档,查看并确认,存档这个操作 直接计算机完成也是可行的)
中间的传送文件,节点流转之类的全部是自动完成。当然,每一个工作流都是预定义固话在系统里面的。
WFMC是国际工作流管理联盟,发布了一系列的工作流定义、软件接口的草案文本,是目前世界上公认的最具权威性的工作流标准制定机构,得到了广泛的支持和应用。
在国内,工作流一般结合OA实现自动化审批的功能。 一个完整的工作流一般包含了表单设计引擎,流程设计引擎,工作流引擎。
几个月前我开始调研技术选型,最终选择了基于bpmn 2.0规范的Activiti作为核心开发。其他的不管是net还是java语言的,不是开发难度大就是本身实现的功能有限或者因为协议开源等问题
,将我拒之门外。