




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
jBPM与jPDL简介关于jBPMjBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。jBPM是公开源代码项目,它使用要遵循 Apache License。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process Definition Language (jPDL)。jPDL认为一个商务流程可以被看作是一个UML状态图。jPDL就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。关于jPDLjPDL(JBoss jBPM Process Definition Language)是构建于jBPM框架上的流程语言之一。在jPDL中提供了任务(tasks)、待处理状态 (wait states)、计时器(timers)、自动处理(automated actions)等术语,并通过图型化的流程定义,很直观地描述业务流程。jPDL可以部署于Java语言的任何应用环境下,JavaSE Application(Swing/SWT)、JavaEE Application(Application Server) 。jPDL分发包的组成目前jPDL的最新版本是3.2.3,通过/jbossjbpm/jpdl_downloads/可以获得官方下载包。下载包分为两种,一种是标准包(jbpm-jpdl-3.2.3.zip);一种是套件包(jbpm-jpdl-suite-3.2.3.zip)。两者最大的区别是套装包自带一个已经配置好的jboss服务,下载解压缩后,可直接运行。(1)jPDL的核心程序包(jbpm-jpdl.jar)它是一个典型的jar文件,它涵盖对流程定义和运行时流程实例上下文环境的操作API。在最简化的业务流程样例中,jPDL将流程定义存储与XML格式的定义文件中,在运行时载入内存,在内存里记录完整的业务实例和执行过程的环境变量,并完成全部操作。显然,在实际应用中,流程信息必须被持久化的存储于数据库中。jPDL使用了Hibernate作为其对象持久化的API。(2)Graphical Process Designer插件(jbpm-jpdl-designer-3.1.2.zip)它是一个基于Eclipse的图型编辑插件。使用它可以对业务流程进行可视化的定制,而无须手动编辑XML文件。该插件还提供了流程定义上传功能,可以将新定义的流程发布到在线运行的jPDL系统上。(3)jPDL身份包(jbpm-identity.jar)它是jPDL的一个轻量级扩展包,简单实现了组Group、用户User、许可权Permission等用户身份认证和鉴权机制。如果您的应用环境只需要简单的用户认证鉴权管理,那么它十分适合您。(4)jPDL Web控制台(jbpm-console.war)它是一个标准Web应用(使用了JSF技术),提供了对jPDL平台执行情况的监控程序(对jPDL数据库的监控)。管理员可以通过该程序方便的维护jPDL的数据库,管理流程定义和流程实例的执行情况。同时,它还提供了一个简单的Getting started DEMO,方便初学者了解jPDL。jbpm-jpdl-suite-3.2.3.zip压缩包组成在解压jbpm-jpdl-suite-3.2.3.zip后,会看到很多目录,如下所示:(1)config目录该目录存放了jPDL的默认配置文件 ,包括hibernate.cfg.xml 、jbpm.cfg.xml(jPDL的主配置文件,默认是空的)、jbpm.mail.templates.xml(邮件模板配置文件)、perties(日志配置文件)(2)db目录该目录存放了jPDL针对不同数据库的表初始化sql文件。这里要说的是,jbpm.jpdl.mysql.sql在MySql下批量运行时,会出现错误提示,原因是语句后缺少”;”号,需要修订后才能使用。(3)designer目录该目录存放了GPD(Graphical Process Designer)插件。(4)examples目录该目录存放了jPDL的简单范例。(5)doc目录该目录存放jPDL 的相关说明文档,包括用户指南、Java API文档等。(6)server目录该目录存放了配置好的jBoss和控制台程序,Windows下双击start.bat可立即执行。数据库使用HSQL,存放于/server/server/jbpm/data下。(7)src目录该目录下存放的是源代码,可以通过查看代码来了解其具体实现,有助于增强理解。(8)deploy目录该目录下面包含3个war包:jbpm-console.war、jbpm-enterprise.ear、jbpm-mail.war。(9)lib目录该目录中存放了支持的jar包。JBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。jBPM是公开源代码项目,遵循Apache License。JBPM的配置还是比较容易的,只是配置的过程有些麻烦,但是只要你具备了一定的基础之后,是非常容易理解。在我刚开始配置的时候,总是“报错”JNDI没有绑定,而不是“信息”JNDI没有绑定,这两者的区别就是:“报错”说明配置有问题,而“信息”则表明我知道可以通过JNDI绑定的方式来实现但是我没有用它。下面介绍配置的过程,而且,是基于JDBC直连的方式,你就不用考虑配置数据源的问题了。如果这个过程中出现关于数据源(Datasource)的异常信息,说明你又在配置JDBC直连的方式时考虑了数据源的配置。系统环境操作系统:Windows XP SP2JBPM版本:jbpm-jpdl-suite-3.2.3WEB服务器:Tomcat 6.0JDK版本:Sun JDK1.6MySQL:5.0浏览器:IE 6.0Ant版本:Ant 1.7.1安装配置主要分为两部分:JDK,Ant,Tomcat,MySQL安装配置过程:略。另一部分就是jbpm-jpdl-suite-3.2.3的准备工作,详细说明。1、下载jbpm-jpdl-suite-3.2.3.zipJBoss jBPM 官方(/jbossjbpm/)当前发布的版本为 3.2.3,只需要下载jPDL Suite,下载后得到jbpm-jpdl-suite-3.2.3.zip,解压缩后得到jbpm-jpdl-3.2.3目录下的如下文件和目录: jbpm-jpdl-3.2.3 jboss.eula.txt jbpm-identity.jar jbpm-jpdl.jar license.txt readme.html release.notes.html x.txt config db deploy designer doc examples lib server src2、MySQL数据库配置启动MySQL数据库服务器,我使用root登录,创建一个数据库jbpm。然后,在jbpm-jpdl-3.2.3db目录下面可以看到数据库的SQL脚本文件,找到jbpm.jpdl.mysql.sql文件,在其中每行的末尾添加一个分号,例如,原来的为:alter table JBPM_ACTION drop foreign key FK_ACTION_REFACTalter table JBPM_ACTION drop foreign key FK_CRTETIMERACT_TAalter table JBPM_ACTION drop foreign key FK_ACTION_PROCDEFalter table JBPM_ACTION drop foreign key FK_ACTION_EVENTalter table JBPM_ACTION drop foreign key FK_ACTION_ACTNDELalter table JBPM_ACTION drop foreign key FK_ACTION_EXPTHDL修改后应该为:alter table JBPM_ACTION drop foreign key FK_ACTION_REFACT;alter table JBPM_ACTION drop foreign key FK_CRTETIMERACT_TA;alter table JBPM_ACTION drop foreign key FK_ACTION_PROCDEF;alter table JBPM_ACTION drop foreign key FK_ACTION_EVENT;alter table JBPM_ACTION drop foreign key FK_ACTION_ACTNDEL;alter table JBPM_ACTION drop foreign key FK_ACTION_EXPTHDL;然后,就可以将该SQL脚本文件在MySQL数据库服务器上执行,创建数据库jbpm中的所有表,使用如下命令:mysql source D:JBPMjbpm-jpdl-suite-3.2.3jbpm-jpdl-3.2.3dbjbpm.jpdl.mysql.sql;从jbpm.jpdl.mysql.sql文件内容可以看到,如果你是第一次执行该脚本文件,它会首先假定数据库jbpm中存在这些表而执行删除操作,然后才能执行创建表的工作。接着,可以初始化数据库,向其中插入数据: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,usersample.domain,user); INSERT INTO JBPM_ID_USER VALUES(2,U,manager,managersample.domain,manager); INSERT INTO JBPM_ID_USER VALUES(3,U,admin,adminsample.domain,admin); INSERT INTO JBPM_ID_USER VALUES(4,U,shipper,shippersample.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);保存为insert.sql文件,然后在MySQL数据库服务器上执行:mysql source D:JBPMjbpm-jpdl-suite-3.2.3jbpm-jpdl-3.2.3dbinsert.sql;3、JBPM控制台配置JBPM是通过Web的控制台来进行流程管理的,所以配置的时候有点麻烦,但是很容易理解。要保证你的Ant正确配置好,然后启动一个cmd窗口,切花到jbpm-jpdl-3.2.3deploy(我的为D:Eclipseworkspacejbpm-jpdl-3.2.3deploy)目录下,执行如下命令:ant customize.console.for.tomcat执行结果如下所示:C:Documents and SettingsSHIYANJUNd:D:cd D:Eclipseworkspacejbpm-jpdl-3.2.3deployD:Eclipseworkspacejbpm-jpdl-3.2.3deployant customize.console.for.tomcatBuildfile: build.xmlcustomize.console.for.tomcat: mkdir Created dir: D:Eclipseworkspacejbpm-jpdl-3.2.3deploytargetwar mkdir Created dir: D:Eclipseworkspacejbpm-jpdl-3.2.3deploycustomized unzip Expanding: D:Eclipseworkspacejbpm-jpdl-3.2.3deployjbpm-console.war into D:Eclipseworkspacejbpm-jpdl-3.2.3deploytargetwar copy Copying 9 files to D:Eclipseworkspacejbpm-jpdl-3.2.3deploytargetwarWEB-INFlib zip Building zip: D:Eclipseworkspacejbpm-jpdl-3.2.3deploycustomizedjbpm-console.warBUILD SUCCESSFULTotal time: 4 secondsD:Eclipseworkspacejbpm-jpdl-3.2.3deploy这时,在D:Eclipseworkspacejbpm-jpdl-3.2.3deploy目录下生成了两个目录:customized和target。将customized目录下的jbpm-console.war文件拷贝到Tomcat安装目录下的webapps下面,启动Tomcat Web服务器,然后修改jbpm-console目录下的内容。修改目录D:Eclipseworkspacejbpm-jpdl-3.2.3deploytargetwarWEB-INFclasses下的hibernate.cfg.xml文件,只需要修改mapping元素之前的内容property元素的内容。最初,默认只配置了如下三项:org.hibernate.dialect.HSQLDialect org.hibernate.cache.HashtableCacheProviderjava:comp/env/jdbc/JbpmDataSource修改后需要添加,因为是JDBC直连,所以修改后如下: org.hibernate.dialect.MySQLInnoDBDialect com.mysql.jdbc.Driver jdbc:mysql:/localhost:3306/jbpm root 111111 org.hibernate.cache.HashtableCacheProvider org.hibernate.transaction.JDBCTransactionFactory你需要把涉及到数据源的配置注释掉或者删除掉,否则在后面测试启动Tomcat的时候会报JNDI为未绑定的异常。接着,要引入相关的jar包文件(jbpm-console是一个jsf应用):(1)将jboss-j2ee.jar、commons-collections.jar、jsf-api.jar和jsf-impl.jar四个文件添加到D:Tomcat 6.0webappsjbpm-consoleWEB-INFlib目录下。上面四个文件获取:jboss-j2ee.jar可以从jbpm-jpdl-suite-3.2.3jbpm-jpdl-3.2.3lib目录中获取到;commons-collections.jar可以从jbpm-jpdl-3.2.3serverserverjbpmlib目录中获取到;jsf-api.jar和j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保障廉洁施工方案(3篇)
- 北京市门头沟区2023-2024学年八年级上学期第二次月考英语题库及答案
- 房地产公司建筑模型制作合同书
- 行政事务处理标准操作流程模板
- 格林童话的语言特点与文化背景教学教案
- 时间王国大闯关课件
- 农村信息化服务支持合同书
- 时间坐标轴课件
- 企业内部文件归档与管理制度手册
- 文言文的魅力:古诗词教学专题
- 丹江口事业单位笔试真题2024
- 完整版宪法知识竞赛试题完整题库及答案(夺冠系列)
- 云南大学附属中学数学2023-2024学年七年级上学期开学分班考试数学试题
- 2024年施工承包合同电子版(5篇)
- GB/T 3648-2024钨铁
- ISO28000:2022供应链安全管理体系
- 小学武术校本课程教材(中学也可用)
- 自来水厂处理工艺流程图
- 食品安全基础
- ICU综合征的治疗和护理
- 2024年浪潮入职测评题和答案
评论
0/150
提交评论