
国内外主流工作流引擎及规则引擎分析.docx
39页国内外主流工作流引擎及规则引擎分析2013年2月 创新研发部目录国内外主流工作流引擎及规则引擎分析 1一. 背景 3二. 原则 3三. 工作流功能分析点 44.1. 标准类 43.1.1 BPMN2.0标准支持 44.2. 开发类 53.1.1 业务模型建模工具 53.1.2 工作流建模工具 53.1.3 人工页面生成工具 63.1.4 仿真工具 64.3. 功能类 74.1.1 流程引擎 74.1.2 规则引擎 74.1.3 组织模型与日期 84.1.4 对外API的提供 84.1.5 后端集成/SOA 84.1.6 监控功能 9四. 中心已有系统工作流功能点分析 104.1. 备付金系统工作流分析 104.1.1 联社备付金调出流程 104.1.2 联社备付金调入流程 134.1.3 资金划入孝感农信通备付金账户业务流程 154.1.4 备付金运用账户开立流程 174.1.5 备付金沉淀资金运用流程 204.1.6 备付金沉淀资金支取流程 234.2. 多介质项目工作流分析 244.1.1 开卡审批流程 244.3. 新一代农信银资金清算系统工作流分析 254.4. 电子商票系统工作流分析 254.5. OA系统工作流分析 27五. 工作流产品分析 27六. 分析结论 384.4. 对比 384.5. 建议 38一. 背景目前中心建成的“一大核心系统,七大共享平台”以及OA系统,对工作流应用程度高,但各系统实现工作流程管理没有建立在统一的工作流平台上,导致流程割裂、重复开发、不易于管理等问题。
备付金管控项目涉及多个岗位之间工作的审核步骤,同时还要与多个系统进行交互,因此,为了提高管理效率,降低业务流转时间,同时还要结合农信银中心的总体IT战略规划,备付金管控项目技术组决定选择一款先进的工作流引擎和一款规则引擎,作为备付金管控项目的核心技术架构二. 原则备付金管控项目组通过梳理各信息系统流程现状和未来需求,形成农信银中心工作流平台的发展规划,从而更全面的满足农信银各项关键业务、更好的支撑现有和未来的信息系统建设项目组充分研究国内外领先的工作流产品和案例,同厂商交流从用户界面生成、流程建模、流程引擎、规则引擎、组织模型、模拟仿真、后端集成/SOA、变更及版本管理、移动设备解决方案、监控分析能力等多方面考察工作流产品,进行工作流产品选型目前国内外的工作流引擎层出不穷,行业标准多种多样,通过对比不同工作流公司产品,本次工作流技术选型决定分析商业工作流引擎4款,开源工作流引擎2款其中国际知名厂商的商业工作流引擎2款,本土厂商的商业工作流引擎2款由于本次技术选型是以工作流引擎为主,选型工作将不再单独分析规则引擎,而是直接使用与所选工作流引擎搭配最好的或者是同一厂商的规则引擎根据国内外知名度、厂商的规模和与符合农信银中心的SOA体系架构等原则,将选取以下6种工作流引擎与规则引擎进行研究与分析: 工作流名称厂商名称是否开源工作流核心技术规则引擎中心使用情况IBM BPM7.5IBM否WPS+LombadiIlog共享电子商业汇票系统中使用WPSOracle BPM 11gOracle否OracleBusiness Rules无eChain宇信易成否Topbpm华腾否JBPMToprule多介质金融服务平台-开卡审批子系统Activiti5Apache是JBPM4的后续版本Camel无JBPM5JBOSS是Drooles flow的后续版本Drooles无三. 工作流功能分析点3.1. 标准类为了具有可替代性和适应性,所选工作流产品应当遵循目前最主流的工作流标准。
3.1.1 BPMN2.0标准支持目前国内外的工作流引擎层出不穷,行业标准多种多样,在进行流程梳理得过程中,不同的实施阶段所使用的流程描述语言或遵循的标准会有所不同,有的使用WfMC的XPDL,还有些使用BPML、BPEL和WSCI等这就造成了流程管理,业务集成上存在着很大的差异性和局限性导致同一个流程在不同的流程引擎上无法进行重用遵循BPMN2.0规范的工作流产品能够很大程度上解决此类问题,BPMN 2.0将业务流程的可视化和底层的XML表示进行了标准化,这极大地改进了建模工具(比如说基于Web和Eclipse的设计器)之间的交互性BPMN 2标准是非常可靠且可扩展的,这样在必要的时候就可以引入新的元素和属性了,这样可以保证相同的流程在不同的流程引擎得到的执行结果是一致的,只需要学习掌握BPMN2.0规范,就可以掌握所有支持BPMN2.0的工作流引擎产品 BPMN2.0将流程执行语义定义了以下七类对象,分别是:活动、事件、网关、连接对象、数据对象、泳道对象和描述对象任何支持BPMN2.0的产品都必须要对上述对象进行明确的定义3.2. 开发类使用工作流引擎进行开发的难易程度,取决于一个好的业务模型建模工具、工作流建模工具、人工页面生成工具和完整的仿真工具。
业务模型建模工具可以将业务流程与业务数据进行整合;工作流建模工具可以使用拖拽方式对流程进行直观的编排,并且可以对已有的流程进行流程的复制与复用,实现方便灵活的导入导出流程模型;人工页面生成工具则可以迅速的根据需求生成出需要填写的表单,只需要简单修改后便可以使用,可以降低开发的周期;仿真工具是为了检查所创建流程的正确性而开发出来的,使用仿真工具可以更好的发现流程中的逻辑问题3.2.1 业务模型建模工具主要研究业务数据与工作流引擎的协同工作的能力,是否具有以下功能以及功能的完善程度l 提供模型对象与业务对象的一一映射l 支持一对一,一对多,多对一和多对多的业务模型3.2.2 工作流建模工具主要研究考查工作流产品建模工具的方便性与易用性,是否具有以下功能以及功能的完善程度l 图形化拖拽方式,用户体验程度l 提供过程元素符合BPMN2.0规范的对象控件l 实现过程元素的剪贴、复制、粘贴、删除、操作的撤消、对象控件的全选、图形元素自动排列等功能l 采用统一的XML格式储存工作流模型文件导入导出l 流程编制是和业务角色结合的,用户可以进行基于业务规则的工作分配/调整/平衡基于规则的服务选择实现基于规则的路由l 使用客户端方式进行建模工作 ,或者使用 WEB页面富客户端的方式进行建模3.2.3 人工页面生成工具 人工节点的核心是表单,理论上每一个人工节点都应该有一个表单相对应,可供相应的人员填写,因此如何迅速完整的开发完成一个表单,是工作流产品开发周期长短的一个重要的衡量标准。
人工页面生成工具就是表单的生成工具,应具有以下功能:l 在BPM建模工具中提供中直接浏览任务表单业务用户可以利用流程工作区感知新发生的工作任务,进行工作任务的完成,比如流程提交,流程审批,业务分析等等l 直接在建模工具提供生成表单功能,可以简单的通过向导单击就生成工作流表单l 表单可以根据客户的应用实现扩展应用, 扩展应用非常丰富,可以添加图表等丰富内容l 表单可以被新的表单复用l 表单具有导入、导出的功能3.2.4 仿真工具仿真是流程开发完成以后,流程正式上线之前进行的模拟测试,流程进行仿真后将可以发现流程的逻辑问题以及配置问题,一个完整的仿真工具应具有以下功能:l 全套的图形仿真和“假设”分析能力,一边模拟运行一边定义仿真参数l 模拟可以采取角色,升级,代表,事件,日历,工作任务分发3.3. 功能类一个完正的工作流产品,应该具有流程引擎,规则引擎,组织模型与日期,对外提供AP,后端集成SOA,流程版本控制功能3.3.1 流程引擎流程引擎是工作流引擎的核心,是关系到流程如何正常运转的核心组件,一个流程运行的效率、功能以及正确性均由工作流引擎实现,流程引擎应具有以下功能:l bpmn2.0所涉及的网关功能的支持,如多路分支,单路分支,汇聚,判断等功能l 多种任务分配策略l 代办、委托l 流程版本控制,包括2个版本同时运行的情况l 修改后的流程,不会影响到正在修改的流程l 支持回退,撤回功能l 支持人工干预l 超时控制系统l 冲正、存储转发流程l 补偿、异常流程3.3.2 规则引擎 规则引擎在工作流产品中主要体现为,网关节点的规则实现与人工节点的任务分配规则的实现。
规则引擎应具有以下功能:l 在建模器中可以完全集成业务规则功能,直接适用到用户功能的定义,比如用户可以基于业务规则实现工作的分配/调动/平衡,基于规则的服务选择,基于规则的任务路由,基于规则的告警直接在图形化的向导中就可以直接使用规则功能l 基于Web的规则编辑,或者是基于客户端的规则编辑l 无缝和SOA 应用进行集成l 规则信息具有一个资源库,版本控制, 抽象的API 资源库的使用可以直接和SOA 特制的应用,比如BPM应用相结合l 规则包括了面向业务用户的Interfaces,比如自然语言的Interface,因此可以由业务用户直接进行创建和调整3.3.3 组织模型与日期工作流产品应支持多种机构与组织的模型,可以灵活自由的进行配置;同时还应当支持万年历,可以自主设施节假日组织模型可以用图形化方式定义组织单元,角色,组,参与者,并且这些可以和日历功能相结合组织模型与日期可以业务模型建模、工作流程建模,人工页面生产工具以及其他功能相结合3.3.4 对外API的提供在实际应用中,工作流产品通常会与一些外部的系统进行交互,或者是直接嵌入到外部系统中,因此需要提供流程控制的接口供外部系统使用,如:流程产生、获取任务、提交任务、流程人工干预等API接口。
3.3.5 后端集成/SOA 工作流产品在工作中会调用到外部系统,并且会等待系统的同步与异步的返回信息因此,工作流产品必须提供一系列SOA / 集成技术相集成,比如转换功能,后端适配器集成能力,事件,规则,消息,标准的ESB功能,按照农信银中心目前的需求,产品应具有以下协议的通讯功能:l http/httpsl soapl jmsl filel MQl Tuxedol Socketl DBl 包括了很多工具,包括应用适配器,数据库和文件适配器等技术适配器等l 支持事务能力. 事务还能以图形化的方3.3.6 监控功能 监控功能特指在流程运行中,对未完成和已完成的流程进行监控与统计的功能,主要具有以下功能:l 自定义协同空间,并且链接到流程实例l 进行流程实例的监控l 进行流程实例的统计分析四. 中心已有系统工作流功能点分析4.1. 备付金系统工作流分析4.1.1 联社备付金调出流程分析:名称描述人员与组织共分为8类岗位2类录入岗3类复合岗3类审批岗与外部系统交互金蝶软件企业网银流程引擎顺序流程,无回退、撤回功能规则引擎初审规则审批规则4.1.2 联社备付金调入流程分析名称描述人员与组织共分为4类岗位2类录入岗2类复合岗与外部系统交互金蝶软件企业网银流程引擎顺序流程,无回退、撤回功能规则引擎初审规则审批规则4.1.3 资金划入孝感农信通备付金账户业务。
