一、jBPM入门简介
概述
工作流业务流程管理技术是基于SOA技术实现的一个核心部分。使用工作流能够在软件开发和业务两个层次受益:
1、方便开发
工作流管理系统能够简化企业级软件开发甚至维护。
◆降低开发风险 - 通过使用状态和动作这样的术语,业务分析师和开发人员使用同一种语言交谈。这样开发人员就不必将用户需求转化成软件设计了。
◆实现的集中统一 -业务流程经常变化,使用工作流系统的最大好处是:业务流程的实现代码,不再是散落在各种各样的系统中 。
◆加快应用开发 - 你的软件不用再关注流程的参与者,开发起来更快,代码更容易维护。
2、业务流程管理 (BPM)
在自动化业务流程之前,分析并将它们规格化是一件艰苦但会有很好回报的工作:
◆提高效率 - 许多流程在自动化过程中会去除一些不必要的步骤较好的流程控制 - 通过标准的工作方法和跟踪审计,提高了业务流程的管理
◆改进客户服务 - 因为流程的一致性,提高了对客户响应的可预见性
◆灵活 - 跨越流程的软件控制,使流程可以按照业务的需要重新设计。
◆业务流程改进 - 对流程的关注,使它们趋向于流畅和简单
但从长远的角度,工作流流程管理技术的研究可为两个阶段进行:1.目前解决华研今后新项目中复杂业务流程如何使用工作流引擎技术进行实现的问题。
2.上升到面向服务体系架构,实现各个服务之间的业务流程。
jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。jBPM是公开源代码项目,它使用要遵循 Apache License.
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM.随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。
JBoss jBPM 只有最小的倚赖性,它可以很容易的作为java库来使用。当然它也可以用在访问量很大的J2EE 群应用服务器环境中。 JBoss jBPM 可以同任何数据库配置可以部署在任何应用服务器上。
jBPM 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个商务流程可以被看作是一个UML状态图。jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。(具体选型报告可参考工作流技术选型评估报告)。
本文档主要是工作流研究小组关于开源工作流引擎jbpm的研究成果总结。内容包括工作流研究场景的介绍、jbpm的环境配置,并包括以下六个研究主题:
◆JBPM同开发如何结合,又如何保持独立性;对应用系统的设计实现有什么样的制约
◆用户/角色如何同应用系统结合,变化又如何处理
◆流程中每个活动,如何动态指定执行者
◆类似传阅功能如何实现
◆子流程如何实现
◆流程执行步骤耗时阀值和自动提醒设置
◆jBPM当前版本的稳定性评估