JBPM的应用简介

来源:互联网 发布:python运维开发 编辑:程序博客网 时间:2024/04/29 00:04
 

1.1    JBPM的应用

 

JBPM是一个嵌入式的工作流引擎, 它是一个J2SE library,可以嵌入的Java Swing中去,通过扩展,还可部署到J2EE服务器中,作为一个JBPM工作流服务器。

 

    JBPM 的核心功能都在把包到一个jBPM-core.jar库里。它负责在JBPM数据库中部署,更新,重新取回流程的任务。下面介绍JBPM的组成,如图1

   

1 Overview of the JBoss jBPM components

 

1.1.1     JBPM的由以下组件构成

jBPM-server,   一个配置好的JBOSS服务器,部署了JBPM引擎。

jBPM-designer, 一个图形化流程开发工具,以ECLIPSE插件形式。

jBPM-db,      JBPM数据库,把不同数据库的差异都在这个文件下完成。

jBPM,        JBPM核心组件,由JBPM core JAR库文件和依赖的库文件组成。

jBPM-bpel,     BPEL扩展库。

 

1.1.2     图形化流程开发工GPD

JBoss jBPM包含了一个图形化设计工具。这个工作用于业务流程的定义。这个图形化设计工具是一以eclipse插件形式出现。独立的设计工具在开发中。这个图形化设计工具的主要功能是用于业务流程的分析和设计。用起来非常简单,在流程定义过程,业务人员只需要通过光标拖拉流程元素就可以定制流程。安装方面,用户只要把 plug-in features 文件直接copy eclipse目录下面,启动eclipse可以了。如 3-1 所视。

 

1.1.3     JBPM组件

JBoss jBPM 核心组件:

 

JBoss jBPM 核心组件是一些用来管理流程定义和执行流程实例流程环境,的普通J2SE软件。JBoss jBPM是一个java 库。因此他能用于所有java环境,如web应用程序,swing程序,EJB,web服务,jBPM还能打包成一个无状态会话EJB.这些无状态会话EJB能重新写到最新的EJB版本如5.0,以至能人部署到所有J2EE服务器。

    JBoss jBPM 核心组件被打包成一个简单的java库文件。根据不同的应用,jBPM-x.x.jar 会依赖于第三方库文件,如 hibernate, dom4j和其它的。在持久化方面,jBPM本身集成了hibernate实现持久化。此外,hibernate 还解决了在不同数据库的SQL差异问题,因此jBPM 能应用到当前所有数据库上。

    由于JBoss jBPM 是一个普通的java包,我们可以用不同方法访问或调用JBoss jBPM API。例如:web应用程序、EJB、网络服务组件,消息驱动Bean或者其它java组件。

 

JBPM WEB控制台:

 

jBPM 的控制台是一个WEB应用。这个控制台主要有三个作用。第一个是作为一个在jBPM上运行的流程与用户交互的用户介面。流程在运行的时候,所分配结人任务都可以通过这个控制台得到,并且完成。第二个就是管理和监控所以在jBPM上运行的流程实例。最后是,可以通过jBPM控制台把定义好的流程部署到引擎。

 

JBPM 调度器:

    在流程执行的过程中,JBoss jBPM调度器是用于监控和执行timers (时间触发者)Timer及相关的组件被打包在jBPM核心包,可是他要被部署在下面其中一个环境中。一个是配置scheduler servlet产生一个监控线程,另一个是重新启动一个scheduler main线程。

 

JBPM数据库独立包:

    JBPM-DB是一个JBPM用于屏蔽各种数据库之间的差异而出现的,它包含了不同数据库的所以信息,驱动器和脚本。

 

JBPM BPEL扩展:

    JBoss jBPM BPEL扩展是支持BPEL语言规范的特殊扩展包,BPEL一个脚本语言,用于网络服务(web service)的编排。

 

1.1.4     JBPM流程引擎提供三个主要接口

JBPM工作流程引擎提供三个主要接口.分别为:流程定制,流程管理,执行应用的扩展见图2

原创粉丝点击