国内外主流工作流引擎与规则引擎分析报告.docx
- 文档编号:27213932
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:34
- 大小:358.38KB
国内外主流工作流引擎与规则引擎分析报告.docx
《国内外主流工作流引擎与规则引擎分析报告.docx》由会员分享,可在线阅读,更多相关《国内外主流工作流引擎与规则引擎分析报告.docx(34页珍藏版)》请在冰豆网上搜索。
国内外主流工作流引擎与规则引擎分析报告
国外主流工作流引擎及规则引擎分析
2013年2月创新研发部
一.背景
目前中心建成的“一大核心系统,七大共享平台”以及OA系统,对工作流应用程度高,但各系统实现工作流程管理没有建立在统一的工作流平台上,导致流程割裂、重复开发、不易于管理等问题。
备付金管控项目涉及多个岗位之间工作的审核步骤,同时还要与多个系统进行交互,因此,为了提高管理效率,降低业务流转时间,同时还要结合农信银中心的总体IT战略规划,备付金管控项目技术组决定选择一款先进的工作流引擎和一款规则引擎,作为备付金管控项目的核心技术架构。
二.原则
备付金管控项目组通过梳理各信息系统流程现状和未来需求,形成农信银中心工作流平台的发展规划,从而更全面的满足农信银各项关键业务、更好的支撑现有和未来的信息系统建设。
项目组充分研究国外领先的工作流产品和案例,同厂商交流。
从用户界面生成、流程建模、流程引擎、规则引擎、组织模型、模拟仿真、后端集成/SOA、变更及版本管理、移动设备解决方案、监控分析能力等多方面考察工作流产品,进行工作流产品选型。
目前国外的工作流引擎层出不穷,行业标准多种多样,通过对比不同工作流公司产品,本次工作流技术选型决定分析商业工作流引擎4款,开源工作流引擎2款。
其中国际知名厂商的商业工作流引擎2款,本土厂商的商业工作流引擎2款。
由于本次技术选型是以工作流引擎为主,选型工作将不再单独分析规则引擎,而是直接使用与所选工作流引擎搭配最好的或者是同一厂商的规则引擎。
根据国外知名度、厂商的规模和与符合农信银中心的SOA体系架构等原则,将选取以下6种工作流引擎与规则引擎进行研究与分析:
工作流
名称
厂商名称
是否
开源
工作流
核心技术
规则引擎
中心使用情况
IBMBPM7.5
IBM
否
WPS+Lombadi
Ilog
共享电子商业汇票系统中使用WPS
OracleBPM11g
Oracle
否
OracleBusinessRules
无
eChain
宇信易成
否
Topbpm
华腾
否
JBPM
Toprule
多介质金融服务平台-开卡审批子系统
Activiti5
Apache
是
JBPM4的后续版本
Camel
无
JBPM5
JBOSS
是
Droolesflow的后续版本
Drooles
无
三.工作流功能分析点
3.1.标准类
为了具有可替代性和适应性,所选工作流产品应当遵循目前最主流的工作流标准。
3.1.1BPMN2.0标准支持
目前国外的工作流引擎层出不穷,行业标准多种多样,在进行流程梳理得过程中,不同的实施阶段所使用的流程描述语言或遵循的标准会有所不同,有的使用WfMC的XPDL,还有些使用BPML、BPEL和WSCI等这就造成了流程管理,业务集成上存在着很大的差异性和局限性。
,导致同一个流程在不同的流程引擎上无法进行重用。
遵循BPMN2.0规的工作流产品能够很大程度上解决此类问题,BPMN2.0将业务流程的可视化和底层的XML表示进行了标准化,这极大地改进了建模工具(比如说基于Web和Eclipse的设计器)之间的交互性。
BPMN2标准是非常可靠且可扩展的,这样在必要的时候就可以引入新的元素和属性了,这样可以保证相同的流程在不同的流程引擎得到的执行结果是一致的,只需要学习掌握BPMN2.0规,就可以掌握所有支持BPMN2.0的工作流引擎产品。
BPMN2.0将流程执行语义定义了以下七类对象,分别是:
活动、事件、网关、连接对象、数据对象、泳道对象和描述对象。
任何支持BPMN2.0的产品都必须要对上述对象进行明确的定义。
3.2.开发类
使用工作流引擎进行开发的难易程度,取决于一个好的业务模型建模工具、工作流建模工具、人工页面生成工具和完整的仿真工具。
业务模型建模工具可以将业务流程与业务数据进行整合;工作流建模工具可以使用拖拽方式对流程进行直观的编排,并且可以对已有的流程进行流程的复制与复用,实现方便灵活的导入导出流程模型;人工页面生成工具则可以迅速的根据需求生成出需要填写的表单,只需要简单修改后便可以使用,可以降低开发的周期;仿真工具是为了检查所创建流程的正确性而开发出来的,使用仿真工具可以更好的发现流程中的逻辑问题。
3.2.1业务模型建模工具
主要研究业务数据与工作流引擎的协同工作的能力,是否具有以下功能以及功能的完善程度。
●提供模型对象与业务对象的一一映射
●支持一对一,一对多,多对一和多对多的业务模型
3.2.2工作流建模工具
主要研究考查工作流产品建模工具的方便性与易用性,是否具有以下功能以及功能的完善程度。
●图形化拖拽方式,用户体验程度
●提供过程元素符合BPMN2.0规的对象控件
●实现过程元素的剪贴、复制、粘贴、删除、操作的撤消、对象控件的全选、图形元素自动排列等功能。
●采用统一的XML格式储存工作流模型文件导入导出
●流程编制是和业务角色结合的,用户可以进行基于业务规则的工作分配/调整/平衡。
基于规则的服务选择。
实现基于规则的路由
●使用客户端方式进行建模工作,或者使用WEB页面富客户端的方式进行建模
3.2.3人工页面生成工具
人工节点的核心是表单,理论上每一个人工节点都应该有一个表单相对应,可供相应的人员填写,因此如何迅速完整的开发完成一个表单,是工作流产品开发周期长短的一个重要的衡量标准。
人工页面生成工具就是表单的生成工具,应具有以下功能:
●在BPM建模工具中提供中直接浏览任务表单。
业务用户可以利用流程工作区感知新发生的工作任务,进行工作任务的完成,比如流程提交,流程审批,业务分析等等。
●直接在建模工具提供生成表单功能,可以简单的通过向导单击就生成工作流表单。
●表单可以根据客户的应用实现扩展应用,扩展应用非常丰富,可以添加图表等丰富容。
●表单可以被新的表单复用
●表单具有导入、导出的功能
3.2.4仿真工具
仿真是流程开发完成以后,流程正式上线之前进行的模拟测试,流程进行仿真后将可以发现流程的逻辑问题以及配置问题,一个完整的仿真工具应具有以下功能:
●全套的图形仿真和“假设”分析能力,一边模拟运行一边定义仿真参数。
●模拟可以采取角色,升级,代表,事件,日历,工作任务分发。
3.3.功能类
一个完正的工作流产品,应该具有流程引擎,规则引擎,组织模型与日期,对外提供AP,后端集成SOA,流程版本控制功能。
3.3.1流程引擎
流程引擎是工作流引擎的核心,是关系到流程如何正常运转的核心组件,一个流程运行的效率、功能以及正确性均由工作流引擎实现,流程引擎应具有以下功能:
●bpmn2.0所涉及的网关功能的支持,如多路分支,单路分支,汇聚,判断等功能
●多种任务分配策略
●代办、委托
●流程版本控制,包括2个版本同时运行的情况
●修改后的流程,不会影响到正在修改的流程
●支持回退,撤回功能
●支持人工干预
●超时控制系统
●冲正、存储转发流程
●补偿、异常流程
3.3.2规则引擎
规则引擎在工作流产品中主要体现为,网关节点的规则实现与人工节点的任务分配规则的实现。
规则引擎应具有以下功能:
●在建模器中可以完全集成业务规则功能,直接适用到用户功能的定义,比如用户可以基于业务规则实现工作的分配/调动/平衡,基于规则的服务选择,基于规则的任务路由,基于规则的告警。
直接在图形化的向导中就可以直接使用规则功能。
●基于Web的规则编辑,或者是基于客户端的规则编辑。
●无缝和SOA应用进行集成
●规则信息具有一个资源库,版本控制,抽象的API。
资源库的使用可以直接和SOA特制的应用,比如BPM应用相结合
●规则包括了面向业务用户的Interfaces,比如自然语言的Interface,因此可以由业务用户直接进行创建和调整。
3.3.3组织模型与日期
工作流产品应支持多种与组织的模型,可以灵活自由的进行配置;同时还应当支持万年历,可以自主设施节假日。
组织模型可以用图形化方式定义组织单元,角色,组,参与者,并且这些可以和日历功能相结合。
组织模型与日期可以业务模型建模、工作流程建模,人工页面生产工具以及其他功能相结合。
3.3.4对外API的提供
在实际应用中,工作流产品通常会与一些外部的系统进行交互,或者是直接嵌入到外部系统中,因此需要提供流程控制的接口供外部系统使用,如:
流程产生、获取任务、提交任务、流程人工干预等API接口。
3.3.5后端集成/SOA
工作流产品在工作中会调用到外部系统,并且会等待系统的同步与异步的返回信息。
因此,工作流产品必须提供一系列SOA/集成技术相集成,比如转换功能,后端适配器集成能力,事件,规则,消息,标准的ESB功能,按照农信银中心目前的需求,产品应具有以下协议的通讯功能:
●http/https
●soap
●jms
●file
●MQ
●Tuxedo
●Socket
●DB
●包括了很多工具,包括应用适配器,数据库和文件适配器等技术适配器等
●支持事务能力.事务还能以图形化的方
3.3.6监控功能
监控功能特指在流程运行中,对未完成和已完成的流程进行监控与统计的功能,主要具有以下功能:
●自定义协同空间,并且到流程实例
●进行流程实例的监控
●进行流程实例的统计分析
四.中心已有系统工作流功能点分析
4.1.备付金系统工作流分析
4.1.1联社备付金调出流程
分析:
名称
描述
人员与组织
共分为8类岗位
2类录入岗
3类复合岗
3类审批岗
与外部系统交互
金蝶软件
企业网银
流程引擎
顺序流程,无回退、撤回功能
规则引擎
初审规则
审批规则
4.1.2联社备付金调入流程
分析
名称
描述
人员与组织
共分为4类岗位
2类录入岗
2类复合岗
与外部系统交互
金蝶软件
企业网银
流程引擎
顺序流程,无回退、撤回功能
规则引擎
初审规则
审批规则
4.1.3资金划入农信通备付金账户业务流程
分析:
名称
描述
人员与组织
共分为4类岗位
2类录入岗
2类复合岗
与外部系统交互
金蝶软件
企业网银
流程引擎
顺序流程,无回退、撤回功能
规则引擎
初审规则
审批规则
4.1.4备付金运用账户开立流程
分析:
名称
描述
人员与组织
共分为4类岗位
2类录入岗
2类复合岗
3类审批岗
与外部系统交互
无
流程引擎
顺序流程,无回退、撤回功能
规则引擎
4.1.5备付金沉淀资金运用流程
分析:
名称
描述
人员与组织
共分为4类岗位
2类录入岗
2类复合岗
4类审批岗
与外部系统交互
企业网银
金蝶软件
流程引擎
顺序流程,无回退、撤回功能
规则引擎
无
4.1.6备付金沉淀资金支取流程
分析:
名称
描述
人员与组织
共分为4类岗位
2类录入岗
2类复合岗
3类审批岗
与外部系统交互
企业网银
金蝶软件
流程引擎
顺序流程,无回退、撤回功能
规则引擎
无
4.2.多介质项目工作流分析
4.2.1开卡审批流程
分析
名称
描述
人员与组织
共分为6类岗位
3类录入岗
3类审核岗
与外部系统交互
行征信接口
人行征信接口
银联征信接口
流程引擎
顺序流程,无回退、撤回功能
挂起、恢复
超时处理流程
规则引擎
重复申请规则
申请欺诈规则
行征信规则
初审规则
免调查规则
额度计算规则
4.3.新一代农信银资金清算系统工作流分析
无使用工作流的需求
4.4.电子商票系统工作流分析
农信银商票系统中没有固定不变的流程,系统要求适应不同地区不同业务品种的审批流程,当业务规则发生变更时,成员行的管理人员可以通过简单的参数配置,灵活适应业务的多样性需求。
●工作流生命周期的支持:
商票系统要求工作流产品支持工作流的开发,运行,维护,监控,能够满足业务人员,开发人员,运维人员,操作人员不同的要求。
步骤
目标
描述
提交物
干系人
1
业务分析
调研各成员行、各的具体业务品种的审批流程
业务审批模型
成员行业务人员
中心业务人员
开发人员
2
流程模板开发
WID环境中按照业务分析的审批模型开发实际运行的审批流程模板
流程模板(*.ear)
开发人员
中心管理员
3
测试
把开发完成的流程模板在测试环境中进行模拟测试
测试报告
开发人员
中心管理员
4
部署
把测试通过的流程模板在生产服务器上进行部署
开发人员
中心管理员
5
成员行配置
各成员行根据本省情况进行流程配置,包括:
业务品种与流程的关联
流程审批步骤与岗位的关联
流程变量的初始化设置
配置记录
中心管理员
成员行管理员
6
成员配置
各成员根据本情况进行流程配置,包括:
业务品种与流程的关联
流程审批步骤与岗位的关联
流程变量的初始化设置
配置记录
中心管理员
成员行管理员
成员管理员
7
上线运行
在票据业务系统中操作具体的业务,提交审批过程
意见反馈
成员业务人员
8
运行保障
查看流程应用服务器的运行状态、配置信息、以及当前正在部署的应用程序信息。
查看所有流程实例的运行状态,当前办理人,历史办理痕迹
意见反馈
运维人员
●工作流特性要求,在工作流部实现上要求工作流产品支持如下特性:
属性
描述
人工审批、自动服务
支持人工审批跟自动服务的混编
打回
支持打回上一节点,打回流程开始节点
同意、否决
如果同意则继续往下流转,否决则流程直接结束
审批意见
流程的每一个人工任务环节都可以输入和查看审批意见
审批过程
可以查看整个流程的办理过程
流程列表
待办事宜列表,审批历史列表
流程会签
串行会签、并行会签,会签退出条件可以通过页面规则进行配置
字段级权限控制
在流程不同环节时可以设置用户具有不同的字段操作权限
网关:
支
持串行,并行等各种网关
异常处理
支持流程的异常处理、补偿机制
规则引擎
支持规则引擎
接口调用
支持服务调用
4.5.OA系统工作流分析
合同
请假
五.工作流产品分析
分类
说明
IBMBPM8.0
OracleBPM11g
Activiti5
JBPM5
eChain
Topbpm
建模和运行时标准支持
∙产品对BPMN2.0的支持
∙活动、事件、网关、连接对象、数据对象、泳道对象和描述对象
支持BPMN2.0
支持BPMN与BPEL。
支持BPMN2.0
jBPM5没有实现在BPMN2.0规则中所定义的所有元素和属性。
但支持规的子集,如活动、事件、网关、连接对象、数据对象、泳道对象。
不支持BPMN2.0.
支持活动、事件、网关、连接对象、数据对象、不支持泳道对象。
不支持BPMN2.0.
支持活动、事件、网关、连接对象、数据对象、
流程建模
∙工作流建模工具的方便性与易用性
∙图形化拖拽方式。
∙提供过程元素对象控件:
开始活动、中间活动、终止活动,路径
∙简单的操作功能:
实现过程元素的剪贴、复制、粘贴、删除、操作的撤消、对象控件的全选、图形元素自动排列等功能。
∙过程模型存储:
采用统一的XML格式储存工作流模型文件。
∙基于角色的支持。
∙流程分析能绑定活动实现分类分析,或者依据规则实现。
∙流程编制是和业务角色结合的,用户可以进行基于业务规则的工作分配/调整/平衡。
基于规则的服务选择。
基于规则的路由
∙客户端方式orweb方式
ProcessDesigner作为建模工具来对业务流程进行设计、建模、仿真等操作。
业务专家可以使用这个工具通过图形化的拖拽方式进行流程建模,流程模型是基于BPMN2.0标准的
客户端方式
BPMComposer
基于WEB方式。
面向业务人员,发布到BPMStudio进一步改进。
BPMStudio
Process客户端方式,
Activiti5中包含ActivitiModeler组件
通过web方式进行流程编辑,
支持常见的编辑方式,过程存储采用支持bpmn2.0的XML文件.支持角色配置,但是相对较简单
可以通过ECLIPSE-plug或WEB方式建模。
支持常用的编辑。
•它几乎支持所有的BPMN2.0流程的构建和属性
•支持jBPM5介绍的一些自定义属性
•当建模流程时,允许你配置元素和属性
eChainStudio图形建模工具通过浏览器方式启动,无需安装客户端软件。
支持常见的编辑方式,支持规则引擎。
通过web方式进行流程编辑,
支持常见的编辑方式,
用户界面生成
∙在BPM建模工具中提供中直接浏览任务表单。
业务用户可以利用流程工作区感知新发生的工作任务,进行工作任务的完成,比如流程提交,流程审批,业务分析等等。
∙直接在建模工具提供生成表单功能,可以简单的通过向导单击就生成工作流表单。
∙表单可以根据客户的应用实现扩展应用,扩展应用非常丰富,可以添加图表等丰富容。
∙强大的表单能力,所见即所得的开发工具极大的方便了表单的开发,丰富的开箱即用表单组件能满足大部分的表单展示需求,同时工具的可扩展性满足了用户创建业务级别控件和实现表单元素复用的目标
支持自动生成,基于向导的定制生成模式。
支持集成office
丰富的表单设计,提供不同的展现方式。
不支持
不支持
可以设置不同的处理环节用户具有不同的表单展现页面,不同的表单操作权限、字段编辑权限等
不支持
需要进行完整的编程解决
整合seam框架实现
流程引擎
∙bpmn2.0所涉及的网关功能的支持,如多路分支,单路分支,汇聚,判断等功能
∙多种任务分配策略
∙代办、委托
∙流程版本控制,包括2个版本同时运行的情况
∙支持回退,撤回功能
∙支持人工干预
∙超时控制系统
∙补偿、冲正、存储转发及异常流程
∙补偿、异常流程
∙实现各种工作流模式,通过配置方式就可以实现子流程调用,动态多实例调用,循环,会签,转办,代理,打回,追回等常见工作流模式.支持超时机制,可以灵活设定超时时间,并可以定义超时发生后所需要处理的业务逻辑.支持异常处理,可以在流程建模/开发阶段,抓取流程中的异常,并定义在异常发生后的业务处理逻辑,处理逻辑可以是系统自动环节,也可以转入人工干预.
∙支持人工审批,但未见详细说明。
∙支持bpmn2.0所涉及的网关功能的支持,如多路分支,单路分支,汇聚,判断等功能
∙可以使用bpmn2.0的流程
∙不支持回退,撤回功能,可以通过流程图的流转来间接实现
∙支持人工干预
∙代办、委托需要2次开发
∙
∙支持bpmn2.0所涉及的网关功能的支持,如多路分支,单路分支,汇聚,判断等功能
∙代办,委托,回退,撤回,人工干预。
超时控制等未见支持。
∙支持。
∙多种任务分配策略
∙代办、委托
∙支持回退,撤回功能
∙支持人工干预
∙超时控制系统
∙补偿、冲正、存储转发及异常流程
∙补偿、异常流程
∙
规则引擎
∙在建模器中可以完全集成业务规则功能,直接适用到用户功能的定义,比如用户可以基于业务规则实现工作的分配/调动/平衡,基于规则的服务选择,基于规则的任务路由,基于规则的告警。
直接在图形化的向导中就可以直接使用规则功能。
∙基于Web的规则编辑。
∙无缝和SOA应用进行集成
∙规则信息具有一个资源库,版本控制,抽象的API。
资源库的使用可以直接和SOA特制的应用,比如BPEL应用,BPM应用相结合
∙规则包括了面向业务用户的Interfaces,比如自然语言的Interface,因此可以由业务用户直接进行创建和调整。
置规则引擎,可以在流程开发工具中进行配置
OracleBusinessRules
支持运行时动态决策,这使得其他应用程序能够快速适应管理和竞争压力。
流程分析员可以创建和更改与应用程序代码分开的业务规则。
可以在不停止业务流程的情况下更改业务规则。
还可以让流程分析员直接管理业务规则,而不需要流程开发人员干预。
在ProcessComposer修改业务规则
支持开源规则引擎DroolSrule和camel
支持开源规则引擎DroolSruleformate
自带规则引擎
使用toprule实现
组织模型与日期
∙BPM应支持组织模型.
∙BPM包括可以用图形化方式定义组织单元,角色,组,参与者,并且这些可以和日历功能相结合。
组织模型是和模型设计,Interface设计,以及其他功能相结合的
∙基于LDAP和DB的人员认证库接口,可以直接对接客户的LDAP或者数据库的人员注册信息.注册后客户的人员信息,组织信息可以在开发和运行时态被正确的使用.
∙支持用户,角色,组等组织模型。
∙支持但相对简单
∙未见支持
∙通过定义标准的接口,可以方便的接入用户已有的组织系统,在流程定制时可以读取用户已有的组织信息
∙支持组织模型
∙通过定义标准的接口,可以方便的接入用户已有的组织系统
模拟仿真
∙完整的模拟仿真能力
∙全套的图形仿真和“假设”分析能力,一边模拟运行一边定义仿真参数。
∙模拟可以采取角色,升级,代表,事件,日历,工作任务分发。
∙完整的模拟仿真能力
通过“仿真”功能进行模拟与仿真测试
∙仿真定义:
定义模拟时间,定义模拟属性,定义模拟所需角色。
∙仿真结果过:
单元指标(UnitMetrics),运行,完成,中断和等待的流程实例数;成本指标,整体成本和每个步骤的成本;时间指标,平均处理时间,平均等待时间;资源指标,资源利用率,每个资源的成本
∙未见支持
∙未见支持
∙eChainStudio提供流程仿真功能,方便流程定制人员在发布流程之前通过设置仿真参数查看流程执行效率
∙topbpm提供完整的模拟仿真能力
∙可以进行各级别的参数化仿真
后端集成/SOA
∙http/https
∙soap
∙jms
∙file
∙MQ
∙Tuxedo
∙Socket
∙DB
∙包括了很多工具,包括应用适配器,数据库和文件适配器等技术适配器等
∙和一系列SOA/集成技术相集成,比如转换功能,后端适配器集成能力,事件,规则,消息,标准的ESB功能。
∙支持事务能力.事务还能以图形化的方
支持SOA体系
重点支持WebService
对于ESB的支持很好
支持SOA体系
主要支持SOAP
支持SOA体系。
支持直接类的调用、servlet、EJB、WebService四种不同的调用方式
∙http/https
∙soap
∙jms
∙file
∙MQ
∙Tuxedo
∙Socket
∙DB
变更管理
∙流程版本控制
∙修改后的流程,不会影响到正在修改的流程
∙可以在一个流程中随意
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国内外 主流 工作流 引擎 规则 分析 报告