jbpm3.2.3+tomcat6.0+oracle10g配置

系统平台:



系统环境:

Windows xp| SUN JDK1.5 | Tomcat6.0.10 | jbpm-starters-kit-3.2.3 | oracle10g

浏览器
       Internet Explorer 7.0

安装包及相关软件:

1、  安装JDK与Oracle10g

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

安装oracle,SID:orcl,创建的用户名为jbpm,密码为jbpm。

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) 解压到 C:\apache-ant-1.7.0 (当然其他目录也可以);

(3) 设置环境变量:ANT_HOME= C:\apache-ant-1.7.0

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

4、  安装jBPM

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

l  src —— jBPM 的源代码

l  config —— jBPM及Hibernate与log4j的配置文件

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

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

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

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

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

5、  安装Eclipse及jBPM开发插件

Eclipse不是开发 jBPM 必须的工具,但它是对 jBPM 开发很有帮助的工具,特别是 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM 。

基于Tomcat和MySQL的部署:



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

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

STEP 2,准备发布包
       在E:\Java\tools\jbpm-jpdl-3.2.3\deploy 文件夹下 运行ant customize.console.for.tomcat。执行命令后会在 E:\Java\tools\jbpm-jpdl-3.2.3\deploy\customized文件夹下生成一个jbpm-console.war 文件,用WinRaR解压开,并复制到已安装Tomcat的webapps目录下,jbpm还需三个依赖类库,分别是commons-collections.jar、ehcache-1.2.3.jar、jta.jar,当然还有个oracle驱动ojdbc14.jar,添加这些jar文件 到 \$TOMECAT_HOME\webapps\jbpm-console\WEB-INF\lib目录下。

STEP 3,修改Hibernate数据库配置文件
       修改\$TOMECAT_HOME\webapps\jbpm-console\WEB-INF\classes下hibernate.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) -->

修改后如下:

<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">jbpm</property>
<property name="hibernate.connection.password">jbpm</property>
org.hibernate.cache.HashtableCacheProvider</property>

STEP 4,设置Tomcat安全域
       有两种方法都可以实现,但摧荐第一种方法。

方法一:配置一个JDBC Realm,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目录下新建context.xml文件,(这里还要把oracle的驱动jar包放入tomcat/lib下,不然会报错)内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Realm className="org.apache.catalina.realm.JDBCRealm"
  driverName="oracle.jdbc.driver.OracleDriver"
  connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
  connectionName="jbpm"
  connectionPassword="jbpm"
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>

方法二:直接修改 /$TOMCAT_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','[email protected]','user');

INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','[email protected]','manager');

INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','[email protected]','admin');

INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','[email protected]','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的日志,检查是否正常启动,未添加所有支持库或数据库配置出错,都会引起启动失败。




你可能感兴趣的:(oracle,tomcat,Hibernate,ant,jbpm)