主流工作流引擎对比.docx_第1页
主流工作流引擎对比.docx_第2页
主流工作流引擎对比.docx_第3页
主流工作流引擎对比.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主流工作流引擎对比 工作流引擎也就是标准中的工作流机,工作流执行服务器是使用一个或多个工作流机,为过程实例和活动提供运行环境,负责解释和激活过程定义,与过程所需的外部资源进行交互。在WfMc的标准中的定义为:“由一个或多个工作流机构成的软件服务器,用来创建、管理、执行工作流实例。应用程序可能会通过WAPI来与这个服务交互”。一个工作流机负责执行服务器中的部分(或者全部)运行控制环境。在标准中的定义为:“为工作流实例提供运行时期的执行环境的软件服务器或引擎。”。 工作流引擎的职能: 解释过程定义 控制过程实例创建、激活、挂起、终止等 为过程的活动导航,可能要包含顺序或者平行的操作、最后时间期限、对工作流相关数据进行解释 参与者签名和退出 确定任务项目,实现用户意图;提供接口,支持用户交互 维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传递工作流相关数据 提供调用外部程序的接口,连接所有工作流相关数据 提供控制、管理和审查功能 工作流机可以控制过程集、子过程、或通过对象类型的范围、及其属性定义好运行范围的实例。在一个由多个工作流机构成的工作流执行服务器中,要把过程进行划分,分配给工作流机。可以按照过程类型来划分,某个工作流机负责控制相应类型过程;按照功能进行划分,某个工作流机负责控制过程的一些部分,这些部分所需要的用户或者资源,都在此工作流机的控制范围内。也可以按照其他的一些机制来划分。主流工作流引擎:1.Shark Shark是一个完全基于WFMC和OMG规范的工作流引擎。Shark的流程定义语言是XPDL,XPDL的两个最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活动图的概念。活动图天生的适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。1.使用了WFMC的XML过程定义语言(XPDL)作为自己的过程定义语言。2.在标准核心实现中,Shark是一个不需要创建他自己的线程的库,并且他能够被使用到不同的环境中(在WEB应用中、在SWING应用中、作为 CORBA服务、在EJB容器中)。3.非常可配置的,所有的内在接口,包括核心部分都能够被其他实现所替换。4.能够同时被使用到多种虚拟机上(在集群环境中)。5.连同POJO接口一起,他提供了一个CORBA接口,通过这个接口,CORBA客户端应用程序能够和作为CORBA服务的shark进行通信。6.能够配制成使用LDAP服务器上的组织结构定义7.不使用任何XPDL扩展属性作为他的执行规则8.接口允许使用外部处理(在一些应用中被使用),所以shark能够和他的客户端处理程序一起工作。9.使用DODS(一种来自Enhydra的OR/M工具)它几乎能够使shark使用任何的数据库系统来存储信息,并且他的目标数据库能够被简单地以url的形式配置。10.实现的工具代理的概念,这个WFMC的概念是来执行自动活动的工具(很多有用的工具代理在shark中被使用)。11.shark能把客户自定义的java类作为流程变量来使用。参考:/p/shark//doc/1.1/index.html2.Osworkflow Osworkflow是完全用java语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景的用户的特点。用户可以根据自身的需求利用这款开源软件设计简单或是复杂的工作流。通过使用,用户就可以把工作中心放在业务和规则的定义上,而不需通过硬编码的方式实现一个Petri网或是一个有穷自动机。用户可以以最小的代价把osworkflow整合到自己的程序中来。(百度百科)1. Osworkflow极其灵活性。2.底层工作流实现3.基于有限状态机参考:Osworkflow开发手册3.Jbpm JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。1.jBPM是一款基于LGPL开源协议的开源工作流产品,它没有采用BPEL或WFMC标准去实现流程引擎;jBPM采用的是一套自有标准,一种轻量级的XML结构的流程描述语言JPDL, JPDL是jBPM Process Definition Language的缩写,相比WFMC和BPEL两种标准而言,JPDL语言更加简单,也更容易读懂。2.jBPM提供了基于Eclipse的流程设计器。3.以WEB应用的形式提供了对流程的管理与控制。4.因为jBPM采用Hibernate对流程数据进行持久化,所以jBPM可以运行于任意数据库之上。5.jBPM的运行模式有两种:独立模式、嵌入式模式。参考:/jbpm/v6.3/userguide/百度百科4.Apache ODE Apache ODE (Orchestration Director Engine) 支持WS-BPEL 2.0流程建模标准 ,支持BPEL、Xforms、WebService作为外部接口标准。框架比较灵活。ODE BPEL编译器、ODE BPEL运行时、ODE数据访问对象(DAOs)、ODE集成层(ILs)和用户工具之间耦合度低。1.同时支持WS-BPEL 2.0 OASIS 标准和传统的BPEL4WS 1.1供应商规范。2.支持2个通信层:一个基于Axis2 (Web Services http transport),另一个基于JBI标准 (using ServiceMix)。3.支持HTTP WSDL绑定,允许REST样式的webservice调用。4.为外部流程变量映射到内部的数据表提供可能。5.高层次的API可以将任何通信层集成到引擎核心。6.流程热部署。7.BPEL 的编译方法在命令行或部署上提供了详细的分析和验证。8.为流程提供实例和消息的管理接口。参考:/5.BonitaBonita 是一个符合WfMC规范、灵活的协同工作流系统。 对于各种动作如流程概念建模、定义、实例化、流程控制和用户交互等提供了全面的集成图形工具。 100% 基于浏览器、使用SOAP和XML数据绑定技术的Web Services封装了已有的工作流业务方法并将它们以基于J2EE的Web Service形式发布。基于活动预测模型的第三代工作流引擎。1.具有零编码方法。2.对于没有提供连接器的应用,需要自己写连接器。3.免费版不支持LDAP 或者 Active Directory Sync4.不是商业IT对其的,即不能既能够提供给商业人员使用,又提供给专业人员使用,提供了Bonita Studio,但是需要专业技术人员使用。5.只适用微小简单的业务流程的管理工具,不够灵活。参考:/questions/7279329/bonitasoft-bpm-vs-jbpm-vs-activiti6.Activiti 应该是最新的工作流引擎,Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开源ECM系统运行。 Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 Activiti将提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和BPMN 2.0的匹配,该项目现正由OMG通过标准审定。 加入Alfresco Activiti项目的是VMware的SpringSource分支,Alfresco的计划把该项目提交给Apache基础架构,希望吸引更多方面的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论