本文全面的介绍了jBPM的特色,并描述了JBoss jBPM的安装配置。JBoss jBPM运行开发环境的创建需要JDK 1.5或者更高版本。

jBPM,全称是Java Business Process Management,是一种根据J2EE的轻量级工作流办理体系。jBPM是揭露源代码项目,遵从Apache License。jBPM在2004年10月18日,发布了2.0版别,并在同一天加入了JBoss,成为了JBoss企业中间件渠道的一个组成部分,它的称号也改成JBoss jBPM。

JBoss jBPM装置装备(Tomcat 6.0+MySQL 5.1)  jBPM安装配置 jBPM tomcat 第1张

jBPM有两大特征,使他成为商场的一大两点。其间最大的特征便是它的事务逻辑界说没有选用现在的一些标准,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是它自己界说的JBoss jBPM Process definition language (jPdl)。jPdl把一个事务逻辑流程看作是一个UML状况图,假如你不了解UML状况图,那初学计算机语言的流程图应该了解吧,表达的办法和意思迥然不同。jPdl详细界说了这个状况图的每个部分,如开端、完毕状况,状况之间的转化等;其另一大特征便是集成Hibernate,切当的说是绑定,运用Hibernate来办理数据库,这样jBPM只专心于他的事务流程操控。

从上面能够看出,jBPM是一个事务流程办理引擎,是一个工作流引擎。除此之外,它一同完结了对jPDL和对BPEL的支撑。它整合了Hibernate技能处理数据库,创立了一系列的数据库表,耐久化工作流引擎所需的状况。因而,jBPM支撑一切Hibernate支撑的数据库,能够把Java目标耐久化到数据库中,把Hibernate支撑的Java类的目标保存到数据库中!

你完全能够像用 Java 的类库相同运用JBoss jBPM,而且经过装备JBoss jBPM也能够被布置在其它J2EE运用服务器上和任何数据库上。

在本文中,咱们首先来创立咱们的JBoss jBPM运转开发环境。在开端之前,请预备一下软件产品:

·JDK 1.5 或许更高版别, 这儿运用JDK 6u10b

·Apache Tomcat 5.5.x或更高版别,这儿运用Tomcat 6.0.16

·MySQL 5.1 ,也能够挑选其它Hiberante 支撑的数据库,没有太大不同,这儿运用MySQL 5.1

·Apache Ant 1.7.0

·JBPM-3.2.3

·Eclipse Europa(Eclipse V3.3) for JavaEE Developers或更高, 这儿运用Eclipse V3.4

阐明:JBoss jBPM的发布包中现已装备好了一套服务环境,是根据JBoss的。由于咱们习惯了Tomcat 的细巧灵敏,而且咱们也不期望jBPM依靠JBoss。

下载装置JDK,Tomcat, Ant, MySQL, 并设置相应的环境变量

此过程不再熬述,详细请查阅官方文档

Jdk:http://java.sun.com/

Ant:http://ant.apache.org/

Tomcat:http://tomcat.apache.org/

Eclipse:http://www.eclipse.org/

下载JBoss jBPM

JBoss jBPM 官方(http://www.JBoss.org/jbossjBPM/)当时发布的版别为 3.2.3, 只需求下载jPDL Suite,下载后得到jbpm-jpdl-suite-3.2.3.zip,这个套件包括了一切的内容和资源,包括eclipse插件,示例,和流程办理操控运用。

解压jbpm-jpdl-suite-3.2.3.zip,这儿解压后得到D:jbpm-jpdl-3.2.3,其主要目录结构如下:

D:jbpm-jpdl-3.2.3
|--- db 这儿都是些sql界说和数据文件,假如改用其它数据库,能够运用这些资源来创立,服务仍是很周到的。趁便
| 罗嗦一句,jBPM 默许运用的是内存数据库 hsqldb ,这个数据库还没研讨过(嘿嘿---)
|
|--- deploy 用来布置你的运用的包和资源
|
|--- designer 这儿是Eclipse插件,这样你就能够在图形界面来界说你的事务流程,骨灰级人物没他也能过日子
|
|--- doc 这儿是jBPM相关组件的API 文档
|
|--- examples 这儿是些学习的比方
|
|--- lib jBPM 的类库
|
|--- server 这儿有一个JBoss 服务器,而且包括了本JBoss jBPM引擎,还布置了websale比方
|
|--- src 这儿是JBoss jBPM的源代码

装备数据库

jBPM需求把初始化数据和工作流界说存储到数据库中,它界说了一套数据结构来存储这些数据,这也是该容器自身的特色。

在mysql 中创立一个数据库 jbpm ,(create database jbpm;),并创立用户jbossjbpm(暗码:jbossjbpm)

阐明:假如你嫌费事能够运用root账号和其暗码,不过下面的设置请做相应的更改

在D:jbpm-jpdl-3.2.3db 找到jbpm.jpdl.mysql.sql, 该文件有必要修正一下,以契合MySQL的语法结构。详细便是在每条句子的结尾添加一个分号";"你能够凭借 UltrEdit, EditPlus等东西来做这些工作(留意替换时要留意匹配大小写,有写表的字段中包括CREATE字符),假如是第一次创立这些数据库表,要删去create句子上面的alter和drop(这些表还都不存在)。

预备jBPM包

这是个jbpm-jpdl流程办理操控台,就像Tomcat有个独自的Administrator运用用来办理装备和布置相同的东东。有了他你能够在图形界面来操作操控你的运用。

翻开指令行操控台,切换到D:jbpm-jpdl-3.2.3deploy 目录,履行以下指令:

ant customize.console.for.tomcat

留意:请保证你的ant装置装备稳当,能够在指令行输入:ant -version 来检测ant 是否正确装置。指令履行后能看到ant的版别信息即OK

ant customize.console.for.tomcat 履行成功后,会在D:jbpm-jpdl-3.2.3deploy 目录下生成customized和target目录,其间customized目录下的jbpm-console.war便是咱们想要的war包。

咱们需求修正jbpm-console.war/WEB-INF/classes/hibernate.cfg.xml 文件,以习惯咱们的资源特点的需求。修正后的成果如下:

Xml代码

  1. hibernate-configuration>
  2. session-factory>
  3. ﹤!--hibernatedialect-->
  4. propertyname="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect﹤/property>
  5. ﹤!--JDBCconnectionproperties(begin)-->
  6. propertyname="hibernate.connection.driver_class">com.mysql.jdbc.Driver﹤/property>
  7. propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm﹤/property>
  8. propertyname="hibernate.connection.username">jbossjbpm﹤/property>
  9. propertyname="hibernate.connection.password">jbossjbpm﹤/property>
  10. ﹤!--JDBCconnectionproperties(end)-->
  11. propertyname="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider﹤/property>
  12. ﹤!--DataSourceproperties(begin)==
  13. propertyname="hibernate.connection.datasource">java:/JbpmDS﹤/property>
  14. ==DataSourceproperties(end)-->
  15. propertyname="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory﹤/property>
  16. ...

这儿便是启用了 更换了默许的数据特点,JDBC connection properties ,还有自己界说的数据姓名和帐号,别的需求留意的是用

Xml代码

  1. propertyname="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory﹤/property>

替代JTATransactionFactory和CMTTransactionFactory,想用JTATransactionFactory或CMTTransactionFactory装备也能够,不过还没有研讨过,有知道的朋友能够一同学习一下。

复制jboss-j2ee.jar包至jbpm-console.war/WEB-INF/lib 。发布包下(D:jbpm-jpdl-3.2.3)许多当地都有这个包你能够找一下,比方 D:jbpm-jpdl-3.2.3serverclient。

这儿主要是用到了Java Transaction Architecture, 所以你能够用J2EE中的jta.jar包还替换jboss-j2ee.jar。

复制commons-collections.jar 包至jbpm-console.war/WEB-INF/lib 。发布包下(D:jbpm-jpdl-3.2.3)好几处都有这个包,比方 D:jbpm-jpdl-3.2.3serverserverjbpmlib 。这个包是Apache Commons包,到处都找的的到。

复制jsf-api.jar和jsf-impl.jar包至jbpm-console.war/WEB-INF/lib ,你能够在D:jbpm-jpdl-3.2.3serverserverjbpmdeployjboss-web.deployerjsf-libs种找到这两个包。

阐明:由于jbpm-console是一个jsf运用,没这两个包,你拜访时会报404或505过错。

复制MySQL JDBC驱动程序包至%CATALINA_HOME%/lib (Tomcat 6)或%CATALINA_HOME%/common/lib(Tomcat 5.5)

复制修正后的jbpm-console至%CATALINA_HOME%/webapps

这样jBPM基本上装备完结,可是咱们还不能拜访他,还需求装备安全拜访操控和初始的用户数据

装备Tomcat 安全域

办法一:在%CATALINA_HOME%/conf/Catalina/localhost 创立一个jbpm-console.xml 文件,内容如下:

Xml代码

  1. Context>
  2. RealmclassName="org.apache.catalina.realm.JDBCRealm"
  3. driverName="com.mysql.jdbc.Driver"
  4. connectionURL="jdbc:mysql://localhost:3306/jbpm"
  5. connectionName="jbossjbpm"
  6. connectionPassword="jbossjbpm"
  7. userTable="JBPM_ID_USERu,JBPM_ID_MEMBERSHIPm,JBPM_ID_GROUPg"
  8. userNameCol="g.TYPE_='security-role'ANDm.GROUP_=g.ID_ANDm.USER_=u.ID_ANDu.NAME_"
  9. userCredCol="DISTINCTu.PASSWORD_"
  10. userRoleTable="JBPM_ID_USERu,JBPM_ID_MEMBERSHIPm,JBPM_ID_GROUPg"
  11. roleNameCol="g.NAME_"/>
  12. ﹤/Context>

办法二:修正 %CATALINA_HOME%/conf/tomcat-users.xml文件来设置安全域。为了不好tomcat已有的用户抵触,这儿把 tomcat曾经的登陆帐号username="admin" 修正为username="tadmin",修正后的文件如下:

Xml代码

  1. ﹤?xmlversion='1.0'encoding='utf-8'?>
  2. tomcat-users>
  3. rolerolename="user"/>
  4. rolerolename="administrator"/>
  5. rolerolename="manager"/>
  6. rolerolename="sales"/>
  7. rolerolename="hr"/>
  8. rolerolename="admin"/>
  9. rolerolename="participant"/>
  10. userusername="user"password="user"roles="user,sales"/>
  11. userusername="shipper"password="shipper"roles="user,hr"/>
  12. userusername="manager"password="manager"roles="admin,hr,manager,user,sales"/>
  13. userusername="tadmin"password=""roles="admin,manager"/>
  14. userusername
转载请说明出处
知优网 » JBoss jBPM装置装备(Tomcat 6.0+MySQL 5.1)

发表评论

您需要后才能发表评论