掌握的jBPM的入门教程
(本文节选于电子工业出版社推出的《jBPM4工作流应用开发指南 》一书)
jBPM需要安装?不是说它是一个框架(Framework)、一堆开放的源代码(Open Source),而非一套“应用程序(Application)”吗,据我所知一般只有应用程序才需要安装呀?
是的,在您深入了解jBPM后,可以把它的流程引擎看做一个Java工程——若干Java类、依赖库和配置文件;jBPM的流程定义和运行时的上下文需要被存储在关系型数据库中——可以是基于调试目的的内存数据库HSQLDB (hsqldb.org),也可以是真正的持久化数据库,诸如MySQL(www.mysql.com),Oracle(www.oracle.com),PostgreSQL (www.postgresql.org),Sybase(www.sybase.com);jBPM的流程设计一般需要一个基于客户端的图形化流程设计器软件,当然在jBPM4版本以后也可以在Web上做流程设计(这要归功于Signavio项目,www.signavio.com);最终,基于jBPM开发出的企业流程应用一般会被部署在一台应用服务器(Application Server)上,以便服务于来自Web的访问、监控和管理等。
但是,以上所说的这一切,如果是一名初学者,能很好地掌控吗?
在早期的版本中,要使用jBPM,很多准备工作都需要自己来做,而且以上每一个步骤和细节都需要自己去关注,例如安装数据库、建表、安装应用服务器、安装图形化流程设计器插件等,是不是会让人感觉到上来就碰了个大钉子?
幸运的是,在我们要介绍的jBPM4.3版本中,几乎这一切工作jBPM软件包的发布者都帮助您做好了!只要您使用过JavaEE,Eclipse和Ant,就可以通过Ant build脚本“一键获取”所需要的jBPM4整套开发、运行和管理环境。这就是传说中的“安装”。
jBPM4安装先决条件
首先,我们要获取jBPM4的软件包,可以在SourceForge.net上找到它:http://sourceforge.net/projects/jbpm/。在本书开始写作的时候,jBPM的最新发布版本为4.3。
作为一个“生机盎然”的开源项目,jBPM的版本更迭比较快,约半年左右就会发布一个新的版本,而世事难料(在这里我指的是组织变更或商业并购),如果有一天你发现在上面所提到的SourceForge.net上找不到jBPM或其最新版本的时候,使用Google搜索“jBPM download”是一个比较保险的办法。
事实上,jBPM在每一次大版本号变迁时的改动才是革命性的,例如jBPM3到jBPM4;而jBPM小版本号的变迁则是相对有限的改变,几乎不会需要您重新学习什么,例如jBPM4.1到jBPM4.3,改动不大,只要关注新版本的“What’s new”即可,也就是说:掌握了jBPM4.3,jBPM4.X对您就不在话下啦!
把jBPM4.3 (jbpm-4.3.zip,不区分操作系统) 下载下来之后,解压到硬盘上的任何一个目录中,这个目录就是您的jBPM“工作目录”了。
注意:这个“工作目录”的绝对路径最好不要包含非英文字符,例如中文;最好也不要含有空格。如果您不遵守这两条规则,也许您在jBPM开发过程中会遇到些莫名其妙的麻烦。 |
下面以 ${jbpm.home} 指代这个“工作目录”。
这个目录中包含如下子目录及文件。
>> doc:包括用户指南、Javadoc、Schemadoc以及开发指南。
>> examples:包括用户指南中使用到的示例流程。
>> install:包括适用于不同环境的安装脚本。
>> lib:包括jBPM依赖的第三方库和一些特定的归档包。
>> src:全部jBPM源代码。
>> jbpm.jar:jBPM源代码归档包文件。
>> migration:jBPM升级功能解决方案包(这在本书第二篇的11.2 流程定义转换工具中会提及)。
在开始使用jBPM前,还需要准备如下环境:
1)JDK(标准Java开发包)5或更高版本。可以在http://java.sun.com/javase/ downloads/获取到最新版本的JDK。关于如何安装和设置JDK到您的操作系统请参考相关资料,本书不做说明。
2)安装jBPM需要执行Ant脚本,所以需要Apache Ant 1.7.0或更高版本。可以在 http://ant.apache.org/bindownload.cgi 获取到最新版本的Ant。
快速开始吧
如果作为一名初学者,拿到jBPM后,您最想做什么?没错,快速地安装好,开始运行。
下面的范例将以最简单的方式帮助您快速开始使用jBPM。
提示:如果您有下载过apache-tomcat-6.0.20.zip 或jboss-5.0.0.GA.zip(Tomcat 还是JBoss?视您想要运行jBPM的应用服务器类型而定,二者选其一即可),可以把它放到${jbpm.home}/install/downloads目录下。这样可以避免安装脚本从网络上下载这些jBPM所需的软件。同理适用于eclipse-jee-galileo-win32.zip,或在Linux平台下的 eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz,或在Mac OS X平台下的 eclipse-jee-galileo- macosx-carbon.tar.gz。 |
按步骤来:
1)打开命令控制台(即Windows下的cmd),进入目录 ${jbpm.home}/install。
2)运行脚本(当然需要配置好Ant命令的路径)ant demo.setup.tomcat或者ant demo.setup.jboss。
没了,就这么简单的两步。
实际上这两步帮您做了如下工作:
1)把Tomcat安装到${jbpm.home}/apache-tomcat-6.0.20目录下。
2)把jBPM安装到Tomcat中。
3)安装HSQLDB,并在后台启动。
4)创建数据库表结构。
5)在后台启动Tomcat。
6)根据示例(来自examples目录)创建一个examples.bar业务流程归档,并把它发布到jBPM数据库中。
7)从${jbpm.home}/install/src/demo/example.identities.sql初始化用户和组。
8)安装Eclipse到 ${jbpm.home}/eclipse。
9)启动Eclipse。
10)安装jBPM Web控制台。
11)安装Signavio Web设计器。
当这些都完成后,Tomcat(或JBoss,由您之前运行的 demo.setup.*脚本决定)会在后台启动。
一旦Eclipse启动成功,您可以在其上安装GPD(图形化流程设计器),使用这个基于Eclipse的客户端软件去进行流程建模,如何安装请参考2.9 安装图形化流程设计器(GPD)。
或者您可以通过Signavio web设计器进行流程建模:http://localhost:8080/jbpmeditor/ p/explorer。
这时候,您也可以使用jBPM控制台:http://localhost:8080/jbpm-console/,利用表2-1中所列用户之一进行登录。
表 2-1 jBPM控制台用户
注意:jBPM4.3控制台目前存在一个问题——对于一些比较慢的机器,在初始化流程报表时,控制台的失效时间太短了,所以当您第一次请求流程报表时,会出现超时,控制台会崩溃。注销,然后再次登录,就可以避过这个问题。同时,这个问题已经提交到了官方JIRA – JBPM-2508。 |