国内外主流工作流引擎及规则引擎分析

更新时间:2023-10-21 04:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

国内外主流工作流引擎及规则引擎分析

2013年2月

创新研发部

目录

国内外主流工作流引擎及规则引擎分析 ............................................................................ 1 一. 背景................................................................................................................... 3 二. 原则................................................................................................................... 3 三.

工作流功能分析点.............................................................................................. 4

4.1. 标准类 ........................................................................................................ 4 3.1.1 BPMN2.0标准支持 ................................................................................ 4 4.2. 开发类 ........................................................................................................ 5

3.1.1

3.1.2 3.1.3

业务模型建模工具................................................................................ 5 工作流建模工具 ................................................................................... 5 人工页面生成工具................................................................................ 6

3.1.4 仿真工具.............................................................................................. 6 4.3. 功能类 ........................................................................................................ 7

4.1.1

4.1.2 4.1.3 4.1.4 4.1.5 4.1.6

四.

4.1.

流程引擎.............................................................................................. 7 规则引擎.............................................................................................. 7 组织模型与日期 ................................................................................... 8 对外API的提供 ................................................................................... 8 后端集成/SOA....................................................................................... 8 监控功能.............................................................................................. 9

中心已有系统工作流功能点分析....................................................................... 10

备付金系统工作流分析.............................................................................. 10

联社备付金调出流程 .......................................................................... 10 联社备付金调入流程 .......................................................................... 13 资金划入孝感农信通备付金账户业务流程........................................... 15 备付金运用账户开立流程 ................................................................... 17 备付金沉淀资金运用流程 ................................................................... 20

4.1.1 4.1.2 4.1.3 4.1.4 4.1.5

4.1.6 备付金沉淀资金支取流程 ................................................................... 23 4.2. 多介质项目工作流分析.............................................................................. 24 4.1.1 开卡审批流程..................................................................................... 24 4.3. 新一代农信银资金清算系统工作流分析 ..................................................... 25 4.4.

电子商票系统工作流分析 .......................................................................... 25

4.5. OA系统工作流分析.................................................................................... 27 五. 工作流产品分析 ............................................................................................... 27 六.

分析结论.......................................................................................................... 38

4.4. 对比.......................................................................................................... 38

4.5. 建议.......................................................................................................... 38

一. 背景

目前中心建成的“一大核心系统,七大共享平台”以及OA系统,对工作流应用程度高,但各系统实现工作流程管理没有建立在统一的工作流平台上,导致流程割裂、重复开发、不易于管理等问题。

备付金管控项目涉及多个岗位之间工作的审核步骤,同时还要与多个系统进行交互,因此,为了提高管理效率,降低业务流转时间,同时还要结合农信银中心的总体IT战略规划,备付金管控项目技术组决定选择一款先进的工作流引擎和一款规则引擎,作为备付金管控项目的核心技术架构。 二. 原则

备付金管控项目组通过梳理各信息系统流程现状和未来需求,形成农信银中心工作流平台的发展规划,从而更全面的满足农信银各项关键业务、更好的支撑现有和未来的信息系统建设。项目组充分研究国内外领先的工作流产品和案例,同厂商交流。从用户界面生成、流程建模、流程引擎、规则引擎、组织模型、模拟仿真、后端集成/SOA、变更及版本管理、移动设备解决方案、监控分析能力等多方面考察工作流产品,进行工作流产品选型。

目前国内外的工作流引擎层出不穷,行业标准多种多样,通过对比不同工作流公司产品,本次工作流技术选型决定分析商业工作流引擎4款,开源工作流引擎2款。其中国际知名厂商的商业工作流引擎2款,本土厂商的商业工作流引擎2款。由于本次技术选型是以工作流引擎为主,选型工作将不再单独分析规则引擎,而是直接使用与所选工作流引擎搭配最好的或者是同一厂商的规则引擎。根据国内外知名度、厂商的规模和与符合农信银中心的SOA体系架构等原则,将选取以下6种工作流引擎与规则引擎进行研究与分析:

工作流 名称 厂商名称 是否 开源 否 工作流 核心技术 规则引擎 中心使用情况 共享电子IBM BPM7.5 IBM WPS+Lombadi Ilog 商业汇票系统中使用WPS Oracle BPM Oracle 11g eChain Topbpm 宇信易成 否 华腾 否 JBPM 否 OracleBusiness 无 Rules Toprule 多介质金融服务平台-开卡审批子系统 Activiti5 Apache 是 JBPM4的后Camel 续版本 JBPM5 JBOSS 是 Drooles flow的后续版本 三. 工作流功能分析点 3.1.

标准类

Drooles 无 无 为了具有可替代性和适应性,所选工作流产品应当遵循目前最主流的工作流标准。

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 业务模型建模工具

主要研究业务数据与工作流引擎的协同工作的能力,是否具有以下功能以及功能的完善程度。

? 提供模型对象与业务对象的一一映射

? 支持一对一,一对多,多对一和多对多的业务模型

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 联社备付金调出流程

变更管理 ? ? 流程版本控制 修改后的流程,不会影响到正在修改的流程 ? 支持多个流程版本并行运行, 支持客户自定义默认的生效流程版本, 同时支持多种模式的流程实例迁移( 老模版实例走老模版/老模版实例走新模版), 实现”分水岭”,”一刀切”等多种流程实例迁移需求. ? 未见说明。 ? 未见支持 ? 未见支持 ? eChain产品支持多版本处理控制,管理员可以在任意时刻修改变更流程的业务规则,系统将重新发布新的流程版本,流程版本控制上支持一刀切、同步迁移最新版本等不同方式 ? 不支持一刀切 ? 可以在一个流程中随意拖拽活动节点,改动路由链路。这样使得业务用户可以方便的进行路由的调整。 移动设备解决方案 ? 客户端 wap的解决方案 ? 未见案例 ? ? 未见案例 ? 未见案例 ? 未见案例 ? 未见案例 ? 流程门户:跟踪问题,连接到文档和讨论共享文档,设计规格,等等。 协同、监控能力 ? 建模空间:共享建模和协同。 ? IBM BPM7.5产品提供基于Web浏览器的门户, 客户可以通过这个门户进行流程相关的操作与管理. 如: 启动流程, 查看流程状态, 查看/处理待办任务, 查看历史任务, 查看审批记录, 发起中间事件, 将任务进行转交他人处理等操作. 门户自身实现了完善的权限管理, 登录门户的用户只能查询和处理与之相关的任务. ? 流程工作区,WEB方式。监控,分析,警告。 ? 提供一个简单的门户应用Activiti explorer,用于进行流程的发起,挂起、恢复和流程的监控 ? 业务流程能够通过一个 web 控制台来管理。这包括的属性有流程实例的管理,查看任务列表,执行这些任务,产生报告。 ? eChainMonitor提供了图形化的方式再现流程细节 ? 使用Seam框架实现流程门户与监控功能 ? 流程实例:流程参与者能够查看正在运行的流程实例。 ? 协同即时空间:协同和信息可以随时捕获。 ? 任务列表:流程参与者能够查看和使用其分配的任务。 ? 流程类别,浏览流程资源库,预览总结信息。 ? 流程仪表盘:提供现成的仪表盘来监视流程性能、任务性能和工作量。 ? 自定义协同空间,并且链接到流程实例 ? 定制仪表盘:流程参与者能够基于流程实例生成的度量数据定义和使用定制仪表盘。 ? 进行流程实例的监控 ? 业务管理员还可以使用 Oracle BPM 工作区来配置和维护组织及角色 ? 同时通过门户, 可以查看报表, 统计和KPI相关的信息. ? 门户提供用户定制化功能, 用户可以根据自身需求, 定制门户中所展示的内容.

六. 分析结论 6.1.

对比

标准支持 IBM&Oracle 国内工作流 开源 支持最新BPMN2.0 有良好的延续性 支持最新BPMN2.0 不支持 有良好的延续性 产品价格 开发周期 人员支持 市场占有率 稳定性 高 一般 一般 高 高 低 快 多 低 中 无 慢 少 低 低 开源工作流:开放源代码,产品免费,功能强大,符合BPMN2.0规范,易于学习,拥有众多的开发人群。但对于人工流程支持不够,没有商业引擎强大。国内案例不够丰富,如果使用需要大量的二次开发工作。

本土厂商的商业工作流引擎:拥有源代码,成本较低,容易学习,不符合BPMN2.0规范,但案例相对成熟,对于人工审批流程支持较好,对于自动流程支持较弱。市场占有率低,没有商业引擎强大,外包人员相对充足,适用于小型快速研发的项目。

IBM BPM,ORACLE BPM:无源代码,功能强大,产品健壮,稳定性好,符合BPMN2.0规范,市场占有率高,学习曲线较长,但成本较高,占用资源相对较多。适用于大型项目。

6.2. 建议

目前,农信银中心已有流程,需求相对比较简单,除商票系统需要进行会签功能外,其它流程仅需要支持顺序流。因此上述6款工作流引擎均能够满足农信银中心对于工作流引擎的需求。

从最节约成本的角度考虑 建议在开源工作流引擎中选择,采用由中心人员

主导研发,公司外包人员进行配合的开发模式。

从开发最快的角度考虑 建议在本土厂商的商业工作流引擎中选择,采用由本土厂商的外包人员主导研发,中心人员进行配合的开发模式。

从中心工作流平台的发展规划角度考虑 建议IBM BPM,ORACLE BPM中选择,采用由中心人员主导研发,IBM或ORACLE的合作公司的外包人员进行配合的开发模式。

本文来源:https://www.bwwdw.com/article/enpf.html

Top