好文档 - 专业文书写作范文服务资料分享网站

jBPM4工作流应用开发指南 01 

天下 分享 时间: 加入收藏 我要投稿 点赞

表1-1 Optaros 2009年开放源码目录_基础设施解决方案_业务流程和工作流程管理 产品 版本 3.1 Bonita 许可证 LGPL 支持 功能 社区支持 成熟度 ER-Rating 趋势 ★★ ★ → 社区版 ★★★ ★★★ 描述:拥有基于“活动预测模型”的工作流引擎,符合WfMC规范。只适用于Jonas应用服务器和JBoss应用服务器。 网址:http://bonita.objectweb.org 2.2 LGPL 专业/社区版 ★★★ ★★★ ★★★ ★★ ↑ Enhydra Shark 描述:拥有基于Java技术、可扩展的工作流引擎,实现了WfMC规范,即使用XPDL语言来定义流程。该项目提供了图形化流程设计器。 网址:http://shark.objectweb.org Apache Eclipse 5.1.1 Public License Intalio| BPMS 描述:是一个业务流程管理平台,提供了复杂的工具和底层技术用来支持流程的运行,包括流程设计器(基于Eclipse)、流程引擎(ODE)和一些运行时组件。 网址:http://bpms.intalio.com 1.5 IX LGPL 专业/社区版 ★ ★ ★ ★ ↑ Custom 专业/社区版 ★★★ ★★ ★★ ★★ ↑ 描述:基于Java体系的工作流系统,负责持久化以及处理业务流程,能很好器是基于Eclipse的插件。 网址:http://www.imixs.org Workflow 地支持与Domino,JBoss,Sun Glassfish应用服务器的集成。流程设计第1章 工作流基础 | 17

(续表)

产品 版本 许可证 支持 专业/ 功能 社区支持 成熟度 ER-Rating 趋势 ★★★ ★★★ ↑ 3.2.3 LGPL JBoss jBPM ★★★★ ★★★ 社区版 描述:灵活且可扩展的工作流管理系统。使用管理者和开发者都可以理解的语言(如jPDL或BPEL)来定义流程。其图形化流程设计器为Eclipse插件。 网址:http://www.jboss.com/products/jbpm Apache 1.2 License 社区版 ★★ 2.0 ★★★ ★★★ ★ → ODE (Apache) 描述:基于Java组件的工作流引擎,遵循BPEL4WS规范。ODE工作流引擎早于PXE工作流引擎面世。 网址:http://ode.apache.org 根据这份报告可以很明显地看出,在众多的开源工作流管理系统中,jBPM这个项目在各项评比中都居于第一位,其许可证为LGPL,可以在合法的范围内被作为商业应用。jBPM不仅有着开源社区的支持,同时作为 RedHat/JBoss的子项目,也具有一定的商业支持服务保证。尽管它还有一些不足,例如流程设计器功能过于简化、对企业应用集成的支持有待完善等,但毫无疑问,它是众多项目型公司低成本工作流应用解决方案的不二之选。

Shark在这份报告中应该居于第二位,其严格遵循WfMC规范的XPDL流程定义语言无疑是个亮点,这比jBPM主要采用自己的jPDL语言似乎更标准、更通用一些,不过jBPM4对BPEL的支持和PVM的设计理念让Shark的这个优势显得并不突出。

其他的几个项目或多或少地存在着明显的短板,有的甚至已经停滞不前了,因此,在国内的应用并不多见。

值得注意的是,在这份报告中,参加评比的jBPM版本还是3.X,而今,jBPM4已经逐渐成为主流,而jBPM4比之jBPM3有着“飞跃”性的提升,读者可以在后面的章节中逐渐体会到。

18 | jBPM4工作流应用开发指南

1.4 jBPM

jBPM,全称是java Business Process Management,是一种基于JavaEE的轻量级工作流管理软件包,由于jBPM架构的开放性,它更像是一个支持面向流程编程的框架(Framework)。jBPM是开放源代码(Open Source)项目,使用jBPM要遵循LGPL开放源代码协议。以下的介绍将使您对这个著名的项目有一个概念性的认识。

1.4.1 jBPM前世今生

jBPM项目于2002年3月由Tom Baeyens发起,2003年12月发布1.0版本。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss组织,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,以及JBoss被RedHat公司收购,jBPM也进入一个全新的发展时代,它获得了大量的社区和商业支持,因此发展前景十分光明。

jBPM3主要采用了UML Activity Diagram(活动图)的模型,借鉴了Petri Net的token机制,使用“无限状态机”模型控制流程实例的变迁。因此在理论模型基础上,jBPM无疑是先进工作流产品。jBPM4则引入了PVM(流程虚拟机)的设计理念,为jBPM4的“无限”扩展和集成提供了有力的底层功能支持。

经过8年多的发展,JBoss jBPM已经成为一流的开源工作流产品:

? 每月超过20 000次的下载量。 ? 极度活跃的用户论坛和开发者论坛。 ? 频繁更新Web站点和Wiki。

本书以2010年第一季度最新发布的jBPM4.3版本为主要参照,来介绍jBPM。当然,本书介绍的很多方法和思想不是与版本号“绑定”的,即适用于所有jBPM4版本,甚至所有工作流系统的研究和开发。

1.4.2 关于jBPM4您需要知道的

JBoss jBPM是一个可扩展、灵活的能够实现工作流/业务流程管理的企业级开发框架,提供了流程定义、流程部署、流程执行、流程管理等功能。

jBPM是JBoss旗下的子项目,JBoss下还包括有Seam(JavaEE开发框架)、Drools

第1章 工作流基础 | 19

(规则引擎)、 Hibernate(ORM持久化框架)等众多领域的优秀开源项目。由于同属一个产品家族,它们能与jBPM完美地结合,互相都留有支持的接口,方便开发者业务的扩展,为jBPM提供延伸的价值。

同时jBPM作为JBoss SOA平台的一个重要组件,与JBoss Drools规则引擎和JBoss ESB企业服务总线配合在一起为用户提供全面、完整的SOA解决方案。

JBoss jBPM是一个支持“嵌入式”的业务流程管理产品,理论上可以运行在任何JavaEE应用服务器之上,也可以运行在桌面应用中。JBoss jBPM4在流程虚拟机(PVM)技术的基础上,能够同时支持多种流程定义语言,目前已经支持的流程语言有:

? jPDL

? BPEL

? Seam PageFlow

根据PVM的设计理念,未来的JBoss jBPM还会支持更多的流程定义语言。同时,用户也能够根据需求定制自己个性化的流程模型和建模语言。

jBPM4的结构特点如下。 1. 嵌入式的工作流引擎

jBPM4是完全支持嵌入式应用的业务流程开发框架,可以在事务处理、数据持久化等各个方面与业务应用程序进行灵活的集成。区别于传统的工作流平台,它不需要依赖特定的中间件或服务器,减少了硬件和软件的绑定,同时降低了应用部署的网络复杂度,使应用更加容易实现集群。软件开发者可以把jBPM4框架作为业务流程管理的基础,在此基础上开发自己独特的业务流程管理模块和功能。在部署时,只需要把jBPM4作为Java依赖库发布就可以了。

2. 可插拔的体系架构

jBPM4采用了模块化的架构设计,采用了IOC(依赖注入)的设计理念,各模块之间可以比较方便地解除耦合或替换不同的实现,例如持久化、事务处理、身份认证、日志服务等,都由可选模块实现。jBPM的可插拔体系架构,为软件开发者灵活选择jBPM的功能、自定义已有功能和拓展新功能提供了“无限可能”。

3. 易扩展的流程语言

jBPM框架内置的流程定义活动,包括start,task,fork,join和decision等,是构建完整业务流程所必需的组成部分,它们提供了可以将业务逻辑Java代码和业务流程20 | jBPM4工作流应用开发指南

编排无缝衔接的绑定机制。而除了这些内置的流程定义活动和流程结构之外,软件开发者还可以通过定制新的活动类型或者完全重新设计一种新的流程定义语言来描述特定领域的业务流程,满足独特环境下的需求。

从技术角度分析jBPM4的特点,简单罗列几点读者必须要了解的:

? jBPM4的模型仍然基于UML Activity Diagram,以便于需求人员和开发人员

都理解业务流程。

? jBPM4提供了可定制的Event – Listener观察者模式来处理事件触发,以辅助

活动扩展的处理。

? jBPM4提供了灵活的EL条件表达式机制,来辅助条件解析、简单业务逻辑

脚本计算的处理。

? jBPM4提供了可扩展的Task及任务分配机制,来满足复杂人工活动的处理。 ? 借助Hibernate ORM的优势,jBPM4能够支持在几乎所有的数据库系统之上

运行。

jBPM4作为一款开源的工作流框架,其更多的是关注“如何辅助开发者更容易地让流程运行完成”,而不是关注“记录流程运行的历史和轨迹”。这一点可能是东西方文化的差异性所在,因为国内的流程应用,比较关注“运行轨迹”。

同时,jBPM项目从一开始就是不直接支持自由“回退”、“跳转”等操作的,这也是因为东西方文化的差异所在。西方人认为“往回流转的情况肯定也是一种业务规则所定义的,那么肯定可以通过分支或条件流转来解决”,而东方人则把回退作为一个“人性化管理和处理的潜在特点”来看待。当然,这正是本书所要解决的问题之一,在第20章 中国特色工作流的jBPM实现中会给出一些参考解决方案。

具体到jBPM4的当前发行版,您需要知道的有:

? 许可证与最终用户许可协议

??jBPM是依据GNU Lesser General Public License(LGPL)和JBoss End User License Agreement(EULA)中的协议发布的。

? 如何获取jBPM4

??可以从SourceForge.net上获取发布包:http://sourceforge.net/projects/jbpm/files/。

? 如何获取jBPM4的所有源代码

第1章 工作流基础 | 21

jBPM4工作流应用开发指南 01 

表1-1Optaros2009年开放源码目录_基础设施解决方案_业务流程和工作流程管理产品版本3.1Bonita许可证LGPL支持功能社区支持成熟度ER-Rating趋势★★★→社区版★★★★★★描述:拥有基于“活动预测模型”的工作流引擎,符合WfMC规范。只适用于Jonas应用服务器和JBoss应用服务器。网址:http://b
推荐度:
点击下载文档文档为doc格式
40du015mo06i8ss1cmue
领取福利

微信扫码领取福利

微信扫码分享