国内外主流工作流引擎及规则引擎分析
工作流引擎介绍工作流引擎技术架构

工作流引擎介绍工作流引擎技术架构工作流引擎是一种将工作流程转换为计算机可执行的流程的软件系统。
它允许用户通过图形化界面设计工作流程,并通过规则引擎和执行引擎实现工作流程的自动化执行和管理。
工作流引擎的设计是基于商业流程管理(BPM)理念的,它提供了一种能够将工作从一个任务转移到另一个任务的方式,从而提高工作效率和效果。
2.规则引擎:用于根据定义的规则和条件来自动决策工作流程中的走向和下一步操作。
规则引擎通常基于一套规则语言或表达式,可以动态地调整和优化工作流程的执行。
3.执行引擎:负责实际执行和管理工作流程。
执行引擎根据工作流程定义的顺序和条件,逐步执行工作流程的各个步骤,并将结果传递给下一步骤。
4.通信接口:用于与其他系统或应用程序进行交互。
通信接口可以接收和发送消息、数据和事件,从而实现工作流程与外部系统的集成和交互。
5.监控和报告模块:用于实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。
监控和报告模块可以显示工作流程的进度、延迟、错误和资源利用等信息。
6.安全和权限控制:用于管理和控制工作流程的访问权限和安全性。
安全和权限控制模块可以限制用户对工作流程的访问和操作,确保只有经过授权的用户才能执行和管理工作流程。
2.定义规则和条件:使用规则引擎定义工作流程中的规则和条件,以实现自动决策和分支。
3.配置和集成外部系统:使用通信接口将工作流程与其他系统或应用程序进行集成,以实现数据和消息的交换和共享。
4.执行和管理工作流程:使用执行引擎逐步执行和管理工作流程的各个步骤,并将结果传递给下一步骤。
5.监控和报告工作流程:使用监控和报告模块实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。
1.业务流程管理:工作流引擎可以用于自动化和管理各种业务流程,如销售、采购、审批、投诉处理等。
它可以帮助企业提高工作效率和质量,并加快决策和执行速度。
2.工作协同和协作:工作流引擎可以用于协调和协作多个部门或团队之间的工作,如项目管理、文档审批、会议安排等。
.Net三款工作流引擎比较:WWF、netBPM和ccflow

.Net三款⼯作流引擎⽐较:WWF、netBPM和ccflow下⾯将对⽬前⽐较主流的三款⼯作流进⾏介绍和⽐较,然后通过三款流程引擎分别设计⼀个较典型的流程来给⼤家分别演⽰这三款创建流程的过程.这三款⼯作流程引擎分别是 Windows Workflow Foundation,NetBPM, CCFlow.NetBPM 与 CCFlow 是两款国内知名的开源软件,尤其是ccflow在国内的发展势头强劲。
这个典型的流程假设:公司有两级领导,⼀级为主管Chief,⼀级为⽼板Boss场景描述:在某公司中,部门员⼯休假需要主管Chief的批准。
如果休假天数⼤于10天,则在部门主管同意后,还必须⽼板Boss批准。
如果是部门主管请假则直接提交⽼板批准。
在休假被批准之前,申请⼈可以撤销休假申请。
申请批准后,对休假天数进⾏修改(也可以是其他业务数据处理)。
每次休假申请结束之后,不管通过未通过或是否取消,都必须记录下来。
流程结束时,系统要把请假的结果信息Email给申请⼈。
对于⼤于10天的申请,如果部门主管已批准同意⽽上级主管还未批准,这时申请⼈撤销申请后,系统应发Email通知部门主管申请已撤销。
我们这⾥只是⼀个模拟,当然现实⽣活中情况⽐这个更加复杂⼀些;Windows Workflow Foundation微软的⼯作流产品,提供⼀套⼯作流引擎和VS解决⽅案⾃带的流程设计器,但是该流程设计器⾯对的是程序员⽽⾮业务⼈员,所以界⾯⽐较专业,流程运⾏只能创建控制台应⽤程序,没有流程运⾏界⾯,没有表单库,如需要表单和界⾯需要⼆次开发。
使⽤WWF创建流程:1. 启动VS2010,创建⼀个顺序⼯作流控制台的程序。
2. 输⼊项⽬名称,点击确定,将⾃动进⼊流程设计界⾯。
3. ⾃动⽣成的Workflow1.cs是⼀个⼯作流组件。
4. ⼯具箱中拖放⼀个IfElse活动组件到设计界⾯上。
5. 此时就需要较多的编码⼯作和表单界⾯设计⼯作,如在idelseBranchActivitiy1左侧分⽀,⽤以判断请假⼈是否新申请请假还是取消请假,激活Conditiong属性,并且添加内部事件EvaluateQingJiaNoValidCode,并激活,在内部输⼊逻辑代码根据数据库记录判断请假是否通过,未通过则取消请假。
工作流引擎比较:Airflow、Azkaban、Conductor

Conductor
将Conductor引入本次竞赛有点不公平,因为它的真正目的是微服务编排,无论这意味着什么,它的HA模型涉及一定数量的服务器,它们位于负载均衡器后面,将任务放入消息队列中,工作节点将轮询这个队列,这意味着你不太可能遇到停滞的调度。在API参数化执行的帮助下,如果你正确设置负载均衡器/服务发现层,它实际上非常擅长调度和扩展。
对于通用流程调度而言,不是一个非常好的候选者,因为XML定义对于定义轻量级作业非常冗长和繁琐。
它还需要相当多的外设设置。你需要一个zookeeper集群,一个db,一个负载均衡器,每个节点都需要运行像Tomcat这样的Web应用程序容器。初始设置也需要一些时间,这对初次使用的用户来说是不友好的。
Step函数
没有
没有
没有
HA额外要求
Celery / Dask / Mesos + Load Balancer + DB
D B
负载均衡器(Web节点)+ DB
负载均衡器(Web节点)+ DB + Zookeeper
本地人
Cron Job
是
是
没有
是
是
执行模型
推
推
轮询
轮询
未知
Rest API触发器
是
是
是
是
是
参数化执行
历史
4年
7年
1.5年
8年
1.5年
主要目的
通用批处理
Hadoop作业调度
微服务编排
Hadoop作业调度
通用工作流
国内外主流工作流引擎及规则引擎分析

国内外主流工作流引擎及规则引擎分析工作流引擎和规则引擎是现代信息化系统中常用的技术工具,旨在提高工作效率、降低人工操作成本并优化业务流程。
本文将对国内外主流的工作流引擎和规则引擎进行分析。
工作流引擎是一种用于管理和自动化业务流程的软件工具。
它定义、执行和监控各种业务流程,能够自动化工作流程、加强协作和控制、提高工作效率。
国内外主流的工作流引擎有:1. Activiti:Activiti是一个轻量级的工作流引擎,基于Java语言开发,采用BPMN2.0标准,具有可扩展性和灵活性,可以与各种企业应用集成。
Activiti提供了很多常用的工作流功能,如用户任务管理、调度执行、流程设计和监控等。
2. jBPM:jBPM是Red Hat公司开发的一个开源的工作流引擎,用于构建、执行和管理业务流程。
它使用BPMN2.0规范,支持业务流程建模、流程定义和流程执行。
jBPM可以与其他系统集成,并提供了各种工具和API来管理和监控工作流程。
3. Camunda:Camunda是一个基于Java的开源工作流引擎,也采用BPMN2.0标准。
Camunda具有灵活的工作流程定义、任务分配、任务执行和流程监控功能,可以与各种技术和系统集成。
Camunda还提供了Web模型器和集成开发环境,简化了工作流程的设计和开发过程。
规则引擎是一种用于管理和执行复杂业务规则的软件工具。
它可以将业务规则从应用代码中分离出来,使得规则的维护和修改更加灵活和高效。
国内外主流的规则引擎有:1. Drools:Drools是一个基于Java的开源规则引擎,提供了业务规则管理、规则引擎和决策表等功能。
Drools使用基于规则的编程模型,将业务规则和应用代码分离开来,并提供了灵活的规则引擎和规则语言,可以实现复杂的规则逻辑。
2. Jess:Jess是一个基于Java的规则引擎,也是一个专门用于开发专家系统的语言。
Jess提供了强大的推理和规则匹配功能,支持定义和执行各种复杂的业务规则。
国内外主流工作流引擎及规则引擎分析

国内外主流工作流引擎及规则引擎分析近年来,随着信息技术的高速发展和应用需求的增加,工作流引擎和规则引擎已成为企业信息化建设的重要组成部分。
相比于传统的人工操作,工作流引擎可以通过自动化和流程化的方式提高企业的工作效率和质量,规则引擎则可通过规则的自动验证和执行帮助企业实现业务流程的自动化处理。
本文将着重对国内外主流的工作流引擎和规则引擎进行分析。
一、国际主流工作流引擎1.1 ActivitiActiviti 是一个开源工作流管理系统,最初由Alfresco 软件公司开发。
Activiti 使用Java语言编写,采用Spring和Hibernate框架,并且允许开发人员使用BPMN 2.0 规范来定义工作流程。
Activiti 支持分布式部署,具有良好的可扩展性和高度的灵活性。
1.2 jBPMjBPM 是一个基于开放标准的开源业务流程管理系统,也是一个部分Java Business 的资深技术。
jBPM 使用BPMN 2.0 规范的建模语言来设计和实现业务流程,并采用面向服务的架构,使其能够处理非常复杂的流程。
1.3 CamundaCamunda 是一个开源工作流引擎,可以轻松地实现工作流程的自动化。
Camunda 使用BPMN 2.0 规范和DMN 规范来定义工作流程和规则,其支持分布式环境下的各种操作。
二、国内主流工作流引擎2.1 艾森格艾森格是一家专业的工作流引擎厂商,艾森格的工作流引擎具有高效性、可靠性以及良好的易用性。
艾森格工作流引擎支持分布式环境,可应用于企业级内部流程处理。
2.2 WeBWorkFlowWeBWorkFlow是一家国内比较优秀的工作流引擎厂商,支持多种操作系统(Linux、Windows等),支持HTTP 与TCP 协议的交互,并具有非常好的任务调度、安全性等特性。
2.3 宁波欧格软件宁波欧格软件是一家专业从事OEM服务的缔造者,欧格工作流引擎能够简化和优化所有流程,并为流程提供统一的管理平台。
国内市场主流专业的工作流(bpm)软件分析、比较及推荐

国内市场主流专业的工作流(bpm)软件分析、比较及推荐目前国内外的工作流系统层出不穷,行业标准多种多样,虽然工作流主要功能国内比较知名的工作流软件基本上都具备,但功能的侧重点各不相同,增加了企业对工作流或BPM选型难度,本人选用目前国内市场主流专业的工作流软件,从概念、工作流引擎、工作流过程建模工具、流程操作、工作流客户端架构、流程监控、表单设计器以及与应用程序的集成等方面进行分析和比较,帮助企业对工作流或BPM产品的选型。
一、概述:工作流的思想最先起源于西方国家,一开始的目的主要是为了简化工作流程,为繁琐的工作提供依据。
随着需求的不断延伸以及人们对企业信息化思想的不断普及,工作流越来越受到企业内部的使用推广,当然,工作流能满足的需求也在不断的优化。
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。
尽管工作流已经取得了相当的成就,但对工作流的定义还没有能够统一和明确,不同学者从不同角度对工作流做出了不同的定义。
Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。
IBM Almaden Research Center将工作流定义为:工作流是经营过程的一种计算机化的表示模式,定义了完成整个过程需要的所有参数;这些参数包括对过程中每一个步骤的定义、步骤的执行顺序和条件、步骤由谁负责以及每个活动所需要的应用程序等。
1993年工作流管理联盟(Workflow Management Coalition,WfMC)作为工作流管理的标准化组织而成立,标志着工作流技术逐步走向成熟。
三大工作流引擎对比

三大工作流引擎对比1.从《功夫》说起时下的新新人类看到我,一定会认为在下是个十足的老古董,这不,《功夫》这样的片子我到今年2月底才看。
不过看过《功夫》,我想的一定比一般的人多:周星星浪迹江湖,和他胖子大哥出去敲竹杆时,为什么要他大哥胸前画两把斧头?找个假靠山呗!装是斧头帮的人才不会被人欺负啊。
这让我想到年前的一则新闻:jbpm joins jboss and becomes jb oss-jbpm。
也就是说了,jbpm找了个靠山jboss,以后不用自己在外流浪了。
好,我们转入正题,谈这里说的三大主流开源工作流引擎:Shark, osworkflow,jbpm。
Shark的靠山是Enhydra。
Enhydra做过什么呢?多了!从j2ee 应用服务器,到o/r mapping工具,到这个工作流引擎等等。
为什么Shark的持久层采用DODS来实现?就是因为他们是一家人。
Jbpm的靠山是jboss。
Jbpm3的持久层采用hibernate3来实现,也是因为这个原因吧。
Jbpm3的图形化流程定义已经决定嵌入到jbos s eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我们已经可以用插件方式编辑一个jbpm3流程定义文件了。
Osworkflow的靠山是opensymphony。
我是非常喜欢这个组织的,它做出了很多的好东西。
在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。
笔者主持的开源工作流引擎AgileFl ow就是基于ww2+spring+hibernate架构实现的。
完成本段时说句题外话:现在基本上所有的J2EE应用程序服务器都有自己的工作流引擎,如上面提到的Enhydra,jboss和没有提到的websphere和weblogic等,可见,学习工作流引擎技术的确是非常重要的。
2.如来神掌光有靠山是不行的,周星星加入了斧头帮还不是被邪神打扁了头?要救自己,还是要靠如来神掌。
工作流引擎ppt课件

• HistoryService: History Service 用于获取正在运行或已经完成的流程实例的信息,与 Runtime Service 中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并 已经被针对查询优化。
• FormService: Activiti 中的流程和状态 Task 均可以关联业务相关的数据。通过使用 Form Service 可以存取启动和完成任务所需的表单数据并且根据需要来渲染表单。
11
在 Eclipse 项目中可以直接通过创建 Activiti Diagram 的形式来创建一个流程定义文件并在可视化编辑器中 编辑。如果项目中已经存在 BPMN2.0 流程定义 XML 文件,双击该文件 Eclipse 插件会自动生成一个后缀 为 .bpmn的流程可视化编译文件。双击该文件可在可视化流程编辑器中打开该流程。下图是在可视化编 辑器中打开一个流程定义文件的截图。
• Activiti 流程引擎重点关注在系统开发的易用性和轻量性上。每一项 BPM 业务功能 ቤተ መጻሕፍቲ ባይዱctiviti 流程引擎都以服务的形式提供给开发人员。通 过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的 BPM 应用程序。
• 图 1.Activiti 系统服务结构图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国内外主流工作流引擎及规则引擎分析2013年2月创新研发部目录一.背景目前中心建成的“一大核心系统,七大共享平台”以及OA系统,对工作流应用程度高,但各系统实现工作流程管理没有建立在统一的工作流平台上,导致流程割裂、重复开发、不易于管理等问题。
备付金管控项目涉及多个岗位之间工作的审核步骤,同时还要与多个系统进行交互,因此,为了提高管理效率,降低业务流转时间,同时还要结合农信银中心的总体IT战略规划,备付金管控项目技术组决定选择一款先进的工作流引擎和一款规则引擎,作为备付金管控项目的核心技术架构。
二.原则备付金管控项目组通过梳理各信息系统流程现状和未来需求,形成农信银中心工作流平台的发展规划,从而更全面的满足农信银各项关键业务、更好的支撑现有和未来的信息系统建设。
项目组充分研究国内外领先的工作流产品和案例,同厂商交流。
从用户界面生成、流程建模、流程引擎、规则引擎、组织模型、模拟仿真、后端集成/SOA、变更及版本管理、移动设备解决方案、监控分析能力等多方面考察工作流产品,进行工作流产品选型。
目前国内外的工作流引擎层出不穷,行业标准多种多样,通过对比不同工作流公司产品,本次工作流技术选型决定分析商业工作流引擎4款,开源工作流引擎2款。
其中国际知名厂商的商业工作流引擎2款,本土厂商的商业工作流引擎2款。
由于本次技术选型是以工作流引擎为主,选型工作将不再单独分析规则引擎,而是直接使用与所选工作流引擎搭配最好的或者是同一厂商的规则引擎。
根据国内外知名度、厂商的规模和与符合农信银中心的SOA体系架构等原则,将选取以下6种工作流引擎与规则引擎进行研究与分析:三.工作流功能分析点3.1.标准类为了具有可替代性和适应性,所选工作流产品应当遵循目前最主流的工作流标准。
3.1.1BPMN2.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联社备付金调出流程分析:分析:4.1.4备付金运用账户开立流程分析:4.1.5备付金沉淀资金运用流程分析:4.1.6备付金沉淀资金支取流程分析:4.2.多介质项目工作流分析4.2.1开卡审批流程分析4.3.新一代农信银资金清算系统工作流分析无使用工作流的需求4.4.电子商票系统工作流分析农信银商票系统中没有固定不变的流程,系统要求适应不同地区不同业务品种的审批流程,当业务规则发生变更时,成员行的管理人员可以通过简单的参数配置,灵活适应业务的多样性需求。
工作流生命周期的支持:商票系统要求工作流产品支持工作流的开发,运行,维护,监控,能够满足业务人员,开发人员,运维人员,操作人员不同的要求。
工作流特性要求,在工作流内部实现上要求工作流产品支持如下特性:4.5.OA系统工作流分析合同请假五.工作流产品分析六.分析结论6.1.对比开源工作流:开放源代码,产品免费,功能强大,符合BPMN2.0规范,易于学习,拥有众多的开发人群。
但对于人工流程支持不够,没有商业引擎强大。
国内案例不够丰富,如果使用需要大量的二次开发工作。
本土厂商的商业工作流引擎:拥有源代码,成本较低,容易学习,不符合BPMN2.0规范,但案例相对成熟,对于人工审批流程支持较好,对于自动流程支持较弱。
市场占有率低,没有商业引擎强大,外包人员相对充足,适用于小型快速研发的项目。
IBM BPM,ORACLE BPM:无源代码,功能强大,产品健壮,稳定性好,符合BPMN2.0规范,市场占有率高,学习曲线较长,但成本较高,占用资源相对较多。
适用于大型项目。
6.2.建议目前,农信银中心已有流程,需求相对比较简单,除商票系统需要进行会签功能外,其它流程仅需要支持顺序流。
因此上述6款工作流引擎均能够满足农信银中心对于工作流引擎的需求。
从最节约成本的角度考虑建议在开源工作流引擎中选择,采用由中心人员主导研发,公司外包人员进行配合的开发模式。
从开发最快的角度考虑建议在本土厂商的商业工作流引擎中选择,采用由本土厂商的外包人员主导研发,中心人员进行配合的开发模式。
从中心工作流平台的发展规划角度考虑建议IBM BPM,ORACLE BPM中选择,采用由中心人员主导研发,IBM或ORACLE的合作公司的外包人员进行配合的开发模式。