JBPM5.1入门学习
成都天府软件园有限公司JBPM5.1 入门学习当前版本 文档编号 总页数 编制人0.10密级5 文艺正文页数 评审人4附录页数 批准人0编制日期2011.9.7评审日期批准日期模板文档编号成都天府软件园 外包解决方案中心JBPM5.1 入门学习目 录1 简介 ........................................................................................................................................... 3 1.1 1.2 1.3 1.4 1.5 1.6 2 什么是 JBPM ............................................................................................................................ 3 概述 ......................................................................................................................................... 3 该版本的改进 ......................................................................................................................... 4 ECLIPSE 设计器 ......................................................................................................................... 5 基于 WEB 的设计器 .................................................................................................................. 6 JBPM 控制台 ............................................................................................................................ 6入门 ........................................................................................................................................... 7 2.1 2.2 2.3 下载 ......................................................................................................................................... 7 资源 ......................................................................................................................................... 7 环境准备 ................................................................................................................................. 82.3.1 2.3.23安装 JDK .......................................................................................................................... 8 安装 Ant .......................................................................................................................... 8DEMO(官方例子)学习 ............................................................................................................ 8 3.1 3.2 3.3 3.4 3.5 下载安装包 ............................................................................................................................. 8 启动 DEMO ................................................................................................................................ 8 学习使用 ECLIPSE 设计器 ........................................................................................................ 9 学习使用 JBPM 控制台 ......................................................................................................... 10 学习使用 DROOLS-GUVNOR 设计器............................................................................................. 124用 TOMCAT+SSH+JOTM+MYSQL+JBPM 移植 DEMO ......................................................................... 13 4.1 环境准备 ............................................................................................................................... 134.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.64.2安装 JDK ........................................................................................................................ 13 安装 Ant ........................................................................................................................ 13 安装 Eclipse ................................................................................................................ 14 安装 Tomcat .................................................................................................................. 14 安装 MySql .................................................................................................................... 14 下载 Jotm ...................................................................................................................... 14 修改 jbpm 相关的数据库配置 ..................................................................................... 15 第二次运行时注释掉以下代码 ................................................................................... 16 创建 jbpm 的 web 工程 ................................................................................................. 16 导入 SSH 相关的依赖 ................................................................................................... 22 导入 jbpm 相关的依赖 ................................................................................................. 23 使用 jotm 配置 tomcat 数据源以支持 JTA ............................................................... 24 Jbpm 相关配置文件更新 .............................................................................................. 28 Java 服务器端编码 ...................................................................................................... 30 Jsp 客户端编码 ............................................................................................................ 49第1页,共70页移植 HUMAN TASK SERVICE PROJECT ............................................................................................ 154.2.1 4.2.24.3移植 WF PROJECT...................................................................................................................... 164.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.3.84.4Struts 和 spring 的配置 ............................................................................................ 51 启动 Demo Human Task Service ................................................................................ 53 启动 Tomcat .................................................................................................................. 53 运行 Demo ...................................................................................................................... 54部署和运行 ........................................................................................................................... 534.4.1 4.4.2 4.4.3附录 A:MYSQL 安装图解 .............................................................................................................. 58 一、MYSQL5.1 安装 ........................................................................................................................ 58 二、配置 MYSQL SERVER ................................................................................................................ 62第2页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习1简介 1.1 什么是 JBPM JBPM,全称是 Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、 工作流、 服务协作等领域的一个开源的、 灵活的、 易扩展的可执行流程语言框架。 jBPM 是公开源代码项目, 它使用要遵循 LGPL(GNU Lesser General Public License )和 EULA(JBoss End User License Agreement)协议。当前最新版本为 5.1。 1.2 概述 jBPM 的核心是使用纯 Java 编写的轻量级、可扩展的工作流引擎,你可以通过该引擎使 用最新的 BPMN 2.0 规范执行业务流程。jBPM 能够运行在任何 Java 环境中,既可以嵌入到 应用中,也可以作为服务运行。除此之外,它还通过大量工具对整个生命周期中的业务流程 提供支持,它面向开发者与业务用户。这些工具包括 Eclipse 插件、基于 Web 的设计器、仓 库以及管理控制台等等。 jBPM5 基于 BPMN 2.0 规范,支持业务流程的完整生命周期(从执行到监控与管理) 。当 前的 jBPM5 提供了开源的业务流程执行与管理,具体包括: 1) 2) 3) 4) 5) 1) 2) 3) 4) 5) 6) 可嵌入、轻量级的 Java 流程引擎,支持原生 BPMN 2.0 的执行; 可以在 Eclipse(面向开发者)与 Web(面向业务用户)中对 BPMN 2.0 流程进行建 模; 可以通过 Guvnor 仓库与 Web 控制台进行流程的协作、监控与管理; 通过独立的 WS-HumanTask 服务实现用户之间的交互; 与业务规则与事件处理紧密、强大的集成。 基于 Eclipse 与 Web 的编辑器,能以图形化的方式创建业务流程(拖拽方式) ; 基于 JPA/JTA 的可插拔的持久化与事务控制; 支持流程实例管理、任务列表与任务表单管理及报表的管理控制台; 可选的流程仓库,可以部署流程; 历史日志(用于查询/监控/分析) ; 与 Seam、Spring、OSGi 等的集成。在核心引擎之上,jBPM 提供了大量的特性与工具以在整个生命周期中支持业务流程:第3页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习1.3 该版本的改进 该版本重要的改进如下所示: 1) 2) 基于 Web 的设计器得到了扩展以完整支持 BPMN 2.0, 现在你可以在 Eclipse 与 Web 编辑器之间来回切换。它现在还支持领域特定的结点,能够嵌入到其他应用中; 新的 jbpm-examples 模块包含了大量的示例流程,展现了 jBPM 的众多特性,如用 户任务(包括数据传递与任务表单) 、循环、多实例、基于规则的集成等等。感兴 趣的读者可以在 jBPM 的博客上深入了解这些示例; 3) 4) 5) 改进的测试与调试能力,这样你就可以轻松使用 JUnit 测试流程了; 对文档进行了重构、更新和扩展,并且新增了概览与起步这两章内容。未来一段时 间,jBPM 的文档还会得到进一步的更新,读者可以到 jBPM 站点上查看相应动态; 新的 BPMN 2.0 Eclipse 插件也进行了重要的更新。该编辑器的目标旨在支持完整的 BPMN 2.0 规范。 目前相关工作还在继续, 但你已经可以使用它创建可执行的 BPMN2 流程并在 jBPM5 上执行。 未来几个月内, jBPM 团队还将继续改进该插件的可用性。 除此之外,jBPM 5.1.0 还有如下一些小的特性增强: 1) 2) 3) 4) 在将新流程部署到 Guvnor 仓库时,jbpm-console 会自动对流程进行同步; 简化的用户任务及表单的数据传递; 扩展的 BPMN2 引擎,支持重复定时器; 支持多线程。第4页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习1.4 Eclipse 设计器 Eclipse 设计器是一个 EclipseI IDE 插件,允许你在开发环境集成你的业务流程。它 是面向开发者的一个可视化图形编辑器(可以使用拖拽的方式) ,有很多向导帮助你进行业 务流程的上手制作。它包含以下一些特性: 1) 2) 3) 4) 5) 6) 7) 8) 9) 创建一个新的 JBPM 项目的向导; 适用于 BPMN 2.0 流程的图形化编辑器; 可在你自己的特定领域的节点进行插入; 验证; 运行时支持(所以你可以选择任何你想使用的那个版本) ; 图形化的调试, 可以看到所有正在运行的选中的对话的流程实例, 可视化一个具体 的实例的当前状态,等。 Audit view:获得在运行时发生了什么的一个概述 单元测试你的流程 和 knowledge repository 进行集成。第5页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习1.5 基于 Web 的设计器 基于 Web 的设计器允许你在 Web 环境建立你的业务流程。 它是针对企业用户, 提供了一 个图形化编辑器查看和编辑您的业务流程 (使用拖放)类似 Eclipse 插件。 , 它支持在 Eclipse 编辑器和网络设计器之间进行来回切换。或者,你可以使用一个或更多的 knowledge repositorie 来存储你的业务流程(和其他 相关的东西) 。网络设计器集成在 Guvnor repository,它是针对企业用户并允许你管理你 的所有基于不同应用的流程。它支持: 1) 2) 3) 4) 库服务:储存您的业务流程及相关文物,它使用了数据仓库,并且支持版本控制, 可当作文件系统进行远程访问,使用 REST 服务,等; 基于 Web 的用户界面:面向企业用户来管理您的业务流程,支持可视化(编辑) 的流程(网络设计集成在这里) ,但也支持分类,情景测试,部署,等; 协作功能:可有多个角色(例如商业用户和开发人员)一起工作来进行流程定义; knowledge agent:基于库中的流程定义轻松创建新会话。当新的流程被部署时,它 也支持(可选)动态更新所有会话。 1.6 JBPM 控制台 业务流程可以通过一个 Web 控制台来进行管理。它是针对企业用户,其主要特点是: 1) 2) 3) 流程实例管理:开始新的流程实例,得到正在运行的流程实例名单,目视检查一个 特定流程的状态,等等。 任务管理:可以列出所有您当前的任务(无论是分配给你或你可能要求) ,完成任 务的任务清单(使用定制的任务形式) ,等。 报告:使用动态生成的(可定制)报告方式获得应用程序的状态和/或系统的状态 的概述,这给你一个 KPI 的概述。第6页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习2入门 2.1 下载 All releases can be downloaded from SourceForge(http://sourceforge.net/projects/jbpm/files/). Select the version you want to download and then select which artefact you want: 1) 2) 3) 4) 5) 6) 7) bin: all the jBPM binaries (jars) and their dependencies src: the sources of the core components gwt-console: the jbpm console, a zip file containing both the server and client war docs: the documentation examples: some jBPM examples, can be imported into Eclipse installer: the jbpm-installer, downloads and installs a demo setup of jBPM installer-full: the jbpm-installer, downloads and installs a demo setup of jBPM, already contains a number of dependencies prepackages (so they don't need to be downloaded separately) 2.2 资源 官方网站:http://www.jboss.org/jbpm 英文文档:http://www.jboss.org/jbpm/documentation第7页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习2.3 环境准备 2.3.1 安装 JDK 所有 JAVA 开发第一个需要安装的, 没什么好说的。 记得把系统变量 JAVA_HOME 设上。 2.3.2 安装 Ant Ant 是使用 jBPM 必须的一个工具。 jBPM 中的很多操作都要用到 Ant 。 安装方法: 1) 2) 3) 4) 先 下 载 : http://archive.apache.org/dist/ant/binaries/ , 选 一 个 如 : apache-ant-1.8.2-bin.zip 。 解压到 D:\jhf_work\jbpm\ant\apache-ant-1.8.2 (当然其他目录也可以) 。 设置如下系统变量: ANT_HOME= D:\jhf_work\jbpm\ant\apache-ant-1.8.2 。 把 %ANT_HOME%\bin 加入到系统变量 PATH 中。3DEMO(官方例子)学习3.1 下载安装包 首先,你需要下载安装版本。有 2 个版本,一个完整的安装程序(其中已包含了很多在 安装过程中必要的依赖)和最小安装程序(其中只包含安装程序,将下载所有的依赖) 。一 般来说,最好下载完整安装版本:jBPM-{version}-installer-full.zip,以下链接可以下 载: http://sourceforge.net/projects/jbpm/files/jBPM 5/ 3.2 启动 DEMO 将下载到的最新安装包(jbpm-5.1.0.Final-installer-full.zip)解压缩到自己的工 作 目 录 ( D:\jhf_work\jbpm\jbpm-installer ) 并 进 入 dos 控 制 台 , 进 入 工 作 目 录 , (D:\jhf_work\jbpm\jbpm-installer) ,然后输入 ant install.demo。如下图所示:第8页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习之后将执行以下操作:o o o o o o oDownload JBoss AS Download Eclipse Install Drools Guvnor into JBoss AS Install Oryx Designer into JBoss AS Install the jBPM gwt-console into JBoss AS Install the jBPM Eclipse plugin Install the Drools Eclipse plugin这里需要注意的是,默认情况下,它并不下载 Eclipse 的 BIRT 插件,需要修改 build.properties 文件中 jBPM.birt.download 属性为 true 才会下载。 当上述过程完成后,DEMO 启动运行所需的整个环境就安装完成了。接下来,就执行 ant start.demo 来启动 DEMO 相关的所有组件,将执行以下操作:o o o oStart the H2 database Start the JBoss AS Start Eclipse Start the Human Task Service完成后,我们就可以通过以下这些方式来学习 DEMO 相关的工具了。3.3 学习使用 Eclipse 设计器 The following of how to run a simple demo process in Eclipse. It shows you:oHow to import an existing example project into your workspace, containingscreencast(http://people.redhat.com/kverlaen/install-eclipse-jbpm.swf) gives an overviewo o oa sample BPMN2 process for requesting a performance evaluation a sample Java class to start the processHow to start the process第9页,共70页成都天府软件园 外包解决方案中心 Do the following:JBPM5.1 入门学习oOnce Eclipse has opened, simple import (using st.java in the com.sample package (under . The jbpm-console in the demo setup currently loads all the process in the non-empty username / password (we disabled authentication for demo purposes). Thefollowing screencast (http://people.redhat.com/kverlaen/install-guvnor-jbpm.swf) gives an overview of how to manage your repository. It shows you:o o oHow to import an existing process (in this case the evaluation process) from eclipse into guvnor How to open up the evaluation process in the web editor How to build a package so it can be used for creating a session第12页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习If you want to know more, we recommend you take a look at the rest of the Drools Guvnor documentation. Once you're done playing:ant stop.demoand simply close all the rest.4用 TOMCAT+SSH+JOTM+MYSQL+JBPM 移植 DEMO 由于 DEMO(官方例子)的运行环境是 JBoss+GWT+H2,而不是大家使用的更多的TOMCAT+SSH +MYSQL,因此我做以下的事情,将 DEMO 移植到 TOMCAT+SSH +MYSQL,而 TOMCAT 中又不支持 JTA,因此需要引入一个第三方插件来支持,本例使用的是 JOTM。 4.1 环境准备 4.1.1 安装 JDK 同 2.3.1。 4.1.2 安装 Ant 同 2.3.2。第13页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.1.3 安装 Eclipse 使 用 3.2 中 下 载 安 装 的 Eclipse , 也 可 以 自 己 到 官 方 网 站 上 下 载 : http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/releas e/indigo/R/eclipse-jee-indigo-win32.zip,然后再安装一些插件:GEF-SDK、jBPM Eclipse plugins、Drools Eclipse plugins。 4.1.4 安装 Tomcat 下载 tomcat6: http://apache.etoak.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip, 然后解压 到自己的安装目录 (D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20) 。 4.1.5 安装 MySql 下 载 MySql ( http://www.mysql.com/downloads/mysql/5.1.html#downloads ): mysql-5.1.40-win32.msi。详细安装过程详见:MySql 安装图解.doc。 注意 root 密码也改为 root。 安装配置完成后,进入 MySql 控制台,创建数据库:mydb,如下图所示:4.1.6 下载 Jotm使用以下链接下载 ow2-jotm-dist-2.2.1-bin.tar.gz: http://forge.ow2.org/project/showfiles.php?group_id=19&release_id=3580第14页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.2 移植 Human task Service project 4.2.1 修改 jbpm 相关的数据库配置 1) D:\jhf_work\jbpm\jbpm-installer\runtime\jbpm-bam-5.1.0.Final.jar hibernate.cfg.xml,修改为以下: 中 的2)D:\jhf_work\jbpm\jbpm-installer\runtime\jbpm-human-task-5.1.0.Final.jar persistence.xml,修改为以下:中的3)将 mysql 驱动复制到 D:\jhf_work\jbpm\jbpm-installer\db\driver 将 mysql-connector-java-5.1.10-bin.jar 复制到 D:\jhf_work\jbpm\jbpm-installer\db\driver第15页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.2.2 第二次运行时注释掉以下代码 D:\jhf_work\jbpm\jbpm-installer\task-service\src\org\jbpm\DemoTaskService.java 中 加载用户和组相关的代码,在第二次运行时注释掉,否则会报数据库主键冲突错误:4.3 移植 WF project 4.3.1 创建 jbpm 的 web 工程 1) 创建 jbpm 的 web 工程第16页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习2)配置 server第17页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第18页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第19页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第20页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习3)完善工程的目录结构第21页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习如上图:创建 config、WebContent\web\test\page、src\META-INF、 \WebContent\WEB-INF\conf\test\spring4.3.2 导入 SSH 相关的依赖 在 WebContent\WEB-INF\lib 中导入以下 jar 包。第22页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.3.3 导入 jbpm 相关的依赖 在 WebContent\WEB-INF\lib 中导入以下 jar 包, 从 D:\jhf_work\jbpm\jbpm-installer\runtime 目录中。第23页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习其中重复部分需要保留最新版本,并且将 el-api-1.0.jar 剪切复制到 D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\lib,并删除 tomcat 下的 el-api.jar。4.3.4 使用 jotm 配置 tomcat 数据源以支持 JTA 1) 添加 jotm jar将 ow2-jotm-dist-2.2.1-bin.tar.gz 中 lib 下的 jar 复制到 tomcat 的 D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\lib 下第24页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习并剪切 web 工程下 lib 中的与上冲突的包到 tomcat 的 D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\lib 下2)复制 carol.properties将将 ow2-jotm-dist-2.2.1-bin.tar.gz 中\examples\tomcat 下 carol.properties 复制到 tomcat 的 D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\lib 下。 确保 carol.jvm.rmi.local.call=false第25页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习3)配置 JNDI 数据源 由于使用的是 Eclipse wtp 插件来部署与启动 tomcat 应用,因此需要在D:\jhf_work\eclipse-SDK-3.5.1-win32\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.serv er.core\tmp0\conf 下的 context.xml 中配置 JNDI 数据源。如下所示:注意:factory=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 完成前面 4 大步后,tomcat 的 D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\lib 下的包变为:第26页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习Web 工程下 pyrethrumMQC\WebContent\WEB-INF\lib 下的包变为:第27页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.3.5 Jbpm 相关配置文件更新 在 web 工程 config 目录下创建以下文件:ChangeSet.xml:jbpm.console.properties:其中 jbpm.console.directory 制定 DEMO 的 Evaluation.bpmn 文件所在位置。 log4j.properties:第28页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习roles.properties:在 web 工程\src\META-INF 目录下创建以下文件:JBPMorm.xml:persistence.xml:第29页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习其中: java:comp/env/jdbc/testDS1与 context.xml 中配置 的数据源名称需要一致。 hibernate.transaction.manager_lookup_class 需要指定为 JOTM 的 class: org.hibernate.transaction.JOTMTransactionManagerLookup4.3.6 Java 服务器端编码 由于 DEMO 是运行在 GWT 上的,因此需要改造 jbpm-gwt-core-5.1.0.Final.jar,把它 移植到我们的工程中,需要创建的 java 文件如下所示:第30页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习ProcessManagement:第31页,共70页成都天府软件园 外包解决方案中心 TaskManagement:JBPM5.1 入门学习UserManagement:CommandDelegate 片断:第32页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第33页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习ProcessManagementImpl 片断:第34页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第35页,共70页成都天府软件园 外包解决方案中心 TaskManagementImpl 片断:JBPM5.1 入门学习第36页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第37页,共70页成都天府软件园 外包解决方案中心 UserManagementImpl:JBPM5.1 入门学习BaseAction:Transform:TransformImpl:ParticipantRef:第38页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习ProcessDefinitionRef 片断:第39页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习ProcessInstanceRef 片断:第40页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TaskRef 片断:第41页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TokenReference:第42页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TestJbpmCompleteTaskAction 片断:第43页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TestJbpmStartAction 片断:第44页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TestJbpmViewTaskAction 片断:第45页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习注意以上 vargs 中所传递的 KEY 值需要与 DEMO 的 Evaluation.bpmn 文件中的保持一致TestService 片断:第46页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习TestServiceImpl 片断:第47页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习第48页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.3.7 Jsp 客户端编码 需要创建的 jsp 文件如下所示:index.jsp:第49页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习personalTasks.jsp:success.jsp:第50页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习taskDetail.jsp:4.3.8 Struts 和 spring 的配置 在 web 工程的 config 目录下创建 struts.xml:第51页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习在 web 工程的 WebContent\WEB-INF\conf\test\spring 目录下创建 spring-test-action.xml:第52页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.4 部署和运行 以上工作全部完成后就可以在新的环境下部署运行 DEMO 了。 4.4.1 启动 Demo Human Task Service 进入 dos 控制台,进行以下操作:完成后 Demo Human Task Service 就启动了。 4.4.2 启动 Tomcat 在 Eclipse 中启动 Tomcat,如下:第53页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习4.4.3 运行 Demo 在浏览器中输入:http://localhost:8080/pyrethrumMQC/进入以下画面:注意 definition 中的值也需要与 DEMO 的 Evaluation.bpmn 文件中的保持一致:输入用户名:krisv,reason: Performance Evaluation,然后点击 StartProcess第54页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习成功后进入:输入 taskid:26,点击 ViewTask:成功后进入:第55页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习输入值,点击 complete:成功后进入:至此, 你已经使用 krisv 完成了一个流程中的一个任务, 到首页, 输入用户名: krisv, 然后点击 ViewTasks,可以看到刚才的任务已经没有了:第56页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习而在首页,输入用户名:john,然后点击 ViewTasks,可以看到 john 的任务多了一 个:继续操作,john 也可完成自己的任务。 再使用 mary 试试吧。至此 DEMO 的移植工作初步完成,如果你想创建完全属于自己的 jbpm,则可以在该基础上 再进行开发,Good Luck!第57页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习附录 A:MySql 安装图解一、MySQL5.1 安装打开下载的安装文件,出现如下界面:mysql 安装向导启动,点击“next”继续第58页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习选择安装类型, 有“Typical 默认) “Complete 完全) “Custom ( ”、 ( ”、 (用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉 安装过程。在“MySQL Server (MySQL 服务器) ”上左键单击, 选择“This feature, and all subfeatures, will beinstalled on local hard drive.”,即“此部第59页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动 指定安装目录。确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安 装。第60页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习正在安装中,请稍候,直到出现下面的界面。点击“next”继续,出现如下界面。第61页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习现在软件安装完成了,出现上面的界面,这里有一个很好的功能,mysql 配置向导,不用向以前一样, 自己手动乱七八糟的配置 my.ini 了,将“Configure the Mysql Server now” 前面的勾打上,点“Finish”结束 软件的安装并启动 mysql 配置向导。二、配置 MySQL Server点击“Finsh”,出现如下界面,MySQL Server 配置向导启动。第62页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习点击“next”出现如下界面,选 择 配 置 方 式 , “Detailed Configuration ( 手 动 精 确 配 置 ) ” 、 “Standard Configuration ( 标 准 配 置 ) ” , 我 们 选 择 “Detailed Configuration”,方便熟悉配置过程。第63页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习选择服务器类型,“Developer Machine(开发测试类,mysql 占用很少 资源) “Server Machine ”、 (服务器类型, mysql 占用较多资源) “Dedicated ”、 MySQL Server Machine(专门的数据库服务器,mysql 占用所有可用资源)”, 大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占 满。第64页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习选择 mysql 数据库的大致用途,“Multifunctional Database(通用多 功能型,好)”、“Transactional Database Only(服务器类型,专注于事务 处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简 单 , 主 要 做 一 些 监 控 、 记 数 用 , 对 MyISAM 数 据 类 型 的 支 持 仅 限 于 non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。对 InnoDB Tablespace 进行配置,就是为 InnoDB 数据库文件选择一个 存储空间,如果修改了,要记 住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对 数据库做个备份就没问题 了,这里不详述。我这里没有修改,使用默认位置,直接按“Next”继续。第65页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习选择您的网站的一般 mysql 访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20 个左右)”、“Online Transaction Processing(OLTP) (500 个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里 选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了, 按“Next”继续。第66页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习是否启用 TCP/IP 连接,设定端口,如果不启用,就只能在自己的机器上 访问 mysql 数据库了,我这 里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择 “启用标准模式”(Enable Strict Mode),这样 MySQL 就不会允许细小的语法 错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉 MySQL 以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。还有 一个关于防火墙的设置“Add firewall exception „„”需要选中,将 MYSQL 服务的监听端口加为 windows 防火墙例外,避免防火墙阻断。按“Next”继续。注意:如果要用原来数据库的数据,最好能确定原来数据库用的是什么 编码, 如果这里设置的编码和原来数据库数据的编码不一致,在使用的时候可能 会出现乱码。 这个比较重要, 就是对 mysql 默认数据库语言编码进行设置, 第一个是西文 编码,第二个是多字节的 通用 utf8 编码, 都不是我们通用的编码, 这里选择第三个, 然后在 Character Set 那里选择或填入“gbk”, 当然也可以用“gb2312”,区别就是 gbk 的字库容量大,包括了 gb2312 的所有 汉字,并且加上了繁体字、 和其它乱七八糟的字——使用 mysql 的时候,在执行数据操作命令之前运行一 次“SET NAMES GBK;”(运行一次就行了,GBK 可以替换为其它值,视这里的设 置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。 按“Next”继续。第67页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习选择是否将 mysql 安装为 windows 服务, 还可以指定 Service Name (服 务标识名称),是否将 mysql 的 bin 目录加入到 Windows PATH(加入后,就可以直接使用 bin 下的文件,而 不用指出目录名,比如连 接,“mysql.exe -uusername -ppassword;”就可以了,不用指出 mysql.exe 的完整地址,很方便),我这里全部打上了勾,Service Name 不变。按“Next” 继续。第68页,共70页成都天府软件园 外包解决方案中心JBPM5.1 入门学习这一步询问是否要修改默认 root 用户 (超级管理) 的密码 (默认为空) , “New root password”如果要修改,就在此填入新密码(如果是重装,并且之 前已经设置了密码,在这里更改密码可能会出错,请留空,并将 “Modify Security Settings”前面的勾去掉, 安装配置完成后另行修改密码) “Confirm , ( 再 输 一 遍 ) ” 内 再 填 一 次 , 防 止 输 错 。 “Enable root access from remotemachines(是否允许 root 用户在其它的机器上登陆,如果要安全,就不 要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新 建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一 般就不用勾了,设置完毕,按“Next”继续。确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置 生效。设置完毕,按“Finish”结束 mysql 的安装与配置——这里有一个比较常见的错误,就是不 能“Startservice”,一般出现在以前有安装 mysql 的服务器上,解决的办法,先保证以前安装 的 mysql 服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有 修改,照上面的操作;如果依然不行,将 mysql 安装目录下的 data 文件夹备份,然后删除, 在安装完成后, 将安装生成的 data 文件夹删除, 备份的 data 文件夹移回来, 再重启 mysql 服 务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。第69页,共70页