ccbpm工作流引擎是如何支持多种流程模式的

前言:

在BPM领域支持流程运转的理论模型有多种,有的21种、28种,32种。每种模式都代表了这种模式的理论设计者研究者的人员主张、思想。这些模式尽可能的,完全去覆盖到现实生产、工作、应用上的流程流转规则。但是任何领域都有自己未探索到的流程运转可能,如果说自己的理论能够涵盖所有的应用需求,那就说的有点太早。

就类似于世界上的教派或者哲学家一样,不同的教主与哲学家有不同的世界观,不同的世界认识,都对自己的“追随者”来宣扬自己的主张、观点,但是他们也能“和谐”相处,对于同一个事物都有自己的观点,也有相同的认识,同时也有自己的“理论”解释不了的事物。

这篇文章介绍了Ccbpm的流程的4大运行模式,以及是如何支持各式各样的流程变化。

Ccbpm控制流程运行模式的方式:

Ccbpm使用节点模式、流程属性、节点属性来控制流程运转规则,以不不变应万变的方式来应对各种生产、管理模式下的流程运转需要。

Ccbpm的概念比较简单容易理解,它有4大运行模式,分别是线性流程、同表单分合流、异表单分合流、父子流程。

节点类型:普通节点、分流节点、合流节点、分合流节点、子线程节点。

节点多人处理模式:抢办模式、协作模式、队列模式、共享模式。

与父子流程相关的一些属性控制等等,如下图。

Ccbpm 的4大流程运转模式的解释:

 线性流程:在统一个时间点,只有一个活动的节点,每个节点都按照一定的步骤,一定的顺序就执行,在特定的节点允许跳转、允许自定义以后的流程运行步骤,我们把这样的流程称为线性流程,也叫顺序流程。在一个系统中大约85%以上的流程,都是该类流程。

自由流程:

同表单分合流:ccbpm的强大在于ccbpm集成了ccform。流程与表单是相辅相成的,就好像一个火车头与车厢的关系,同表单的分合流,就是一个节点上可以存在多个活动的线程,线程与处理人是1对1的关系,每个处理人的内容都是一样的,所以我们成为同表单的分合流。

如下图:

异表单分合流:如果您了解了同表单的分合流,就不难了解这个流程模式的概念了。如下图:

父子流程: 父子流程,就是在一个流程A的一个节点上,可以启动另外的一个流程B,当前的流程我们称为父流程,被启动的流程成为子流程,如果子流程B的一个节点上启动另外一个流程C,那末B流程与C流程就是父子流程, A 与C就是爷爷与孙子关系,但是ccbpm不研究跨界关系,仅仅研究相近的两个流程之间的关系。

比如:一个工程类的流程,调用施工流程、与催款流程,如下图:

节点多人处理工作模式:

详细文档地址:http://jflow.mydoc.io/?v=5404&t=17947

多人待办工作处理模式,也是待办处理模式。是当接受的节点是多个人的时候,如何处理待办?

根据不用的场景,ccBPM把多人在普通节点下的处理模式分为如下几种。

抢办模式:

A发送到B ,B节点上有n个人可以处理。这n个人都可以看到待办,当其中一个人处理后,其他人的待办就消失了。这样的工作模式属于抢办,这n个人可以同时打开,当一 个人发送后,其他人都不能在发送了。通俗的说,也就是谁抢到了这件工作,就是谁处理的。抢办模式是一个默认的处理模式。

协作模式:

A发送到B ,B节点上有n个人可以处理。这个n个人都可以去处理,都可以去发送,有最后一个处理人发送到下一个节点上去,这n个人的处理不分顺序。这样的模式我们叫做协作模式。

协作模式通常用在具有审核组件的表单中,每个人都可以填写自己的意见,发表自己的看法,在审核组件里审核每个人在一个节点上只能写入一条数据,也就是说只能表达一次意见。

也经常用在传阅的情况下,必须这些人都读取了,知道了才能向下运动。它与抄送不同的地方是,抄送可以不看,就可以向下运行,但是他必须处理才能向下运行。

通常的协作模式,就是多人都要点击一下发送功能按钮,来确认自己处理了,确认自己同意了或者认可了。

队列模式:

A发送到B ,B节点上有n个人可以处理。这个n个人按照设置的先后顺序去处理,在同一个时间点必须有一个人待办,其他人看不到。

应用场景: 一个公文发送给一个部门,该部门下n个人可以接受(注意这是一个节点),按照国内的行政制度,这n个人会从小到达排一个队列,有最小的级别的工作人员审 批,然后依次类推,走到最后由最后一个人发送到下一个节点去。这n个人都是该节点的处理人,这n个人的审核步骤是由他们的顺序确定的,所以在设置该节点的接受人时,要按照顺序执行。

通常这样的模式也与审核组件一起使用,每个人表达意见后,就发送到下一个节点,当然这样的模式也

共享模式:

A发送到B ,B节点上有n个人可以处理。ccBPM有一个任务池,这写人都需要从这个任务池里获取。

  关于对ccBPM任务池的描述:

  1,在流程属性与全局配置设置了启动任务池的状态下,如果一个节点遇到多个人处理,这个任务就放在了任务池里,只有参与处理的人人员才能看得到。

  2,工作人员在处理该工作之前需要申请,放到自己的代办里,一人申请之后,其他人就不能申请了,多个人同时申请第一个人申请的先得到。

  3,申请之后,任务池里就不出现在条工作而是进入了被申请人的待办里。

  4,如果申请人处理不了这件工作,他可以把该工作放入任务池中,放入任务池的工作可以被其他的N个人可以看到。

  5,不管取回与放入,都需要写入流程日志。

  6,任务池的设计:  

  1,在流程引擎控制表 WF_GenerWorkFlow 中增加了如下字段:      TaskSta, 枚举类型, 0=不启用,1=共享,2=被申请。     TodoEmpsNum, Int类型,处理人员数量,当前节点工作有多少人待办,如果此值大于等于2,讨论共享任务才有意义。 TodoEmps varchar(500) 待办人员,格式为 处理人员编号,处理人员名称; 比如:guobaogeng,郭宝庚;fuhui,福惠;      

  2,在流程引擎控制表的人员列表中 WF_GenerWorkerList 中对于IsEnable字段,进行扩充了,如果等于 -1=任务池禁用,0=分配工作被屏蔽,1=正常。    3,增加了一个功能界面 /WF/TaskPoolSmaller.aspx 次功能界面是有在任务池启用才能被使用。

  4,在流程属性里增加一个字段 IsEnableTaskPool 是否启用任务池? 此字段用来控制该流程是否启用任务池。

  任务池的SDK接口

  1,获得共享任务: DB_TaskPool

  2,获得共享任务中我的待办:DB_TaskPoolOfMy

  3,从共享任务中取回:Node_TaskPoolTakebackOne

4,把取回的共享任务放入任务池: Node_TaskPoolPutOne

综述:一个好的工作流引擎,一定是与业务接地气的引擎,一个好用的流程引擎应用在MIS系统上,一定是与表单引擎结合的引擎。流程在运动过程中可以操纵表单数据的处理。

您如果对CCBPM感兴趣。请关注微信获取源码:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 10:33:48

ccbpm工作流引擎是如何支持多种流程模式的的相关文章

ccbpm工作流引擎是怎样支持多种流程模式的

前言: 在BPM领域支持流程运转的理论模型有多种.有的21种.28种.32种. 每种模式都代表了这样的模式的理论设计者研究者的人员主张.思想.这些模式尽可能的,全然去覆盖到现实生产.工作.应用上的流程流转规则. 可是不论什么领域都有自己未探索到的流程运转可能,假设说自己的理论可以涵盖全部的应用需求,那就说的有点太早. 就类似于世界上的教派或者哲学家一样.不同的教主与哲学家有不同的世界观.不同的世界认识,都对自己的"追随者"来宣扬自己的主张.观点,可是他们也能"和谐"

CCBPM工作流引擎,如下方式完成对流程的结束大总结

1, 正常完成:流程运行到最后的一个环节. 2, 非正常结束:流程运行到指定的节点,满足的指定的流程结束条件,自动结束流程. 这种模式需要在节点的流程完成条件里设置. 3, 强制结束:流程运行到特定的节点后,因当前操作员的需要强制删除该流程. CCBPM为我们提供了结束流程的功能按钮. 4,以删除的方式结束流程: 谈起这种模式首先要掌握CCBPM的删除规则: 这种模式CCBPM有相应的api 与节点功能按钮,可以在节点属性按钮部分的流程删除规则,以删除的模式结束流程有如下几种规则. @0=不能删

CCBPM工作流引擎的消息机制与设计

keyword:ccflowjflow 消息机制流程引擎 自己主动发送短信 发送邮件 发送消息 流程引擎微信连接 消息接口 关于ccbpm: 我们把ccflow jflow两个版本号的工作流引擎统称为ccbpm. 工作流引擎的消息产生:在发送.抄送.退回.转发.加签.删除等等操作过程中.须要对当时人进行提醒,而且在设置提醒的情况下,就会产生消息. Ccbpm的消息删除机制:对于已经过期无意义的提示.ccbpm就会删除,比方:a节点发送到b节点有n(n>=1)个人能够处理,这个时间假设设置了消息提

大宗商品交易平台支持多种交易模式,你了解多少?

说到大宗商品交易平台,最值得关注的是交易模式,可是大宗商品交易平台的交易模式你又了解多少呢?接下来将为你解答.大宗商品交易平台整合了现货中远期.现货延期和现货即期等多种交易模式,支持多种现货交易模式.大宗商品交易平台支持B2B的发展,包括挂牌竞价.挂牌撮合.竞价拍卖.竞价招投标.专场等交易.大宗商品交易平台支持B2C交易,包括网上商城.网上超市.团购等交易模式,以满足现货交易市场业务及营销渠道拓展需要,推进电子商务应用的深入发展除此之外,大宗商品交易平台还支持实物与虚拟交易,我国虚拟经济的发展为

关于开源驰骋工作流引擎ccbpm对bpmn2.0的支持

各位ccbpmer : Ccbpm将要支持bpmn2.0了. 我们会保留现在的ccbpm设计模式,也支持bpmn2.0的规范,让ccbpm与国际接轨.包括.net版本ccflow与java版本jflow.在新版本中,我们将要支持导出导入两种格式的流程模版文件.也就是说,只要你画的流程符合bpmn2.0的规范,也可以导入到ccflow或者jflow工作流引擎中,支持bpmn2.0的画图工具很多,例如:viso,rose. 什么是bpmn2.0? 业务流程模型注解(Business Process 

工作流引擎设计第一版

很久没写点东西了,现在有点时间来分享下工作流引擎设计的一点体会.希望能帮助各位园友. 前段时间接手一OA系统项目,经过一段时间的需求调研,总共十多个功能模块,但系统主要功能是应付一堆堆审批流程,各流程千差万别,而且流程变动也大,这无疑是需要设计一个工作流引擎才能解决.这个引擎主要做到流程可配置,可视化编辑,可视化的流程图展示,且需要保留审批处理的历史快照...... 经过一段时间的资料查阅(感谢园子的大虾们),并且经合自身的经历(曾经用过,但未曾开发过工作流引擎),终于想出了一套方案: 以下是相

Java工作流引擎-中间件模式代码集成

关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 前端代码集成步骤: 驰骋BPM的代码集成分为,前端代码集成与后端代码集成. 前端代码有两个目录分别是 /DataUser   /WF .  前端代码集成就是需要把这两个目录放入到您的开发架构里面去,就完成了前端代码集成了. DataUser的数据文件是可以修改的,这两个的目录的文件结构请参考上面章节的说明. 后端代

asp.net强大工作流引擎,learun助力开发升级

现在,办公要流程化,营销也有流程,流程现在已经是各种生活活动不可缺少的一部分了.就像这句耳熟能详的话:"凡事,我们先走个流程嘛!"在信息化.流程化的背景下.工作流引擎,这个名词就出现了!那么,什么是工作流引擎呢?所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色.分工和条件的不同决定信息传递路由.内容等级等核心解决方案.工作流引擎包括了,流程的节点管理.流向管理.流程样例管理等重要功能.而我今天要带给大家的就是,一个内置了这样全面功能工作

java开源工作流引擎jflow的流程应用类型分类讲解

关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: oralce,mysql,sqlserver,Informix, PostgreSQL  达梦 根据数据投递的权限范围不同,CCBPM区分为普通类流程与项目类流程.普通类型流程的流转的组织机构定义在整体单位中,对于项目类流程它们的流转范围在整个项目组中. 普通类型:普通类型流程是区别于项目类流程而言,