`

jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL

    博客分类:
  • JBPM
阅读更多

《 JBPM图形化流程监控》,

相关资料:

 

jBPM学习笔记(流程设计与控制)

jBPM学习笔记(框架设计简介)

 

系统平台:

 

系统环境:

Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0

主机完整名称:

       zsy-aten

浏览器

       Internet Explorer 6.0

 

安装包及相关软件:

 

1、  安装JDKMySQL

JDK的安装这里就不多说了,学过Java的人都知道,本实验安装的是jdk-6u4版本。安装完后记得添加JAVA_HOME的环境变量。

MySQL的安装不属于本文的介绍范围,请参阅相关文档。本实验安装的是MySQL 6.0版本,安装完后建立的数据库名为jbpm,创建的用户名为jbpmuser,密码为shine

2、  安装Tomcat

下载安装Tomcat-6.0.16是目前最新版本:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.exe ;要在JDK安装之后安装Tomcat,安装过程中会自动搜索JRE的目录,当然也可以选择其它的JRE,其它默认设置即可。

3、  安装Ant

Ant 是一个编译工具,使用 jBPM 时必须用它来编译文件, jBPM 中的很多操作都要用到 Ant ,安装方法如下:

1 先下载:http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip

2 解压到 E:\Java\tools\apache-ant-1.7.0 (当然其他目录也可以);

3 设置环境变量:ANT_HOME= E:\Java\tools\apache-ant-1.7.0

4)把 %ANT_HOME%\bin 加入到环境变量 PATH 中。

4、  安装jBPM

下载jBPM-JPDL本为3.2.2http://labs.jboss.com/jbossjbpm/jbpm_downloads/下载jPDL Suite版,这个版本是包含所有的一整套工具,下载后是个压缩包解压到 E:\Java\tools :、\jbpm-jpdl-3.2.2 ,目录下主要包含以下几个子目录:

l  src —— jBPM 的源代码

l  config —— jBPMHibernatelog4j的配置文件

l  db —— 各种数据库的建表SQL语句

l  lib —— 依赖的第三方依赖类库

l  doc —— API文档及用户使用向导

l  designer —— 辅助开发 jBPM Eclipse 插件,具体在 eclipse子目录中

l  server —— 一个已经配置好了的基于 JBoss jBPM 控制台及示例

5、  安装EclipsejBPM开发插件

Eclipse不是开发 jBPM 必须的工具,但它是对 jBPM 开发很有帮助的工具,特别是 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM 。关于 Eclipse 的安装请参阅相关文档。本实验安装的是MyEclipse6.0集成Eclipse3.3

       安装完Eclipse安装jBPM的开发插件,步骤如下:

(1)       打开Eclipse选择菜单“Help->Software Updates->Find and Install”;

(2)       弹出窗口中选择“Search for new features to install”,然后点击“Next >”;如图

jBPM-001

 

(3)       点击按扭“New Local Site…”选择插件目录,位于designer\ eclipse目录下,如:E:\Java\tools\jbpm-jpdl-3.2.2\designer\eclipse。选定后点“OK”,如图

jBPM-002

 

(4)       选中“designer/eclipse”,然后点击“Finish”,如图

jBPM-003 

 

(5)       然后选择同意条款,接提示步骤安装就可以了。

 

        到此为止需要的所有工具都安装好了。接下来先体验一下jBPM工作流。在 JBoss jBPM Starters Kit jbpm-server 目录是一个已经在JBoss中配置好的了 jBPM 示例,双击 jbpm-server 目录下的 start.bat 文件,启动 JBoss 服务。打开网页: http://localhost:8080/ jbpm-console 得到如下页面:

jBPM-004

这是一个流程控制管理平台,用右边的账号与密码就可以登录,这个控制台包括流程管理,可以部署流程、删除流程、查看流程图、管理流程实例等;还有任务管理,工作管理及用户与用户组管理。

 

基于TomcatMySQL的部署:

 

       现在要把上面演示的例子部署到Tomcat中,并将数据数配置为MySQL

STEP 1,初始化数据库

jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。 jBPM 使用 Hibernate 作为的存储层。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目录下有个jbpm.jpdl.mysql.sql数据库脚本文件。我们不能直接导入该文件, 会提示有错误, 应为该文件格式有问题, 首先打开该文件(推荐UltraEdit), 把前面的 alter table JBPM_XX 语句都删除(因为我们使用的是新的数据库,所以需要这些语句, 这个脚本文件是升级3.2的数据库表结构用的) 然后在每一行前面添加一个分号 不然脚本执行会出错。这样就可以用source命令导入了。 导入后, 表结构创建成功。

 STEP 2,准备发布包

       E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文件夹下 运行ant customize.console.for.tomcat。执行命令后会在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文件夹下生成一个jbpm-console.war 文件,用WinRaR解压开,并复制到已安装Tomcatwebapps目录下,jbpm还需三个依赖类库,分别是commons-collections.jarehcache-1.2.3.jarjta.jar,当然还有个MySQL驱动mysql-connector-java-5.0.7-bin.jar,添加这些jar文件 \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目录下。

 STEP 3,修改Hibernate数据库配置文件

       修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classeshibernate.cfg.xml文件。这是Hibernate的数据库配置文件,要做一些修改,原来内容如下:

<!--  hibernate dialect -->

  <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>

<!--  JDBC connection properties (begin) ===

  <property name="hibernate.connection.driver_class">

org.hsqldb.jdbcDriver</property>

  <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>

  <property name="hibernate.connection.username">sa</property>

  <property name="hibernate.connection.password"></property>

==== JDBC connection properties (end) -->

  <property name="hibernate.cache.provider_class">

org.hibernate.cache.HashtableCacheProvider</property>

<!--  DataSource properties (begin) -->

  <property name="hibernate.connection.datasource">java:/JbpmDS</property>

<!--  DataSource properties (end) -->

修改后如下:

<!-- hibernate dialect -->

<property name="hibernate.dialect">

org.hibernate.dialect.MySQLInnoDBDialect</property>

<property name="hibernate.connection.driver_class">

com.mysql.jdbc.Driver</property>

  <property name="hibernate.connection.url">

jdbc:mysql://localhost:3306/jbpm</property>

  <property name="hibernate.connection.username">jbpmuser</property>

  <property name="hibernate.connection.password">shine</property>

<property name="hibernate.cache.provider_class">

org.hibernate.cache.HashtableCacheProvider</property>
 STEP 4,设置Tomcat安全域

       有两种方法都可以实现,但摧荐第一种方法。

方法一:配置一个JDBC Realm,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目录下新建context.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context>

<Realm className="org.apache.catalina.realm.JDBCRealm"

  driverName="com.mysql.jdbc.Driver"

  connectionURL="jdbc:mysql://localhost:3306/jbpm"

  connectionName="jbpmuser"

  connectionPassword="shine"

userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

  userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

  userCredCol="DISTINCT u.PASSWORD_"

  userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

  roleNameCol="g.NAME_" />

</Context>

方法二:直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文件来设置安全域。为了不和tomcat已有的用户冲突,这里把 tomcat以前的登陆帐号username="admin" 修改为username="tadmin",修改后的文件如下:

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

  <role rolename="user"/>

  <role rolename="administrator"/>

  <role rolename="manager"/>

  <role rolename="sales"/>

  <role rolename="hr"/>

  <role rolename="admin"/>

  <role rolename="participant"/>

  <user username="user" password="user" roles="user,sales"/>

  <user username="shipper" password="shipper" roles="user,hr"/>

  <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>

  <user username="tadmin" password="" roles="admin,manager"/>
  <user username="admin" password="admin" roles="admin,user,hr"/>
</tomcat-users>

 STEP 5,初始化基础的用户数据

MySQL数据库中执行以下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','user','security-role',NULL);

INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',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,4,4);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);

INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,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);
 STEP 6,启动Tomcat服务

启动时查看Tomcat的日志,检查是否正常启动,未添加所有支持库或数据库配置出错,都会引起启动失败。

       注意:到此为止启动TomcatJBPM服务就能正常运行了,已经可以在上面发布流程,接着第五步中部署一个jbpm自带的流程例子。 

 

STEP 7,发布例子流程

       打开网页:http://localhost:8080/jbpm 得到如下页面就说明已经部署成功:

jBPM-004 

用右边的manage账号登录,如下图:

jBPM-005

点击“Deploy”转到部署流程页面,点击“浏览”按扭选择E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文件,名后点击“Deploy”按扭部署。

分享到:
评论

相关推荐

    jBPM开发资料 jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL

    相当不错的资料 jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL

    jbpm-jpdl-suite-3.2.3安装配置.doc

    - 将jbpm-jpdl-suite-3.2.3中的war文件部署到Tomcat的webapps目录下,Tomcat会自动将其展开并启动服务。 5. **测试验证**: - 启动Tomcat服务器,访问jbpm的Web应用程序,确保可以正常加载页面。 - 创建并运行...

    JPBM实战经验以及相关参考文档

    在安装配置方面,"jBPM-jPDL学习笔记—框架设计简介.doc"和"jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL.doc"将是你的重要参考资料。这两个文档详细介绍了如何搭建jBPM开发环境,包括下载和安装jBPM工具,配置...

    jBPM-jPDL学习笔记

    对于部署,可以将jBPM集成到像Tomcat这样的应用服务器中,并配置与MySQL数据库的连接,以便存储和管理流程实例的数据。 2、框架设计简介: jBPM的设计旨在提供一个完整的业务流程生命周期管理解决方案,包括建模、...

    jbpm开发(eclipse3+myeclipse6+mysql5+tomcat6 )

    ### jBPM 开发环境配置与Struts 1.x集成应用详解 #### 一、环境配置 本章节主要介绍如何配置jBPM开发环境。所使用的工具包括Eclipse 3、MyEclipse 6、MySQL 5以及Tomcat 6等。 **1. 下载jBPM开发包** 首先,从...

    jBPM工作流应用

    关键字:jbpm工作流strutsweb应用一、环境配置基础环境是eclipse3+myeclipse6+mysql5+tomcat6。首先从网站上下载jBPM开发包(jbpm-jpdl-suite-3.2.3.zip),据说现在jBPM3已经升到3.2.6了,而且据说已经推出了jBPM4了...

    JBPM企业流程模块开发

    本文档将详细介绍如何在Eclipse环境中安装配置JBPM及相关组件,包括JPDL(Job Processing Definition Language)安装、Tomcat服务器配置、MyEclipse中JPDL-Designer插件的安装与使用、数据库连接配置以及MySQL数据库...

    jBPM 4.2 HelloWorld实例

    - 将编写的流程定义文件部署到Tomcat的`webapps/jbpm`目录下。 - 启动Tomcat服务器,通过浏览器访问`http://localhost:8080/jbpm`,登录后可以找到并启动之前定义的HelloWorld流程。 通过以上步骤,我们不仅完成了...

    jpbm jar包和资料

    - **jbpm集成**:jbpm可以与各种Java EE应用服务器(如JBoss、Tomcat)以及数据库(如MySQL、Oracle)集成,提供持久化服务,确保流程实例在服务器重启后仍能继续执行。 - **jbpm的可视化工具**:jbpm提供了一套...

    Java实现工作流所需jar包

    部署这个war文件到应用服务器(如Tomcat或JBOSS),可以提供服务端接口供客户端调用,进行工作流的创建、启动、查询和管理。它还包含了对数据库的访问层,用于存储工作流实例、任务、事件等信息。 2. **jbpm-gwt-...

    jbpm开发实例详解

    为了存储jbpm运行所需的数据,你需要在MySQL数据库中创建一个名为jbpmdb的数据库,并运行jbpm.mysql.create.sql脚本来创建所需的表结构。此外,还需要创建一个表来存储业务数据,例如请假申请表(ask_for_leave),...

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    开发环境通常选择Tomcat作为应用服务器,MySQL作为数据库,Java JDK 6作为开发环境。在整合过程中,需要配置数据库连接,JBPM需要通过Hibernate与数据库交互,因此需要在Hibernate的配置文件中指定数据库连接参数,...

    java开源项目-使用Java开源工作流jBPM开发一个简单的.doc

    - **配置数据源**:在jBPMDemo的应用上下文中配置数据源,以连接到MySQL数据库。 4. **流程设计** - **jPDL**:jBPM支持用jPDL(Java Process Definition Language)来定义工作流,这是一个XML格式的语言,用于...

    jBPM 帮助文档,帮助文档

    对于希望将jBPM部署在Tomcat服务器上的用户,需要按照官方提供的指导进行操作,例如添加jBPM相关的jar文件到Tomcat的lib目录等。 **2.3 JBoss部署** 对于希望将jBPM部署在JBoss服务器上的用户,也需要按照官方提供...

Global site tag (gtag.js) - Google Analytics