最近项目中要用到工作流,正在开发过程中,现将一些初步的测试成果共享出来。本文主要说明如何将JBPM自带的WEB CONSOLE应用部署在Jboss和MySQL数据库上。
网上关于jbpm-jpdl-3.2.2的部署说明资料有很多,我在最初学习的过程中也受益匪浅,但为什么这么做并不明白,这次在使用jbpm-jpdl-3.2.3时,由于针对以前的版本做了一些改动,自己尝试时比较注重这样做的目的及原因简单分析。
[size=large][color=red]一、环境配置说明[/color][/size]
[b]系统环境:[/b]jdk1.6.0_11
jboss-4.2.3.GA
jbpm-jpdl-3.2.3
mysql-5.1.30
其中JBPM使用的是jbpm-jpdl-suite-3.2.3.zip,解压后可以先看一下DOC目录下的userguide。
[color=red][size=large]二、快速启动,熟悉最终成果[/size][/color]
在jbpm-jpdl-3.2.3\server下点击运行start.bat文件,即可以实现一键式部署。从目录下的readme.html目录下可以看到,这是一个在jBoss 4.2.2上部署JBPM应用的案例,部署内容包括内置基于hypersonic的JBPM数据库,web console应用及相关监控程序等。
启动完成后,可以在浏览器中输入http://localhost:8080/jbpm-console进行查看,可以使用页面右侧的用户名和密码登录。
[img]/upload/attachment/69708/0fd2f09d-d234-3bec-a49a-4efb66a235c9.jpg[/img]
从上图可以看到,除了3.2.2版本的websale外,还新增了两个流程。通过点击某个Process的【Examine】链接,可以打开该流程的实例页面,在新页面的左侧点击【Process Image】就可以看到该流程已经定义并发布的流程图了。如下图:
[color=red]点击看大图[/color]
[img]/upload/attachment/69710/b7abd973-d053-360b-b00a-a395e7ba8ebb.jpg[/img]
[color=red]点击看大图[/color]
使用过程中可以看到整个系统页面的上部是一个导航条,可以查看流程、个人任务、所有任务、作业和用户等管理导航链接;在页面的左侧是针对一个工作流程的链接,包括流程实例、任务、流程图、启动一个工作流、删除工作流和发布新路程等操作。通过这些链接可以快速而形象的认识和理解工作流的相关概念,也可以通过启动一个工作流来体验一下,这里就不赘述了。
[color=red][size=large]三、在Jboss和MySQL上部署[/size][/color]
[b]1、初始化Mysql数据库[/b]
首先配置好MySQL数据库,如何配置请参考我前面写的一篇文章,使用mysql创建一个数据库,例如jbpm。
然后在 jbpm-jpdl-3.2.3\db 下有个 jbpm.jpdl.mysql.sql 数据库脚本文件,是MySQL的初始化脚本,我们不能直接导入该文件,会提示有错误,因为该文件格式有问题,首先打开该文件(我习惯用EditPlus),把前面的 alter table JBPM_XX 语句都删除(因为我们使用的是新的数据库,所以不需要这些语句)。 然后在每一行后面添加一个分号,不然脚本执行会出错。 这样就可以用source命令导入了,导入后,Jbpm表结构创建成功。
初始化用户数据,找到预配置的应用使用的数据库代码jbpm-jpdl-3.2.3\server\server\jbpm\data\hypersonic\jbpmDB.script文件,打开后找到如下表代码,初始化到MySQL数据库中。这里要注意,因为我们创建的数据库已经建立了外键关系,所以直接拷贝后的代码要调整顺序,要先加入JBPM_ID_GROUP 和JBPM_ID_USER表数据后,再初始化JBPM_ID_MEMBERSHIP表的数据。也可以直接拷贝如下代码:
[code="sql"]
INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(3,'G','hr','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(4,'G','user','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);
INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');
INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');
INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');
INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,1,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,4,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
[/code]
至此,数据库初始化完成。感兴趣的朋友可以在此过程中发现JBPM一共需要32张表,并通过这3张表进行了用户的管理,也就是我们使用WEB CONSOLE的默认用户。
[b]2、部署Jbpm-console到Jboss4.2.3,并修改数据库连接[/b]
在jbpm-jpdl-3.2.3\deploy目录下,可以找到这个应用文件jbpm-console.war,同时注意查看该目录下的readme.html文件,该文件介绍了如何部署该应用到其他非Jboss服务器,以及需要调整的Jar文件,比如部署到Tomcat。将jbpm-console.war拷贝到jboss-4.2.3\server\default\deploy目录下,由于要使用MySQL数据库,必须修改
打开 刚才复制的文件: jboss-4.2.3\server\default\deploy\jbpm-console.war (可以使用winrar打开, 或者把该文件重命名为jbpm-console.war.rar,然后用winrar打开),修改jbpm-console.war/WEB-INF/classes/hibernate.cfg.xml文件,修改后代码如下:
[code="xml"]
org.hibernate.dialect.MySQLInnoDBDialect
<!-- JDBC connection properties (begin) -->
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/jbpm
root
root
<!-- JDBC connection properties (end) -->
[/code]
修改保存后重新放在压缩包中,然后添加MySQL数据库驱动程序到jboss-4.2.3\server\default\lib下。
从部署过程看已经比前一个版本简单多了。
[b]3、配置Jboss验证框架[/b]
由于登录使用的Jboss验证框架必须使用JNDI进行数据库连接,所以需要配置MySQL数据库的连接。首先找到jboss-4.2.3\docs\examples\jca\mysql-ds.xml,将该文件复制到jboss-4.2.3\server\default\deploy下,同时修改文件中的数据库连接为MySQL的数据库连接,可以参考上面Hibernate的配置。
找到jboss-4.2.3\server\default\conf 目录下的 login-config.xml 文件, 打开该文件, 在 前面添加下面的代码:
[code="xml"]
[color=red]java:/MySQLDS[/color]
SELECT PASSWORD_ FROM JBPM_ID_USER WHERE NAME_=?
SELECT g.NAME_ ,'Roles'
FROM JBPM_ID_USER u,
JBPM_ID_MEMBERSHIP m,
JBPM_ID_GROUP g
WHERE g.TYPE_='security-role'
AND m.GROUP_ = g.ID_
AND m.USER_ = u.ID_
AND u.NAME_=?
[/code]
注意这个文件中的dsJndiName要和mysql-ds.xml文件中的一致。
[b]4、验证测试[/b]
在jboss-4.2.3\bin 目录下运行 run.bat,如果控制台没有错误信息输入, 部署成功, 如果出错,请参考上面.
打开浏览器输入: http://localhost:8080/jbpm-console ,看到的效果应该和开始部署的看到的一样。
[b]5、发布工作流[/b]
登录后发现系统中还没有部署工作流,我们可以将JBPM自带的3个工作流发布,用manager用户登陆,点击 Processes 菜单,将看到在左边的菜单中有个Actions菜单,Actions下面有个 Deploy a new process, 点击 Deploy来部署我们的工作流. 选择 jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl 然后点击Deploy按钮, 你就看到一个蓝色的提示信息 New process deployed. ok 我们的工作流已经部署成功了。同样,还可以将raise和businesstrip两个工作流也部署上。
说明: websale.jpdl文件为JBPM工作流文档包,与jar java库文件打包格式一样(zip格式,可以使用winrar查看里面的内容),里面包涵了工作流的定义文件。
至此,我们部署的效果已经和JBPM预配置的例子一致了。
- 大小: 59.3 KB
- 大小: 78.8 KB
分享到:
相关推荐
jbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3....
- 修改jbpm-jpdl-3.2.3\db目录下的jbpm.jpdl.mysql.sql文件,为每个SQL语句末尾添加分号,以便正确执行脚本。 4. **jbpm-jpdl-suite-3.2.3部署**: - 在MySQL中执行修改后的jbpm.jpdl.mysql.sql脚本,初始化jbpm...
解压jbpm-jpdl-3.2.3.zip后,你会得到jbpm-jpdl-3.2.3目录,其中可能包含以下组件和文件: - 源代码:供开发者研究和定制使用。 - JAR库:包含jbpm运行所需的类库。 - 示例:提供了各种业务流程的示例,帮助用户了解...
这个是jbpm-jpdl-3.2.3.zip的server部分,有60多兆, 只要将"jbpm-jpdl-3.2.3(没有server部分).rar"和这个合在一起就是整个的jbpm-jpdl-3.2.3.zip "jbpm-jpdl-3.2.3(没有server部分).rar"在我的另外一个上传资源里面
总的来说,jBPM-jPDL-suite-3.2.3提供了一套完整的工具集,使开发者能够轻松地定义、部署和管理业务流程,尤其适合那些希望在Java平台上实现工作流管理的企业。通过深入理解jBPM和jPDL,开发者可以构建出灵活且适应...
jbpm-3.2.6.SP1默认安装在jboss-4.2.3.GA下不支持Oracle,对配置文件进行修改,内有详细的文档说明。解压后直接将文件夹jbpm3覆盖到jboss-4.2.3.GA\server\default\deploy\jbpm,注意拷贝oracle的jdbc驱动到jboss-4.2.3...
这个是jbpm-jpdl-3.2.3的zip,本来这个是85M的zip, 我删除了server 文件夹(这个文件夹有60多M) 这个server部分在我的另外一个资源里面,一般开发用不到这个server文件夹 如果需要的话,就下载不需要积分, 这个没有...
jbpm-jpdl-suite-3.2.GA.zip
jbpm-4.3-src.rar_bdf-jbpm4 src _jboss 4.3_jboss jbpm4.3_jbpm-4.3 这个压缩包文件包含的是JBOSS jBPM4.3的源代码,这是一个用于业务流程管理(BPM)的开源框架。jBPM是一个强大的工具,它提供了流程定义、执行和...
在JBPM 3.2.2版本中,主要提供了jbpm-jpdl-suite-3.2.2.zip这个压缩包,其中包含了用于绘制流程图的相关工具和库。 JBPM(Java Business Process Management)是开源社区开发的一个工作流引擎,它允许开发者以模型...
【jbpm-4.4.zip part03】这个压缩文件是关于jbpm 4.4版本的组成部分,jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行和监控的功能。jbpm 4.4是该系统的一...
在本篇文章中,我们将深入探讨jbpm-3.1.4的部署过程,特别是如何处理jar包和module的jar包。 首先,我们需要理解jbpm的核心组件。jbpm由几个关键部分组成,包括工作流引擎、工作流设计工具(jbpm-designer)、持久...
jbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs
jeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202....
- **1.3.1 在Business Central中创建项目**: Business Central是JBPM提供的一个集成开发环境,可以在其中创建、管理和部署项目。 - 通过界面上的向导来创建新的项目,指定项目的名称、描述等基本信息。 - 可以...
jbpm-4.4是JBoss企业级工作流和业务自动化平台的一个版本,该平台主要用于构建和管理业务流程。在本压缩包“jbpm-4.4 part03.zip”中,我们可能找到了该版本的第三部分文件。由于未提供具体的文件列表,我将根据jbpm...
9. **jbpm-gwt-console-server.jar**/ **jbpm-gwt-console-client.jar**:这两者是jbpm的Web控制台组件,用于图形化展示和管理流程,客户端库用于浏览器端,服务器端库则部署在应用服务器上。 10. **依赖的第三方库...
jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载 jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载