JBoss jBPM 是一个灵活的,易扩展的工作流管理系统。JBoss jBPM有一套直观的流程建模语言,这套语言能用任务(task),异步通信的等待状态(wait state ),定时器(timer),自动化的动作(automated action)等来图形化的表示业务流程。为了把这些操作集成在一起,JBoss jBPM拥有强大的,易扩展的控制流程机制。
JBoss jBPM对外依赖程度很小,你完全可以像用java的类库一样用它。并且它也可以被部署在高性能的J2EE集群应用服务器上。
JBoss jBPM能配置在任何数据库上,并且能被部署在任何的应用服务器上。
起动工具包将所有的JBPM组件绑定在一起供下载,它包含:
预先配置好的JBoss应用服务器已安装如下组件 :
JBoss jBPM也包括一个图形设计器工具. 设计器是用来制作业务流程的图形化工具。
JBoss jBPM流程图形定制器是eclipse的一个插件。单独安装这个定制器非常简单。
这个图形设计器工具最重要的功能是:业务分析人员也能像技术开发人员一样用它来完成任务。这使得业务流程建模能平滑的转换到具体技术实现。
这个插件可以利用eclipse的一般升级机制通过一个升级站点得到安装(zip文件格式)。也可以通过解压一个特定的包到eclipse的安装目录来安装此插件。
JBoss jBPM的核心组件是一个用来管理流程定义和流程实例的执行环境的简明的java(J2SE)程序。
JBoss jBPM是一个java类库。所以它可以被用在任何java环境中,比如:web应用程序,swing应用程序,EJB,web service……。JBPM类库还可以被打包并被当成无状态会话EJB(stateless session EJB)使用。这样可使它被部署在集群上并且适应高性能应用。这些无状态会话EJB必须符合J2EE1.3规范这样才能使它可以被部署在任何应用服务器上。
JBoss jBPM的核心模块被打包成一个简单的java库文件。依你功能的需要,jbpm-3.0.jar这个库文件对一些第三方的类库比如hibernate, dom4j有所依赖。这些依赖在Chapter 5, 部署中作了详细的说明。
至于持久化,JBPM在内部用了hibernate。除了传统的O/R映射功能,hibernate还解决了不同数据SQL dialect差异的问题,这使得JBPM能适应现在所有的数据库。
JBoss jBPM API可以被你工程中任何的java代码调用,比如,你的web应用程序,EJB,web service 模块,消息驱动bean或其它任何java模块。
The jBPM 控制台web应用为两个目的服务:首先,它被用来当作一个用来和流程执行过程中产生的任务进行交互的主要用户接口,其次,它还是一个用来检查和操作运行实例的管理和监控平台。
JBoss jBPM可以和任何包括人员和其他组织信息的公司结构集成在一起。但是对那些没有组织结构信息组件可用的项目,JBoss jBPM包括了这个模块。这个模块使用的模型要比传统的servlet, ejb,portlet模型丰富的多。
JBoss jBPM调度程序是一个用来监测和执行在流程执行过程中设置的定时器的模块。
定时器组件被打包在jbpm的核心包中,但是它必须被部署在以下环境中:或者你必须配置一个调度servlet来产生一个监测线程,或者你必须启动一个单独的JVM来执行调度程序。