只需要把jBPM (jbpm-4.X.zip
) 下载下来,然后解压到你的硬盘上的什么地方。 你将看到下面的子目录:
doc
: 用户手册,javadoc和开发指南examples
: 用户手册中用到的示例流程install
: 用于不同环境的安装脚本lib
: 第三方库和一些特定的jBPM依赖库src
: 源代码文件jbpm.jar
: jBPM主库归档migration
: 参考开发指南jBPM需要JDK (标准java)5或更高版本。
http://java.sun.com/javase/downloads/index.jsp为了执行ant脚本,你需要1.7.0或更高版本的apache ant:
http://ant.apache.org/bindownload.cgi这个范例安装是最简单的方式开始使用jBPM。 这一章介绍了完成范例安装的步骤。
如果你之前下载过jboss-5.0.0.GA.zip
,你可以把它放到?${jbpm.home}/install/downloads
目录下。 否则脚本会为你下载它,但是它会消耗一些时间(与你的网络情况有关)。 eclipse-jee-galileo-win32.zip也一样(或者eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz在linux平台下 和eclipse-jee-galileo-macosx-carbon.tar.gz在Mac OSX平台下)。
打开命令控制台,进入目录${jbpm.home}/install
。 然后运行
ant demo.setup.jboss
或者
ant demo.setup.tomcat
这将
${jbpm.home}/jboss-5.0.0.GA
目录${jbpm.home}/install/src/demo/example.identities.sql
,读取用户和组。${jbpm.home}/eclipse
当这些都完成后,JBoss(或Tomcat,根据demo.setup脚本中的选择)会在后台启动。 一旦eclipse完成启动,你可以继续执行下面的教程?第?3?章?流程设计器(GPD)来开始编码你的jBPM业务流程。
或者你可以启动建模流程,通过?Signavio web设计器。
或者使用jBPM控制台。 你可以使用下面用户之一进行登陆:
表?2.1.?示例控制台用户:
用户名 密码 alex password mike password peter password mary password目前存在的问题: 现在,对于一些比较慢的机器,在初始化报表时, 控制台的失效时间太短了,所以当你第一次请求报表时, 会出现超时,控制台会崩溃。 注销,然后再次登录,就可以避过这个问题。 这个问题已经提交到JIRA中了?JBPM-2508
jBPM下载包中包含了一个install
目录, 目录中有一个ant的build.xml文件,你可以使用它来 把jBPM安装到你的应用环境中。
最好严格按照这些安装脚本, 进行安装和发布jBPM配置文件。我们可以自定义jBPM配置文件, 但这是不被支持的。
要想调用安装脚本,打开命令行,进入${jbpm.home}/install
目录。 使用ant -p
你可以看到 这里可以使用的所有脚本。脚本的参数都设置了默认值, 可以快速执行,下面列表给出了可用脚本的概况:
?
demo.setup.jboss
:安装jboss,把jbpm安装到jboss中, 启动jboss,创建jbpm数据库表结构,部署实例,加载实例身份认证信息, 安装并启动eclipsedemo.setup.tomcat
:安装tomcat,把jboss安装到tomcat中, 启动tomcat,创建jbpm数据库表结构,部署实例,加载实例身份认证信息, 安装并启动eclipseclean.cfg.dir
:删除${jbpm.home}/install/generated/cfg
?文件夹。create.cfg
:创建一个配置在?${jbpm.home}/install/generated/cfg
下,基于当前的参数。create.jbpm.schema
:在数据库中创建jbpm表create.user.webapp
创建一个基本的webapp在?${jbpm.home}/install/generated/user-webapp
中delete.jboss
:删除安装的jbossdelete.tomcat
:删除安装的Tomcatdemo.teardown.jboss
:删除jbpm数据库的表并停止jbossdemo.teardown.tomcat
:停止tomcat和hsqldb服务器(如果需要)drop.jbpm.schema
:从数据库中删除jbpm的表get.eclipse
:下载eclipse如果它不存在get.jboss
:下载一个JBoss AS,已经测试过当前的jBPM版本,如果它不存在get.tomcat
:下载一个Tomcat,已经测试过当前的jBPM版本,如果它不存在hsqldb.databasemanager
:启动hsqldb数据库管理器install.eclipse
:解压eclipse,下载eclipse如果它不存在install.jboss
:下载JBoss如果它不存在,并解压install.jbpm.into.jboss
:把jBPM安装到JBoss中install.tomcat
:把tomcat下载到${tomcat.distro.dir}如果tomcat不存在,并解压tomcatinstall.jbpm.into.tomcat
:把jBPM安装到tomcat中install.examples.into.tomcat
:部署所有的实例流程install.signavio.into.jboss
:把signavio安装到jboss中install.signavio.into.tomcat
把signavio安装到tomcat中load.example.identities
:读取实例用户和用户组数据到数据库reinstall.jboss
:删除之前的jboss安装,并重新安装jbossreinstall.jboss.and.jbpm
:删除之前的jboss安装,并重新安装jboss并把jbpm安装到它里面reinstall.tomcat
:删除之前的tomcat安装,并重新安装tomcatreinstall.tomcat.and.jbpm
:删除之前的tomcat安装,并重新安装tomcat并把jbpm安装到它里面start.eclipse
:启动eclipsestart.jboss
:启动jboss,等待到jboss启动完,然后让jboss在后台运行start.tomcat
:启动Tomcat,等待到Tomcat启动完,然后让Tomcat在后台运行stop.jboss
:通知jboss停止,但是不等到它完成stop.tomcat
通知Tomcat停止,但是不等到它完成upgrade.jbpm.schema
:更新数据库中的jBPM表到当前版本?
要想指定你的配置文件,使用上面的脚本(比如DB表结构生成), 最简单的方法是修改对应的配置文件,在目录${jbpm.home}/install/jdbc
。 对应的配置文件会被脚本加载,根据对应的DB。
下面的参数也可以自定义。
database
?: 默认值是hsqldb
。 可选值为mysql
,?oracle
和postgresql
jboss.version
?: 默认值是5.0.0.GA
。 可选值是5.1.0.GA
如果想要自定义这些值,只需要像这样使用-D
ant -Ddatabase=postgresql demo.setup.jboss
作为可选方案,你可以在${user.home}/.jbpm4/build.properties
?中设置自定义的参数值
我们提供了自动安装jBPM的ant脚本。 这些脚本会将正确的依赖库和正确的配置文件 为你安装到正确的位置。如果你想在你的应用中创建自己的jBPM, 可以参考开发指南获得更多信息。
install.jbpm.into.jboss
任务会把jBPM安装到你的JBoss 5中。 进入安装目录下,执行ant -p
可以获得更多信息。 这个安装脚本会把jBPM安装为一个JBoss的服务, 因此所有应用都可以使用同一个jBPM的流程引擎。
可以指定-Djboss.home=PathToYourJBossInstallation
?来修改你的JBoss的安装路径。
在JBoss中,ProcessEngine
可以通过JNDI获得,?new InitialContext().lookup("java:/ProcessEngine")
, 相同的流程引擎可以通过Configuration.getProcessEngine()
获得。
install.jbpm.into.tomcat
任务会把jBPM安装到 你的Tomcat中。
使用install.signavio.into.jboss
和?install.signavio.into.tomcat
任务可以将Signavio基于web 的流程编辑器安装到JBoss或Tomcat中。
如果你希望把jBPM部署为你的web应用的一部分,可以使用?create.user.webapp
这个安装任务。 这会创建一个包含jBPM的web应用,在${jbpm.home}/install/generated/user-webapp
目录下。
如果你在JBoss上或其他包含jta.jar的应用服务器上部署了你的应用, 你需要把${jbpm.home}/install/generated/user-webapp/WEB-INF/lib/jta.jar
删除。
安装脚本也包含了执行数据库的操作 比如创建表,如果你是第一次安装jBPM, 或者更新数据库使用之前版本的表结构。 删除表也是可选的。
使用任何数据库操作的前提条件是 在${jbpm.home}/install/jdbc
中指定你的连接参数。
要想创建表结构,执行create.jbpm.schema
任务 在${jbpm.home}/install
目录下。 作为创建表、约束的一部分,涉及的任务会初始化?JBPM4_PROPERTY
表, 使用当前的引擎版本(key?db.version
)和ID生成器版本 (keynext.dbid
)。
要想删除表结构,只要执行drop.jbpm.schema
任务。 注意这个操作会删除jBPM表中的 所有数据。
要想更新,执行upgrade.jbpm.schema
任务 在${jbpm.home}/install
目录下。
更新是一个两步操作。前一步是添加额外的表,列或者约束 这些是在新版本中的。 下一步,插入种子数据。
从4.0到4.1,表JBPM4_VARIABLE
添加了一个新列?CLASSNAME_
用来支持设置 流程变量的值的自定义类型,hibernate的类型映射。 这个列是可为null的,因为这个功能在4.0中没有支持, 所以没有初始值。
从4.1到4.2,更新过程更有趣一些。
JBPM4_PROPERTY
?被用来保存引擎范围的数据。JBPM4_PROPERTY
表中 使用key?db.version
用来在未来发布中 精确指定标示符。next.dbid
中 在JBPM4_PROPERTY
表中。jpdl-4.0
?用于所有已经存在的流程定义,对应key?langid
?在表JBPM4_DEPLOYPROP
中。jPDL解析器对应?langid
属性来读取流程文档 以此支持向后的兼容。图形化流程设计器(GPD)使用Eclipse作为其平台, 这一节的内容将介绍如何获得和安装Eclipse, 并把GPD插件安装到eclipse上。
你需要Eclipse3.5.0
使用实例安装?或手工下载eclipse:?Eclipse IDE for Java EE Developers (163 MB)
eclipse的传统版本无法满足要求, 因为它没有XML编辑器。 Eclipse的Java开发者版也可以工作。
使用Eclipse软件升级(Software Update)机制安装设计器是非常简单的。 在gpd目录下有一个install/src/gpd/jbpm-gpd-site.zip文件, 这就是更新站点(archived update site)的 压缩包。
在Eclipse里添加更新站点的方法:
帮助
?-->?安装新软件...
添加...
添加站点
?对话框中,单击?压缩包...
install/src/gpd/jbpm-gpd-site.zip
?并点击 '打开'确定
?在?添加站点
?对话框中,会返回到 '安装'对话框jPDL 4 GPD 更新站点
下一步..
?然后点击?完成
图?2.1.?添加设计器的更新站点
Window
?-->?Preferences
JBoss jBPM
?-->?jBPM 4
?-->?Runtime Locations
Add...
Add Location
?对话框中,输入一个名字,比如?jbpm-4.0
?然后点击?Search...
Browse For Folder
?对话框中,选择你的jbpm根目录,然后点击?OK
OK
?在?Add Location
?对话框中图?2.2.?定义jBPM依赖库
这一节演示如何在你的工作空间定义一个用户库, 用来放置jBPM的库文件。 如果你创建一个新工程, 只需要将用户库全部添加到build path下
图?2.3.?定义jBPM类库
如果你想直接编辑XML源码, 最好是在你的XML目录中指定一下模式(schema), 这样当你在编辑流程源码的时候,可以更好的帮助你编写代码。
图?2.4.?在目录中添加jPDL4模式
这一节我们会在Eclipse的安装程序下 导入示例工程
在配置了jBPM用户依赖库也导入了实例后, 所以的例子可以作为JUnit测试运行了。在一个测试上右击, 选择'Run As' --> 'JUnit Test'。
设置完成,现在你可以开始享受这个最酷的Java流程技术。
你可以使用eclipse和ant整合来处理流程的发布。 我们会告诉你它是如何在例子里工作地。然后你可以把这些复制到你的项目中。 首先,打开ant视图。
Window
?-->?Show View
?-->?Other...
?-->?Ant
?-->?Ant
build.xml
,从包视图拖拽到ant视图。