首页 安装和配置jBPM4

安装和配置jBPM4

举报
开通vip

安装和配置jBPM4 24 | jBPM 工作流应用开发指南 第 2 章 安装和配置 jBPM4 jBPM 需要安装?不是说它是一个框架(Framework)、一堆开放的源代码(Open Source),而非一套“应用程序(Application)”吗,据我所知一般只有应用程序才需要 安装呀? 是的,在您深入了解 jBPM后,可以把它的流程引擎看做一个 Java工程——若干 Java类、依赖库和配置文件;jBPM的流程定义和运行时的上下文需要被存储在关系型 数据库中——可以是基于调试目的的内...

安装和配置jBPM4
24 | jBPM 工作流应用开发指南 第 2 章 安装和配置 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整套开发、运行和管理环境。这就是传说中的“安装”。 2.1 jBPM4 安装先决条件 首先,我们要获取 jBPM4 的软件包,可以在 SourceForge.net 上找到它: http://sourceforge.net/projects/jbpm/。在本书开始写作的时候,jBPM的最新发布版本为 第 2 章 安装和配置 jBPM4 | 25 4.3。 作为一个“生机盎然”的开源项目,jBPM的版本更迭比较快,约半年左右就会发 布一个新的版本,而世事难料(在这里我指的是组织变更或商业并购),如果有一天你 发现在上面所提到的 SourceForge.net上找不到 jBPM或其最新版本的时候,使用Google 搜索“jBPM download”是一个比较保险的办法。 事实上,jBPM 在每一次大版本号变迁时的改动才是革命性的,例如 jBPM3 到 jBPM4;而 jBPM 小版本号的变迁则是相对有限的改变,几乎不会需要您重新学习什 么,例如 jBPM4.1到 jBPM4.3,改动不大,只要关注新版本的“What news”即可,也 就是说:掌握了 jBPM4.3,jBPM4.X对您就不在话下啦! 把 jBPM4.3 (jbpm-4.3.zip,不区分操作系统) 下载下来之后,解压到硬盘上的任何 一个目录中,这个目录就是您的 jBPM“工作目录”了。 注意:这个“工作目录”的绝对路径最好不要包含非英文字符,例如中文;最 好也不要含有空格。如果您不遵守这两条规则,也许您在 jBPM 开发过程中会遇到 些莫名其妙的麻烦。 下面以 ${jbpm.home} 指代这个“工作目录”。 这个目录中包含如下子目录及文件。 z doc:包括用户指南、Javadoc、Schemadoc以及开发指南。 z examples:包括用户指南中使用到的示例流程。 z install:包括适用于不同环境的安装脚本。 z lib:包括 jBPM依赖的第三方库和一些特定的归档包。 z src:全部 jBPM源代码。 z jbpm.jar:jBPM源代码归档包文件。 z migration:jBPM升级功能解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 包(这在本书第三篇的 11.2 流程定义转 换工具中会提及)。 在开始使用 jBPM前,您还需要准备如下环境: 1) JDK(标准 Java 开发包)5 或更高版本。您可以在 http://java.sun.com/javase/ downloads/获取到最新版本的 JDK。关于如何安装和设置 JDK 到您的操作系 统请参考相关资料,本书不做说明。 26 | jBPM 工作流应用开发指南 2) 安装 jBPM需要执行 Ant脚本,所以您需要 Apache Ant 1.7.0或更高版本。您 可以在 http://ant.apache.org/bindownload.cgi 获取到最新版本的 Ant。 2.2 快速开始吧 如果作为一名初学者,拿到 jBPM 后,您最想做什么?没错,快速地安装好,开 始运行。 下面的范例将以最简单的方式帮助您快速开始使用 jBPM。 提示:如果您有下载过 apache-tomcat-6.0.20.zip 或 jboss-5.0.0.GA.zip(Tomcat or JBoss?视您想要运行 jBPM 的应用服务器类型而定,二者选其一即可),可以把它 放到${jbpm.home}/install/downloads 目录下。这样可以避免安装脚本从网络上下载这 些 jBPM 所需的软件。同理适用于 eclipse-jee-galileo-win32.zip,或在 Linux 平台下 的 eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz , 或 在 Mac OSX 平 台 下 的 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初始化用户和组。 第 2 章 安装和配置 jBPM4 | 27 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 控制台用户 用户名 密码 alex password mike password peter password mary password 注意:jBPM4.3 控制台目前存在一个问题——对于一些比较慢的机器,在初始 化流程报表时,控制台的失效时间太短了,所以当您第一次请求流程报表时,会出 现超时,控制台会崩溃。注销,然后再次登录,就可以避过这个问题。同时,这个 问题已经提交到了官方 JIRA – JBPM-2508。 2.3 安装脚本详解 在上一节中我们使用了 jBPM 安装脚本中名为 demo.setup.tomcat 的目标任务 (target),如您所知,这是一个 Ant build target,接下来我们将完整解读 jBPM4.3的安 28 | jBPM 工作流应用开发指南 装脚本。 jBPM软件包目录中包含了一个 install目录,此目录中有一个 Ant的 build.xml文 件,您可以使用它来把 jBPM按照需要安装到应用环境中。 注意:最好严格按照这组安装脚本进行安装和发布 jBPM 配置文件。当然,我 们可以根据需要自定义 jBPM 的安装和配置,但这需要您的经验和谨慎。 如何调用安装脚本?打开命令行,进入${jbpm.home}/install 目录。使用 ant–p 命 令您可以看到这个安装脚本里所有可以使用的目标任务。其参数都设置了默认值,以 便快速执行,下面给出了可用目标任务的概况。 z demo.setup.jboss:依次执行——(下载)安装 JBoss,把 jBPM安装到 JBoss 中,启动 JBoss,创建 jBPM数据库表结构,部署示例,加载示例身份认证信 息,(下载)安装并启动 Eclipse。 z demo.setup.tomcat:依次执行——(下载)安装 Tomcat,把 JBoss 安装到 Tomcat 中, 启动 Tomcat,创建 jBPM 数据库表结构,部署示例,加载示例 身份认证信息,(下载)安装并启动 Eclipse。 z clean.cfg.dir:清除配置——删除 ${jbpm.home}/install/generated/cfg 目录。 z create.cfg:基于当前的参数在 ${jbpm.home}/install/generated/cfg 目录中创 建一组配置。 z create.jbpm.schema:在目标数据库中创建 jBPM表结构。 z create.user.webapp:根据您当前的配置,在 ${jbpm.home}/install/generated/ user-webapp 目录中创建一个最简的 jBPM JavaEE Web应用程序。这个应用 程序包括完整的 WEB-INF 目录,所有的 jBPM依赖库都在其 lib目录中。您 可以将这个目标任务理解为创建一个“jBPM Blank Project”。 z delete.jboss:删除已安装的 JBoss应用服务器。 z delete.tomcat:删除已安装的 Tomcat应用服务器。 z demo.teardown.jboss:删除 jBPM数据库中的表并停止 JBoss服务。 z demo.teardown.tomcat:停止Tomcat服务,以及HSQLDB服务(如果HSQLDB 服务正在运行的话)。 z drop.jbpm.schema:从数据库中删除 jBPM的表结构。 z get.eclipse:下载 Eclipse,如果在 ${jbpm.home}/install/downloads 目录中不 存在的话。 第 2 章 安装和配置 jBPM4 | 29 z get.jboss:下载与当前版本 jBPM匹配的 JBoss AS(JBoss Application Server 即 JBoss应用服务器),如果 downloads目录中不存在的话。 z get.tomcat:下载与当前版本 jBPM匹配的 Tomcat,如果 downloads目录中不 存在的话。 z hsqldb.databasemanager:启动 HSQLDB数据库管理控制台。 z install.eclipse:安装 Eclipse,执行下载(如果 downloads目录中不存在的话) 解压操作。 z install.jboss:安装 JBoss 应用服务器,执行下载(如果 downloads 目录中不 存在的话)解压操作。 z install.jbpm.into.jboss:安装 jBPM到 JBoss中。 z install.tomcat:安装 Tomcat 应用服务器到 ${tomcat.distro.dir}(在 build.xml 中配置),执行下载(如果 downloads目录中不存在的话)解压操作。 z install.jbpm.into.tomcat:把 jBPM安装到 Tomcat中。 z install.examples.into.tomcat:部署所有的示例流程到 Tomcat。 z install.signavio.into.jboss:把 Signavio流程设计器应用安装到 JBoss。 z install.signavio.into.tomcat:把 Signavio流程设计器应用安装到 Tomcat中。 z load.example.identities:装载示例用户和用户组数据到数据库中。 z reinstall.jboss:删除之前的 JBoss安装,并重新安装 JBoss。 z reinstall.jboss.and.jbpm:删除之前的 JBoss 安装,并重新安装 JBoss。然后 把 jBPM安装到 JBoss中。 z reinstall.tomcat:删除之前安装的 Tomcat,并重新安装 Tomcat。 z reinstall.tomcat.and.jbpm:删除之前安装的 Tomcat,并重新安装 Tomcat。然 后把 jBPM安装到 Tomcat中。 z start.eclipse:启动默认位置上的 Eclipse IDE。 z start.jboss:启动 JBoss 服务,并等待 JBoss 启动完成,JBoss 服务作为后台 进程运行。 z start.tomcat:启动 Tomcat服务,并等待 Tomcat启动完成,Tomcat服务作为 后台进程运行。 z stop.jboss: 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 JBoss服务停止,但并不等待停止完成。 z stop.tomcat:通知 Tomcat服务停止,但并不等待停止完成。 z upgrade.jbpm.schema:更新数据库中的 jBPM表结构到当前版本。 以下将从配置文件和依赖库这两个角度,向您介绍一些使用安装脚本应该注意的 事项。 30 | jBPM 工作流应用开发指南 2.3.1 关于配置文件 通过上述目标任务,我们了解到安装脚本能为我们下载安装 Eclipse,Jboss, Tomcat……简直无所不能,但细心的读者会发现:数据库软件的安装呢? 没错,脚本没有能力完成所有的事,如果要成功运行 jBPM,您必须要修改一些配 置文件,例如,数据库对应的配置文件在目录${jbpm.home}/install/jdbc中,这个目录 中列出了 jBPM 官方支持数据库类型的相应配置,根据您对数据库的选择配置相应 的 .properties 文件吧,例如默认的 mysql.properties 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 如下: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/jbpmdb jdbc.username=jbpm jdbc.password=jbpm 假设您的 MySQL 服务位于 192.168.0.8 的 3308 端口,库名为 jbpmdb,用户名为 root,密码为 root,则您需要修改配置为: jdbc.driver=com.mysql.jdbc.Driver # 数据库访问地址 jdbc.url=jdbc:mysql://192.168.0.8:3308/jbpmdb # 数据库用户名和密码 jdbc.username=root jdbc.password=root 下面的安装脚本参数也可根据需要自定义。 z database:默认值是 HSQLDB。可选值为 mysql,oracle和 postgresql。 z jboss.version:默认值是 5.0.0.GA。可选值是 5.1.0.GA。 如果想要自定义这些参数值,可以在运行 Ant安装脚本时使用 -D 指令,例如: ant -Ddatabase=postgresql demo.setup.tomcat 在 install目录的 build.xml文件中,您可以发现所有的安装参数: 看这里,没错!您可以建立一个 build.properties 文件,在其中统一设定自定义的参数值 就是在这里。database 参数可以指定安装的目标数据库类型,对应相应的 .properties 文件 第 2 章 安装和配置 jBPM4 | 31 …… 其中“INTERNAL PROPERTY DEFAULTS”部分设定了 jBPM安装属性的一些默 认值,您可以根据需要变更之,例如可以将最后一行的 Tomcat版本改为“6.0.24”,当 然,这些修改需要您的知识和经验作为保证。 2.3.2 关于依赖库 通过以上介绍,我们了解到 jBPM 提供了自动安装的 Ant 脚本。这些脚本会将正 确的依赖库和正确的配置文件安装到正确的位置。但如果想在应用中定制属于自己的 jBPM,那么不可避免地需要了解 jBPM 依赖库的细节和如何集成其他第三方库和框 架……关于这方便的知识,您可以在第 9 章 JBPM4 扩展研发选决条件中了解到。 2.4 安装到 JBoss 执行安装脚本中的 install.jbpm.into.jboss 目标任务会把 jBPM 安装到 JBoss 应用 服务器中。这会把 jBPM安装成为一个 JBoss的服务,因此这台 JBoss上所有应用程序 都可以使用这个安装的 jBPM流程引擎。 32 | jBPM 工作流应用开发指南 如同前文所说,您可以在运行脚本任务时通过如下参数来指定 JBoss的安装路径: -Djboss.home=PathToYourJBossInstallation 安装成功后,在 JBoss环境中,应用程序可以通过 JNDI查询服务获取 ProcessEngine (流程引擎)对象: new InitialContext().lookup("java:/ProcessEngine") 同样,也可以通过 Configuration.getProcessEngine() 获取 ProcessEngine对象。 2.5 安装到 Tomcat 安装脚本的 install.jbpm.into.tomcat 目标任务会把 jBPM 安装到 Tomcat 应用服务 器中。这个任务对 Tomcat主要做了如下“手脚”: 1) 复制了若干 jar 包文件到${tomcat.home}/lib 目录中,这包括 jBPM 本身的库 及其依赖的第三方库,当然还有相应的数据库驱动程序包。 2) 分别将 Signavio流程设计器、jBPM控制台、GWT控制台服务这 3个应用程 序安装到${tomcat.home}/webapps 目录,对应的 war包文件是 jbpmeditor.war, jbpm-console.war,gwt-console-server.war。 3) 安装用于 jBPM控制台流程分析报表的 BIRT(开源报表项目)模板及其依赖 文件到${tomcat.home}/birt目录。 4) 最后,在${tomcat.home}/conf/server.xml 文件中配置用于 jBPM控制台用户身 份认证的数据源。 …… …… 2.6 基于 Web 的 Signavio 流程设计器 从 jBPM3开始,这个著名的开源项目就因为没有基于浏览器的图形化流程设计器 而饱受用户诟病,没错,进入了Web时代,流程设计器没有理由总是停留在 CS(Client Server)阶段。有很多公司认识到了这一点,因此市场上的 jBPM Web流程设计器并不 少见,但它们或不开放源代码、或基于特定的业务、或存在支持升级问题。总之,没 有 RedHat JBoss jBPM的官方认证和支持,您用着总会不放心,不是吗? 现在您不用担心了。从 Version 4.1开始,jBPM官方发布包绑定了一个完全开源的 基于Web的 BPM流程设计器,代号为 Signavio。 2.6.1 jBPM Web 流程设计器简介 Signavio Web流程建模工具是和 JBoss jBPM团队、德国的 Signavio公司和 Hasso Plattner Institute(HPI软件工程研究所)紧密协作的成果。Signavio项目基于Web建模 工具 Oryx,Oryx是由 HPI主持的开源项目。HPI和 Signavio公司都会持续地在 Oryx 项目和Signavio项目中投入人员和资金的支持。关于这两个项目,您可以在Google Code 上找到:http://code.google.com/p/signavio-oryx-initiative/。 图 2-1 所示便是 Signavio 流程设计器的使用界面,它能很好地支持 IE 和 Firefox 浏览器。 使用 Signavio 可以让业务流程分析人员通过浏览器建立业务流程模型。Signavio 输出的流程文件格式正是 jPDL。这意味着 Signavio设计出的流程定义文件可以直接导 入到 Eclipse GPD,反之亦然。流程定义文件会保存在硬盘上,位于 $jbpm_home/signavio-repository中,这个参数在安装脚本中有默认值。 注意:Signavio 是基于 web 的业务流程建模工具,绑定在 jBPM 中,是 100%开 源的(基于 MIT 开放源代码许可证)。同时,Signavio 公司也提供商业版的同名工具, 毫无疑问,商业版的 Signavio 有更多的功能。 34 | jBPM 工作流应用开发指南 图 2-1 Signavio——基于 Web 的流程设计器 2.6.2 独立安装 Signavio 如本章开始所提及的,您可以使用 $jbpm_home/install 中的 demo.setup.tomcat(or jboss) 脚本任务把 Signavio安装到您的Web容器(Tomcat or JBoss)中去。 这里还有几种把 Signavio独立安装到Web容器中的方式: z 使用 $jbpm_home/install 中的 install.signavio.into.tomcat(or jboss) 脚本任务, 安装到默认的Web容器(Tomcat or JBoss)中。 z 复制 $jbpm_home/install/src/signavio/jbpmeditor.war 到您的目标Web容器中。 注意:不同的 Web 容器可能会存在些兼容性的小问题,例如,Signavio 安装到 默认的 Tomcat6 后,在流程设计中输入中文字符保存后,再打开,可能会造成无法 加载的问题。 2.6.3 配置 Signavio Signavio 配置很简单,大多数参数在 web.xml 中修改即可,您可以在 jbpmeditor.war/WEB-INF/ 目录中找到。其中最重要的是 fileSystemRootDirectory 参 数。这个参数的值必须为一个物理上存在的本地目录,它指定了流程定义文件(即 第 2 章 安装和配置 jBPM4 | 35 *.jpdl.xml 文件)存储的位置,以下是此参数的 web.xml片段: …… Filesystem directory that is used to store models fileSystemRootDirectory C:/opensource/jboss/jbpm-4.3/signavio-repository …… 如果使用$jbpm_home/install中提供的安装脚本,fileSystemRootDirectory会被默认 地设置在$jbpm_home/signavio-repository目录中。 2.7 用户自定义 jBPM Web 应用程序 如果您希望创建一个基于 jBPM 的 Web 应用程序供您自由发挥,可以使用 create.user.webapp 这个脚本任务。正如 2.3.1 关于配置文件中说明的,这将在 ${jbpm.home}/install/generated/user-webapp 目录中创建一个最简的 jBPM JavaEE Web 应用程序……可以理解为创建一个“jBPM Blank Project”。 提示:如果您在 JBoss AS 或其他包含 jta.jar 的应用服务器上部署了您的自定义 jBPM Web 应用程序,需要把文件 ${jbpm.home}/install/generated/user-webapp/WEB- INF/lib/jta.jar 删除。 2.8 安装 jBPM 数据库 安装脚本包含了安装数据库的必要操作,例如创建表,删除表也是可选的。 使用任何数据库操作的前提条件是在${jbpm.home}/install/jdbc目录的.properties文 件中指定连接参数。 下面以MySQL数据库系统为例说明。 36 | jBPM 工作流应用开发指南 2.8.1 新数据库安装 在一张白纸上写字很容易!同样安装一个全新的 jBPM数据库也不难。 z 执行${jbpm.home}/install 目录下的脚本任务 create.jbpm.schema 单独创建 jBPM数据库表,当然,先要在 DBMS上建立好“库”。作为创建表和约束的 一部分,JBPM4_PROPERTY表会被初始化一些种子数据,例如当前的 jBPM 引擎版本(key db.version)和 ID生成器版本(key next.dbid)。 z 执行 drop.jbpm.schema 脚本任务删除表结构。注意这个操作会删除 jBPM 数 据库表中的所有数据。 2.8.2 升级旧的数据库 升级数据库,兼容旧版本会麻烦点。需要注意的是,本书使用的是 jBPM4.3版本, 升级只在 jBPM4系列中进行。至于升级 jBPM3到 jBPM4的数据库,最好根据您的业 务单独做个 ETL(Extract, Transform, Load,数据的萃取转换装载,数据挖掘的前置工 作)。 执行 ${jbpm.home}/install 目录下的 upgrade.jbpm.schema 脚本任务开始升级。 升级是一个两步操作: 1) 添加新版本中增加的表、列以及约束。 2) 插入种子数据。 jBPM4.3版本前的一些数据库升级要点: z 从 4.0到 4.1,表 JBPM4_VARIABLE添加了一个新列 CLASSNAME_ 用来支 持设置流程变量的值的自定义类型和 Hibernate 类型映射。这个列是可以为 null的,因为这个功能在 4.0中没有支持,所以支持没有初始值。 z 从 4.1 到 4.2 版本, jBPM 表现出了强大的兼容性潜力,这包括 JBPM4_PROPERTY 表的横空出世。 „ 一个新的表 JBPM4_PROPERTY 被用来保存流程引擎环境相关的数据。 „ jBPM版本保存在 JBPM4_PROPERTY表中,key db.version 字段被用来 在未来的发布版本中作为区分标识。 „ ID 生成策略是完全跨数据库系统的。下一个有效的 ID 是通过搜索所有 包含主键的表计算出的,它被保存在 JBPM4_PROPERTY 表中的 key 第 2 章 安装和配置 jBPM4 | 37 next.dbid 字段。 „ 流程语言被设置为 jpdl-4.0,作用于所有已经存在的流程定义,对应 JBPM4_DEPLOYPROP表中的 key langid字段。jPDL解析器根据 langid 属性来读取流程定义,以此支持向后兼容。 2.9 安装图形化流程设计器(GPD) 所谓图形化流程设计器,即 Graph Process Designer(以下简称 GPD),使用户能 够通过图形拖曳、属性设置等可视化的方式进行业务流程设计,建立并展现业务流程 模型。这个模型在 jBPM4中一般为 .jpdl.xml 文件,遵循 jPDL规范,此文件即“流程 定义”文件,在运行时由工作流引擎解释执行,生成“流程实例”…… jBPM的经典 GPD一直使用 Eclipse(Eclipse是著名的跨平台自由集成开发环境, 即 Integrated Development Environment-IDE。您可以在 www.eclipse.org 上了解关于 Eclipse的更多信息)作为其客户端支撑平台,本节将介绍如何获取和安装 Eclipse,并 把 GPD插件安装到 Eclipse IDE之上。 2.9.1 获取 Eclipse 使用 jBPM4.3 GPD,需要Eclipse IDE for Java EE Developers 3.5.0版本(jBPM4.0 依赖于 Eclipse 3.4版本)。 可以选择之前介绍的脚本安装或手工下载安装这个 Eclipse版本,大小约 163 MB。 注意,Eclipse传统版本无法满足 GPD的使用要求,因为它没有 XML编辑器,但 是 Eclipse IDE for Java Developers 3.5.0可以使用 GPD。 2.9.2 在 Eclipse 中安装 GPD 插件 使用 Eclipse 软件升级(Software Update)功能安装 GPD 是非常简单的。文件 install/src/gpd/jbpm-gpd-site.zip 就是 GPD的站点更新存档(archived update site)。 在 Eclipse里添加 GPD站点更新存档的步骤: 1) 选择 Help→Install New Software命令。 2) 单击 Add按钮。 38 | jBPM 工作流应用开发指南 3) 在 Add Site对话框中,单击 Archive按钮。 4) 找到 install/src/gpd/jbpm-gpd-site.zip文件,并单击 Open按钮。 5) 在 Add Site对话框中单击 OK按钮,返回到 Install对话框 6) 选中出现的 jPDL 4 GPD Update Site选项。 7) 单击 Next按钮然后单击 Finish按钮。 8) 接受软件许可证 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。 9) 询问时重启 Eclipse。 图 2-2所示是主要操作步骤的示意图。 图 2-2 在 Eclipse 里添加 GPD 站点更新存档 2.9.3 配置 jBPM 运行环境 为了方便地基于 jBPM 开发流程应用,需要在 Eclipse 中配置其运行环境,步骤 如下: 第 2 章 安装和配置 jBPM4 | 39 1) 选择 Window→Preferences命令。 2) 选择 JBoss jBPM→jBPM 4→Runtime Locations选项。 3) 单击 Add 按钮。 4) 在 Add Location 对话框中输入一个名称,例如 jbpm43,然后单击 Search 按钮。 5) 在 Browse For Folder 对话框中,选择 jBPM安装目录,然后单击 OK按钮。 6) 在 Add Location 对话框中单击 OK按钮。 图 2-3所示是主要操作步骤的示意图。 图 2-3 在 Eclipse 中配置 jBPM 运行环境 接下来为您的工作空间定义一个 jBPM用户库(User Libraries)吧,它可以被用来 引用 jBPM的所有依赖库文件。如果您新建一个 jBPM工程,只需要将这个 jBPM用户 库添加到 build path下即可。 1) 选择Windows→Preferences命令。 2) 选择 Java→Build Path→User Libraries选项。 40 | jBPM 工作流应用开发指南 3) 单击 New按钮。 4) 输入名称 jBPM Libraries 5) 单击 Add JARs按钮。 6) 找到 jBPM安装目录下的 lib目录。 7) 选择 lib目录下的所有 jar文件,并单击 Open按钮。 8) 选中刚才新建的 jBPM Libraries。 9) 重新单击 Add JARs按钮。 10)在 jBPM的安装目录下选择 jbpm.jar文件。 11)单击 Open按钮。 12)在 jbpm.jar下选中 Source attachment。 13)单击 Edit按钮。 14)在 Source Attachment Configuration对话框中,单击 External Folder按钮。 15)找到 jBPM安装目录下的 src目录。 16)单击 Choose按钮,为 jbpm.jar关联源代码。 17)单击两次 Ok按钮关闭所有对话框,完成。 图 2-4所示是主要操作步骤的示意图。 图 2-4 为工作空间定义 jBPM 用户库 第 2 章 安装和配置 jBPM4 | 41 2.9.4 添加 jPDL4 Schema 校验 正如之前我们所了解的,jPDL是 jBPM独有的流程定义语言,它以 XML文件的 形式描述业务流程。 在 jBPM3即 jPDL3中,要描述一个业务流程,系统需要产生两个文件: ● gpd.xml——这个文件记录业务流程的图形化表述,即一个单纯的图形坐标指 示文件。 ● processdefinition.xml——这才是真正的 jPDL文件,描述业务流程的定义。 现在,在 jBPM4即 jPDL4体系设计中,已经将上述两个文件合二为一,即在 jPDL 中支持图形坐标位置的描述,开发者再也不用同时维护两个流程定义描述文件了,这 是一个有效的简化。 由于 jBPM 官方提供的图形化流程设计器功能并不是特别全面,很多设计并不能 全在图形界面下完成。因此,在很多情况下,我们需要直接编辑 jPDL的 XML源代码, 所以,最好为 jPDL XML指定 Schema,这样在编辑流程定义源代码的时候,可以通过 编辑器快捷键“Alt+/”快速呼出语法提示,同时这个 Schema 关联还可以帮助您校验 出 jPDL的语法错误,帮助您更为高效地编写流程定义 XML源代码。 在 Eclipse中配置此 Schema的过程如下: 1) 选择Windows→Preferences命令。 2) 选择 XML→XML CataLog选项。 3) 单击 Add按钮。 4) 将添加 XML Catalog Entry的窗口打开。 5) 单击 File System按钮。 6) 在打开的对话框中,选择 jBPM4安装目录下 src文件夹中 jpdl.xsd文件。 7) 单击 Open(打开)按钮。 8) 关闭所有的对话框,完成。 图 2-5所示是主要操作步骤的示意图。 2.9.5 导入和使用范例 掌握一门新技术,最高效的手段就是在理解概念的基础上,自己亲自动手实验, 42 | jBPM 工作流应用开发指南 不是吗? 图 2-5 在 Eclipse IDE 中添加 jPDL4 Schema 校验 在 jBPM4的软件包中,含有丰富的范例流程和测试代码,下面介绍如何将这些范 例导入您的 Eclipse IDE,成为一个 examples工程,供您学习和研究。 1) 选择 File→Import命令。 2) 选择 General→Existing Projects into Workspace选项。 3) 单击 Next按钮。 4) 单击 Browse按钮去选择 jBPM4安装目录下的 examples子目录。 5) 单击 Ok按钮。 6) 范例工程 examples会被识别并准备导入。 7) 单击 Finish按钮,完成。 在配置了 jBPM4用户依赖库并且导入了范例工程后,范例中所有的单元测试类(继 承自 org.jbpm.test.JbpmTestCase)都可以作为 JUnit Test运行了,在测试类或方法上单 击鼠标右键,选择 Run As→JUnit Test命令即可。 第 2 章 安装和配置 jBPM4 | 43 设置完成了,还等什么呢?运行几个范例试试看吧! 提示:您可以使用 Eclipse + Ant 来处理范例流程的发布。首先,选择 Window →Show View→Other→Ant→Ant 命令,打开 Ant 视图;然后,将范例工程中的 Ant 构建文件 build.xml,从包视图拖曳到 Ant 视图,即可使用其中的 Ant 构建任务(target) 来发布范例流程到目标服务器上。关于部署流程的细节,可参见第 4 章 把流程布置 到服务器上去。 2.10 例程:jBPM Hello World 在本例程中,我们将设计一个最简单的流程定义——“Hello World”。 步骤如下: 1) 打开已经安装 GPD的 Eclipse,新建一个“jBPM4 Process Definition”(jBPM4 流程定义文件),命名为 process.jpdl.xml,如图 2-6所示。 图 2-6 新建 jBPM4 流程定义文件 44 | jBPM 工作流应用开发指南 2) 进入流程定义设计界面,单击空白的流程图,在属性窗口中设置流程名称为 “HelloWorld”。 3) 从左侧的组件工具栏(Components)中拖曳 start活动、state活动、end 活动 至流程图。 4) 单击这 3个活动,在其属性窗口中分别命名为“start”、“state”、“end”。 5) 从组件工具栏中选择 transition转移线连接 start活动至 state活动、state活动至 end活动。完成设计后,如图 2-7所示。 图 2-7 HelloWorld 流程定义设计示意图 6) 使用 GPD顶部的 按钮为流程图显示网格线,用于对齐;还可以使用 、 两个按钮使流程图自动布局。 最终,单击 GPD左下侧的“Diagram”页签,可以查看“HelloWorld”流程定义的 图形化表达,如图 2-8所示。 第 2 章 安装和配置 jBPM4 | 45 图 2-8 Hello World 流程定义图形 单击 GPD左下侧的“Source”页签,可以查看流程图对应的 jPDL源代码: 2.11 小结 通过本章的内容,您学会了如何安装 jBPM4的开发运行环境到目标操作系统,并 且可以根据自己的安装需求做出一些个性化配置,最后通过一个简单的 Hello World例 程向世界宣布——jBPM,我来了! 下一章将介绍使用 jBPM 开发应用程序的第一个步骤——使用 jBPM 图形化流程 设计器(GPD)来设计业务流程。
本文档为【安装和配置jBPM4】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_376456
暂无简介~
格式:pdf
大小:752KB
软件:PDF阅读器
页数:22
分类:互联网
上传时间:2011-11-19
浏览量:18