中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。
分类: Java
2013-02-02 20:09:57
1.1 流程定义
jbpm5提供了3个图形化设计器,其中两个是基于Eclipse的插件,一个是基于web的。
(1)Drools Flow的Eclipse插件
这个Eclipse插件允许用户创建、测试、调试BPMN2流程
(2)jBPM5 的Eclipse插件
这是一个用来全面支持BPMN2标准的Eclipse插件。现在还在开发中,仅支持有限的流程结构和属性,但是已经可以定义简单的BPMN2流程。
(3)基于web的Oryx Designer
Oryx Designer实现了基于web进行流程定义。这个设计器已经集成到Guvnor(Drools的一个子项目,可以将流程定义存储到其知识库中)。这个设计器可以用于创建、预览、更新BPMN2流程。
1.2部署
Guvnor可以作为一个知识库,用于存储流程、域模型以及业务规则。Guvnor提供了一个基于web的管理控制台,可以用该控制台检查、修改和测试存储于其中的“知识”。Oryx Designer已经集成到Guvnor的控制台中,Guvnor同时也支持用户协作,场景测试,分包管理。
1.3 执行
1.3.1 流程引擎
核心的引擎是一个Java实现的轻量级的工作量引擎:
(1)本地BPMN2 流程执行
(2)可插入式的持久化和事务处理
(3)审核及历史日志记录
(4)基于一个通用的流程引擎
该引擎当前还没有实现BPMN 2.0规范中所定义的所有节点类型和属性,但已经支持其中一个非常重要的子集,下表将列出当前已支持的元素:
(1)流程对象
1)事件
① 启动事件(无,有条件的,信号,消息,定时器)
② 结束事件(无,终止,错误,升级,信号,消息,补偿)
③ 中间捕捉事件(信号,定时器,条件,消息)
④ 中间抛出事件(无,信号,升级,消息,补偿)
⑤ 非中断边界事件(升级,定时器)
⑥ 中断边界事件(升级,错误,定时器,补偿)
2)活动
① 脚本任务(Java或MVEL表达式语言)
② 任务
③ 服务工作
④ 用户任务
⑤ 业务规则任务
⑥ 手动任务
⑦ 发送任务
⑧ 接收任务
⑨ 可重复使用的子流程(呼叫活动)
⑩ 嵌入式子流程
11 点对点子流程
12 数据对象
3)网关
发散:
① 独占(Java,MVEL或XPath表达式语言)
② 非独占(Java,MVEL或XPath表达式语言)
③ 并行
④ 基于事件
会聚:
① 独占
② 并行
4)线路
(2)数据
1)Java类型语言
2)流程属性
3)嵌入式子流程属性
4)活动属性
(3)连接对象
1)顺序流程
2.1 先决条件
首先需要安装JDK和ANT,并配置相应的环境变量。
下载地址:
JDK:
ANT:
根据自己的操作系统选择对应的版本下载,安装后配置JAVA_HOME,CLASSPATH及ANT_HOME。
2.2 installer安装
接着下载jbpm相关的安装文件(),下载地址:
2.3 demo安装
将installer解压后,命令行下进入到该解压后文件夹(如D:/jbpm5),执行以下脚本:
ant install.demo
执行该脚本后,ant会根据当前文件夹下的build.xml下载以下文件:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
其中前15个会下载到根目录中的lib文件夹下,而h2.jar会下载到db\driver下。其中lib文件夹下载完毕后共548MB,且使用ant下载比较慢,因此,全部下载完毕可能需要一段时间。如果下载过程中连接中断,则需要手工删除未下载完成的组件,并重新执行ant install.demo,再次执行时,ant会检查已下载的组件,已下载完成的不再重新下载,但由于只是判断文件是否存在,未进行文件大小及文件校验,因此,需要人工判断下载是否完成。(ant在发现文件存在时,会尝试对其进行解压,如果该文件下载未完成,则会加压失败,并停止安装。可从命令行上显示信息得知那个文件下载未完成)。
由于需下载的文件较多,因此,安装过程会比较耗时,而且用ant时,不支持断点续传,一旦连接断开,则正在下载的文件需要重新下载,因此可根据build.xml中的路径,使用下载工具进行下载,下载完成后,将文件放入对应的文件夹后再执行install.demo进行安装。(上面的文件列表中已附加下载地址,其中h2-1.2.124.jar下载完成后需要自己重命名为h2.jar)。
需要注意的是,上面所列的文件列表是我在windows下进行下载后的文件列表,build.xml中会通过当前的操作系统以及当前的jbpm installer的版本号进行eclipse及jbpm自身的bin、eclipse插件、gwt控制台的下载,及下载后的文件重命名;drools相关的文件也是一样,会根据版本号进行下载,因此,实际下载的文件可能会和我上面列表中的文件会有所不同。
如果你想要修改所使用的jbpm版本及drools的版本,可通过修改根目录下的build.properties文件,如修改其中的jBPM.version及jBPM.url,则在安装时,ant会根据所提供的版本号及url拼接成下载地址进行下载,你也可以自行下载完成后,根据实际下载的文件名称来修改这里的配置,因为ant会根据版本号进行文件名拼接,并进一步检查文件是否存在,以决定是否需要下载。同样在这里也可以设置jboss.home及eclipse.home。
当命令行提示安装成功并返回后,运行如下脚本:
ant start.demo
会自动启动h2、jboss、eclipse及JBPM人工任务服务(Human Task Service)
2.4 eclipse工具使用
现在可以使用eclipse导入jbpm自带的一个流程。方法为依次点击File -> Import ,在General category下选择“Existing Projects into Workspace”,找到位于jbpm安装根目录/sample/evaluation文件夹,将该项目导入。
演示视频地址为:
2.5 使用web管理控制台
jboss启动后,可通过以下地址访问jbpm自带的web控制台:
登录的用户名、密码均为krisv
在web控制台中可启动一个新流程、查看正在执行流程的当前状态、查看当前登录人待办任务以及并可以以报表形式查看、跟踪流程状态。
演示视频地址为:
2.6 使用Guvnor知识库
现在Guvnor知识库以及集成到jbpm中,并且在下一个releases版本中有所改进,现在的版本虽然已可以试用,但有下面一些局限:
(1)如果你要在Guvnor中创建一个BPMN2流程,通过“Create New -> New File ”并需要指定该文件的扩展名为.bpmn。
(2)流程设计器现在仅能在Google的Chrome浏览器中运行。
(3)现在还不能用一个基于Guvnor的package作为JBPM5的知识库。
(4)如果设计器不能保存或加载BPMN2的流程,请联系jBPM社区,并告诉我们问题如何出现,以便我们进行重现并加以改进。
Drools Guvnor的访问地址为:
使用非空的用户名密码登陆即可(为了进行demo,身份验证暂时失效)。
具体的使用细节,可参照Drools Guvnor提供的文档,下载地址为: