JBPM

本文介绍jBPM工作流引擎,一种基于J2EE的轻量级业务流程管理系统。文章探讨了jBPM的特点,包括其自定义的流程定义语言jPDL,以及如何利用Hibernate进行数据库管理。此外,还介绍了jBPM的设计工具和控制台功能。

         jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统(是一个灵活、可扩展的流程语言框架)。jBPM是公开源代码项目,遵循Apache License。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。

       jBPM有两大特色,使他成为市场的一大两点:

            1、其中最大的特色就是它的业务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是它自己定义的JBoss jBPM Process definition language (jPdl)。jPDL把一个业务逻辑流程看作是一个UML状态图,如果你不熟悉UML状态图,那初学计算机语言的流程图应该熟悉吧,表达的方式和意思大同小异。jPDL详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等;

              2、其另一大特色就是集成Hibernate,确切的说是绑定,使用Hibernate来管理数据库,这样jBPM只专注于他的业务流程控制。

          jPDL是建立在这个通用框架(jBPM)之上的一个流程语言。它使用直观的流程语言以图形化的方式来表示业务流程,使用术语任务、异步通讯等待状态、定时器、自动操作等。为了将这些操作绑定在一起,jPDL提供了强有力的、可扩展的流程控制机制。

jPDL有一个具有最小的依赖性和尽可能简单易用的java库。但它也能被部署在高吞吐量极为关键的J2EE集群应用服务器的环境里。jPDL能够使用任何数据库来进行配置,同时也能任何应用服务器上进行部署。

         从上面可以看出,jBPM是一个业务流程管理引擎,是一个工作流引擎。除此之外,它同时实现了对jPDL和对BPEL的支持。它整合了Hibernate技术处理数据库,创建了一系列的数据库表,持久化工作流引擎所需的状态。因此,jBPM支持所有Hibernate支持的数据库,能够把Java对象持久化到数据库中,把Hibernate支持的Java类的对象保存到数据库中!

         你完全可以像用 Java 的类库一样使用JBoss jBPM,而且通过配置JBoss jBPM也可以被部署在其它J2EE应用服务器上和任何数据库上。

核心工作流和BPM功能被封装成一个简单的java库,它包含了一个用来管理和执行jPDL数据库中流程的服务

                       

jPDL图形流程设计器
jPDL也包含一个图形化的流程设计工具。这个设计器是创作业务流程的图形化工具。它是一个eclipse插件。

流程设计工具最重要特性就是,不但支持业务分析人员,同时也很好的支持技术开发人员。它允许从业务流程建模到实际实现之间的平滑转换。

这个插件既可以使用本地更新站点(纯zip文件)的方式,来通过标准的eclipse软件更新机制来进行安装,同时也有一个可以将其解压到你的eclipse的安装目录来完成安装的功能包。

 

jBPM web控制台

jBPM web控制台服务于两个目标。首先,作为一个中央用户接口作用于流程执行所生成的运行时任务。其次,它是一个管理和监控控制台,控制台允许检查和操作运行时实例。再有的功能就是业务活动的监控。这些是流程执行的统计信息,他们有助于管理人员找出瓶颈或其他的优化方法。

 

 

JBoss jBPM是一个java库。因此,它能够在任何一个java环境上使用,例如:web应用、swing应用、EJB、Webservice等等。jBPM库也能够当作一个无状态会话EJB(stateless session EJB)打包并发布。这样就适合具有极高的吞量要求场合的集群部署和伸缩性。无状态会话EJB在J2EE 1.3规范的基础上进行重写,这样它就可以部署在任何的应用服务器上。依靠你所使用的功能,jbpm-jpdl.jar库文件有一些依赖于其他的第三方库。例如hibernate、dom4j和其他的库。我们已经付出了极大的努力来要求那些仅仅是你真正使用的依赖库文件对于它的持久化,jBPM内部使用hibernate。除了传统的O/R映射外,hibernate也能解决在不同的数据库间的SQL方言的差异,使得jBPM可以在目前所有的数据库间进行迁移。

JBoss jBPM API能够被项目中的任何自定义的java软件访问,例如web应用、EJB、web service组件、消息驱动bean(message driven beans)或任何其他java组件

 JBoss jBPM 工作执行器
工作执行器是一个在标准Java环境中用来监控和执行工作的组件。用于定时器和异步消息。在一个企业环境里,JMS和EJB定时服务能够用于此目的。相反,工作执行器能够用在既没有JMS也没有EJB的环境里。

工作执行器组件被封装在核心jbpm-jpdl库里,但它需要采用下列的一种方式进行部署:可以是注册JobExecutorLauncher servlet 上下文监听器,用web 应用的部署描述符在servlet上下文创建/销毁期间启动/停止工作执行器,也可以用独立的JVM使用程序化的方式来启动工作执行器。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值