快速入口
快速进入jBPM Approval Demo首页面
我们可以通过如下链接快速访问运行在Red Hat Paas OpenShift上的jBPM Approval Demo:
- http://jeedemo-ksoong.rhcloud.com/jbpm-approval
- https://jeedemo-ksoong.rhcloud.com/jbpm-approval
注意:https是为了穿透中国大陆防火墙,如果http无法访问,则通过https访问
jBPM Approval Demo测试步骤
本部分给出测试jBPM Approval Demo的步骤。
1. 登录jBPM Approval Demo首页面如本文开头所示。
2. 在首页面添加问题单名称和申请人名字提交,如下
3. 点击John’s Task,在Task列表中点击Approve,如下
4. 点击Mary’s Task,在Task列表中点击Approve,如下
5. 点击Audit,在Audit视图中查看流程执行的日志,如下
关于jBPM Approval Demo
jBPM Approval Demo中用到的jBPM流程如下图所示:
如流程所示:
- 一个问题单必须需要被PM和HR允许后才可以结束
- 一个问题单首先需要被PM允许,才能被HR允许(注意上面测试中john是PM,mary是HR)
jBPM Approval Demo的整体架构如下:
- jBPM使用关系数据库存储运行状态数据
- Java EE应用使用JBPM加载jBPM流程(approval-demo.bpmn)
- Java EE应用使用分布式缓存Infinispan存储数据
jBPM Approval Demo是一传统的Java EE应用,它的业务逻辑就是审批一个问题单流程,而这一业务逻辑被jBPM所驱动。Java EE应用中所需要的数据保存在分布式缓存Infinispan中,但jBPM通过JPA将所需要的数据保存在关系数据库。
jBPM Approval Demo源代码及编译
jBPM Approval Demo源代码连接(https://github.com/kylinsoong/jBPM-Drools-Example/tree/master/jbpm/approval)。
编译jBPM Approval Demo源代码分两步:
1. 下载源代码
jBPM Approval Demo代码位于github,首先需要github配置完成,具体参照(JBoss 系列一:软件安装及资料下载),具体下载过程
git clone git@github.com:kylinsoong/jBPM-Drools-Example.git2. 编译代码
我们使用Maven编译,首先我们需要完成Maven配置,具体参照(JBoss 系列一:软件安装及资料下载),进入到jbpm/approval目录执行:
mvn clean install以上步骤完成 jbpm-approval-demo.war文件会生成,具体路径为jbpm/approval/target/jbpm-approval-demo.war。
在JBoss上运行jBPM Approval Demo
使用(JBoss 系列三:使用4种方式部署应用到JBoss7/WildFly)中的任意一种方法部署jbpm-approval-demo.war到JBoss,部署成功后使用http://localhost:8080/jbpm-approval可以进入到jBPM Approval Demo首页面。
在Red Hat Paas OpenShift上运行jBPM Approval Demo
我们分六个步骤完成在Red Hat Paas OpenShift上运行jBPM Approval Demo。
1. 注册一个Red Hat OpenShift帐号(https://openshift.redhat.com)
2. 安装OpenShift客户端工具终端,并进行初始化配置,具体参照Red Hat OpenShift Documents
3. 使用jbossas-7 Cartridge在OpenShift上创建一个App,具体参照OpenShift用户手册。
4. 克隆第三步创建的应用到本地磁盘,deployments目录将会存在于$YOUR_APP_NAME目录下面,将jbpm-approval-demo.war拷贝到deployments目录。
5. 使用git commit和push命令将jbpm-approval-demo.war提交到OpenShift,具体参照OpenShift用户手册。
6. 通过http://<your app name>-<your namespace>.rhcloud.com/jbpm-approval/访问你所提交的应用