jBPM jPDL 3.2用户指南:第1章介绍

来源:互联网 发布:原生linux 编辑:程序博客网 时间:2024/05/17 00:57

作者:JBossWeek http://blog.csdn.net/JBossweek email:jbossweek AT gmail.com

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息

 

JBoss jBPM是一个灵活的、可扩展的流程语言框架。jPDL是建立在该公共框架上的一种直观的流程语言,可以使用任务、等待状态(支持异步通讯)、定时器、自动化动作…图形化地表示流程。为了把这些构建块关联在一起,jPDL还提供了最强大的、扩展的流程控制机制。

jPDL具有最小的依赖性,可以像使用java库一样方便。而且通过部署在J2EE应用服务器集群上,jPDL也可以用于高吞吐量极为重要的环境。

jPDL可以配置使用任何的数据库,也可以部署在任意的应用服务器上。

1.1.概述

工作流和BPM的核心功能被打包为简单的java库。该库提供了管理和执行jPDL数据库中流程的服务。

图 1.1. jPDL 组件概览

1.2. jPDL 套件

该套件包含了所有jBPM组件,非常适合下载,该下载包包括:

  • config, 标准java环境的配置文件
  • db, 创建数据库的SQL脚本和兼容信息
  • designer, 制作jPDL流程的eclipse插件和安装脚本 (它不是普通jpdl下载包的一部分 ) 参看 Section 1.3, "The jPDL graphical process designer".
  • doc, 用户指南和javadocs
  • examples
  • lib, jbpm 依赖的第三方java库. 更多信息请参看Section 5.3, "Third party libraries"
  • server, 预配置的jboss服务器, jbpm包含在Console web应用 (它不是普通的jpdl下载包的一部分)里
  • src, jbpm 和身份认证组件的java源代码

预配置的Jboss应用服务器包括如下的组件:

  • jBPM web console:以web包形式出现。该控制台既可以供流程参与人员使用,也可以供jBPM管理人员使用.
  • Job Executor: 用于定时操作和异步消息的执行。Job Executor 是Console web应用的一部分。由一个servlet启动后,Job Executor建立一个线程池用于监控和执行定时操作和异步消息.
  • 数据库中的 jBPM 表:缺省的 hypersonic 数据库已经包含jBPM 所需的数据表和一个流程.
  • 示例流程:已经部署到jBPM 数据库.
  • 身份认证组件:身份认证组件库是Console台web应用的一部分. 身份认证组件所需的数据表已经在数据库中(以JBPM_ID_...开头的那些表)

1.3. jPDL 图形化流程设计器

jPDL也提供了一个图形化的设计工具。jPDL Designer是制作业务流程的图形化工具,是一个eclipse插件。

图形化设计工具最重要的特性就是既能供业务分析师使用,又能供技术开发人员使用。这让从业务流程建模到具体实现的平滑过渡成为可能。

该插件既可以使用标准的eclipse软件更新机制通过本地更新站点(普通的zip文件)进行安装;也可以使用提供的功能部件包,直接unzip到eclipse主目录完成安装。

1.4. jBPM console web 应用

jBPM Console web应用有两个作用。首先,它可以作为一个集中的用户界面,用于处理与流程执行时产生运行任务的交互。其次,它还是一个管理和监控的控制台,用于检查和操纵运行的流程实例。第三个功能是业务活动监控(Business Activity Monitoring)。它提供有关流程执行的统计数据。这些信息对于管理人员寻找瓶颈和其他方式的优化非常有用。

1.5. jBPM 核心库

JBoss jBPM用于管理流程定义和流程实例执行运行环境的核心组件是普通的java(J2SE)库。

JBoss jBPM是一个java库,因而可以用于各种环境,例如:web应用,swing应用,EJB,web服务等。jBPM库也可以被打包和暴露为一个无状态的会话EJB,从而能够集群部署,提供高吞吐量所需的扩展能力。无状态的会话EJB应该遵循J2EE 1.3规范,这样才能够部署在任何应用服务器上。

根据使用的功能不同,jbpm-jpdl.jar需要依赖一些第三方库,例如:hibernate、dom4j等等。我们付出了很大的努力让jbpm仅依赖实际用到的第三方库。关于第三方库依赖的更进一步信息请参看Chapter 5, Deployment

jBPM内部使用hibernate实现持久化。除了支持传统的O/R映射外,hibernate还消除了不同数据库之间的sql差异,从而使jBPM能够在所有现有的数据库之间迁移。

JBoss jBPM API可以在任何定制的java软件中使用,例如:web应用、EJB、web服务组件、消息驱动bean或者其它的任意java组件。

1.6. JBoss jBPM 身份认证组件

JBoss jBPM可以与包含用户和其它机构信息的任意企业目录服务集成。对于没有机构信息组件的项目,JBoss jBPM还提供了身份认证组件。身份认证组件中采用的模型比传统的servlet、ejb和portlet模型丰富。

更多信息,请参看Section 11.11, "The identity component"

1.7. JBoss jBPM Job Executor

JBoss jBPM Job Scheduler是在标准java环境中监控和执行Job的组件。Job用于定时操作和异步消息。JMS和EJB TimerSerive用于在企业环境中执行定时操作和异步消息,而Job Executor可以用于Java标准环境。

Job Executor组件被打包在jbpm-jpdl核心库中,但是必须部署在如下的环境中:要么配置JbpmThreadsServlet来启动Job Executor,要么启动一个单独的JVM来运行Job Executor线程。