工作流系统之三十九 利用工作流引擎给业务系统建模
工作流软件系统,都会包含一个工作流引擎,流程设计器等。工作流引擎是工作流系统的微内核,是多种业务流程的抽象。工作流引擎设计的好坏,直接影响到流程的功能。
工作流引擎包含一些基本的节点,利用这些节点组合出各种各样的路由结构,利用这些路由结构来标识各式的业务流程,也就是说利用这些基本的节点能给业务流程建模,流程引擎能建立并解释这些节点,并利用用户输入,自动执行,定时执行,外部调用等等使得流程得以递进,
http://cyqdata.cn/cnblogs/article-detail-35205
工作流系统之三十八 工作流软件中的定时器处理
工作流软件中的定时器处理,一般分为两种:
应用服务启动就启动的定时器
这种类型和通常的web系统中的定时器处理一样。应用服务器启动后,定时器就启动了,然后按照定制的时间段轮询处理。当应用服务器关闭的时候,这种定时器才会关闭。这种定时器通常是对所有需要定时处理的记录来做的,在工作流软件中,就对应到所有的业务流程,所有的流程实例。
这种类型的定时器,在报表软件,报表产品中经常有用到,比如 每天晚上定时
http://cyqdata.cn/cnblogs/article-detail-35037
工作流系统之三十七 自由流的实现(续)
工作流系统的自由流实现了不按照流程预定义的轨迹流转,即需要在节点之间任意的跳转。上一篇自由流的实现主要说明了跳转规律,如果是单节点间的跳转,只要有当前的节点,以及跳转到的节点,就ok了。但是当当前节点和任意跳转到的节点之间有分支并发线路后,就不是简单的跳转了,当分支套分支,分支主干等之间的跳转就更复杂了。
如果是这种串行路由,就很简单了。
但是这样的多路分支,分支嵌套分支的,就很复杂了。
因此在
http://cyqdata.cn/cnblogs/article-detail-28635
工作流系统之三十六 工作流软件中的那些人
如果我们把预定义的流程比喻成一条从起点到终点的公交线路,那么流程定义中的步骤,就表示车站。汽车到站后人员有上车下车等行为,这就可以认为是流程中的动作。流程定义完后,就按照预定义好的线路往下走,当然业务流程的规则是比公交线路更复杂。
业务流程的流转离不开人员的参与,工作流软件的定义就是:自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递
http://cyqdata.cn/cnblogs/article-detail-25432
工作流系统之三十五 自由流的实现
工作流系统在给业务流程建模的时候,按照流程引擎的设计,将业务流程定义出来。这个业务流程的每个流程实例,就按照流程建模时定义好的线路流转。
自由流是指流程实例在运行时,不按照预先定义好的线路流转,而是自由的跳转,由流程实例的操作人员来选择下一个到达的节点。通常这种都是不正常的流转,和回退流一样,破坏了流程的正常定义。但是自由流又很有“特色”,符合一定的业务需求。例如,当一份申
http://cyqdata.cn/cnblogs/article-detail-25209
工作流系统之三十二 设计模式在工作流系统开发中的运用
GoF四人组一共介绍了23种面向对象的设置模式,为每一种特定的实现取了一个名字,根据模式的应用目的不同,将他们分为3类,创建型、结构性和行为型。面向对象设计三原则:优先使用组合针对接口编程为变化而设计
设计模式不是万能的,熟悉了这些模式,灵活运用它,并且不局限于设计模式,构架出适合自己的设计才是最重要的。
在工作流系统的开发中,后台的类是纯面向对象的方式实现的,因此少不了设计模式的运用:
单例模式
http://cyqdata.cn/cnblogs/article-detail-6252
工作流系统之三十 流程的静态分支与动态分支
业务流程的流转过程中,经常会有需要并发处理的过程,即流程流转到下一步,同时产生多个当前需要处理的过程,这些过程不分先后处理顺序,只要都处理完成了,最后汇聚到一起,再接着主流程运行,就可以了。例如:一份报销单,填写完成后,同时启动财务部门审核和本部门的审核,这两部分的审核不分先后顺序,只要都完成后,再将结果返回给报销单填写人,继续下面的流转。这种的并行处理的过程,就需要流程引擎支持分支和聚合。
分支
http://cyqdata.cn/cnblogs/article-detail-4856
工作流系统之三十一 回退流的实现
在流程建模的时候,定义好了返回的线路,这种严格来说,不是回退流。例如,审核不通过,则返回重新填写,这种只是条件路由。工作流的回退流,是流程实例在流转的过程中,可以回退到运行轨迹的任意步骤,同时还可以辅助一些业务补偿方法,使得回退时候的环境和原来执行时候的环境一样。
所以回退流,和流程引擎支持的正常的路由方式是不一样的,甚至是反流程建模的方式,流程建模就是把业务流程的各业务处理过程按一定的流转方式建
http://cyqdata.cn/cnblogs/article-detail-4564