jbpm5 概述

这篇博客主要概述了jbpm5的使用,详细内容可以参考Drools Guvnor的官方文档,同时建议访问官网(www.5378114.com 丽江客栈)获取更多相关资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,并配置相应的环境变量。


  根据自己的操作系统选择对应的版本下载,安装后配置JAVA_HOME,CLASSPATH及ANT_HOME。


  2.2 installer安装


  接着下载jbpm相关的安装文件(jbpm-5.0-SNAPSHOT-installer.zip),


  2.3 demo安装


  将installer解压后,命令行下进入到该解压后文件夹(如D:/jbpm5),执行以下脚本:


  ant install.demo


  执行该脚本后,ant会根据当前文件夹下的build.xml下载以下文件:


  (1)birt-runtime-2_3_2_2.zip


  (2)designer-1.0.0.026-SNAPSHOT.war


  (3)drools-5.1.1-eclipse-all.zip


  (4)drools-5.1.1-guvnor.war


  (5)eclipse-SDK-3.6.1-win32.zip


  (6)emf-runtime-2.6.1.zip


  (7)emf-transaction-runtime-1.4.0.zip


  (8)emf-validation-runtime-1.4.0.zip


  (9)GEF-SDK-3.6.1.zip


  (10)gmf-sdk-2.3.1.zip


  (11)jboss-4.2.3.GA.zip


  (12)jbpm-5.0-SNAPSHOT-bin.zip


  (13)jbpm-5.0-SNAPSHOT-eclipse-all.zip


  (14)jbpm-5.0-SNAPSHOT-gwt-console.zip


  (15)slf4j-jdk14-1.5.11.jar


  (16)h2.jar


  其中前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提供的文档


如果想了解更多相关的资料请关注(www.5378114.com   丽江客栈)官网

目录 第一章 概述 1 1.1 什么是jBPM? 1 1.2 概览 2 1.3 核心引擎 3 1.4 Eclipse编辑器 4 1.5 基于Web的设计器 5 1.6 jBPM控制台 5 1.7 文档结构 6 第二章 获得开始 7 2.1 下载 7 2.2 获得开始 7 2.3 社区 8 2.4 资源 8 2.41许可证 8 2.42 源代码 9 2.4.3 从源文件构建 9 第三章 安装 9 3.1 必备的 9 3.2 下载 installer 9 3.3 演示安装 10 3.4 10分钟指南: 使用Eclipse工具 10 3.5 10分钟向导:使用jBPM控制台 12 3.6 10分钟指南:使用Guvnor知识库和设计器 13 3.7 如果遇到问题或有问题应该怎么去做 14 3.7 经常被问的问题 14 第四章:核心引擎的API 15 4.1 jBPM API 16 4.11 Knowledge Base 17 4.12 会话 17 4.13 事件 19 4.2. Knowledge-based API 21 第五章 核心引擎:基础 21 5.1 创建一个流程 21 5.1.1 Eclipse BPMN2.0图形编辑器插件 22 5.1.2 使用XML定义流程 22 5.1.3使用流程API定义流程 24 5.2 不同流程构造的细节概述 25 5.3 流程属性的细节 26 5.4 事件细节 26 5.4.1 开始事件 26 5.4.2 结束事件 27 5.4.3 中间事件 28 5.5 动作细节 29 5.5.1 脚本任务 29 5.5.3 服务任务 30 5.5.3 用户任务 31 5.5.4 重用的子流程 32 5.5.5 业务规则任务 32 5.5.6 嵌入子流程 33 5.5.7 多个实例子流程 33 5.6 Gateways 细节 34 5.6.2 合并网关 35 5.7 在你的应用中使用流程 35 5.8 其他特性 36 5.8.1 数据 36 5.8.2 约束 37 5.8.3 动作脚本 38 5.8.4 事件 39 5.8.5 计时器 40 5.8.6 更新流程 41 第六章 BPMN 2.0 核心引擎 43 6.1 Business Process Model and Notation(BPMN)2.0 Specification业务流程建模和符号2.0规范 43 6.2 例子 47 6.3 支持的元素/属性 48 第七章 核心引擎:持久化和事务 54 7.1 运行时状态 54 7.1.1 二进制持久化 54 7.1.2 Safe Pionts 54 7.1.3 配置持久化 55 7.1.4 事务 58 7.2 流程定义 58 7.3 历史日志 59 7.3.1 将流程事件存储到数据库 59 第八章 核心引擎:示例 60 8.1 jBPM示例 60 8.2 示例 61 8.3 单元测试 61 第九章 Eclipse BPMN 2.0 Plugin 62 9.1 安装 62 9.2 创建你的BPMN 2.0 流程 62 9.3 元素和属性的顾虑 65 第十章 设计器 66 10.1 安装 67 第十一章 控制台 68 11.1 安装 68 11.2 运行流程管理控制台 68 11.2.1 管理流程实例 69 11.2.2 人工任务列表 71 11.2.3 报告 72 11.3 添加新的流程/任务表 73 11.4 REST interface 74 第十二章 Human Tasks 75 12.1 流程内的Human tasks 75 12.1.1 Swimlanes 78 12.2 Human task 管理组件 78 12.2.1 任务生命周期 78 12.2.2 将任务组件链接到jBPM引擎 79 12.2.3 启动任务管理组件 81 12.2.4 和任务管理组件的交互 83 12.3 人工任务管理接口 84 12.3.1 Eclipse integration 84 12.3.2 基于Web的任务视图 84 第十三章 特定领域的流程 84 13.1 介绍 84 13.2 示例:通告 85 13.2.1 创建工作定义 86 13.2.2 注册你的工作定义 86 13.2.3 在你的流程中使用你最新的工作条目 87 13.2.4 执行服务节点 89 第十四章 测试和调试 91 14.1 单元测试 91 14.1.1 使用Helper方法创建你的session 92 14.1.2 断言 92 14.1.3测试与外部服务的结合 93 14.1.4 配置持久化 94 14.2 调试 94 14.2.1 流程实例视图 95 14.2.2 人工任务视图 96 14.2.3 核查视图 96 第十五章 流程知识库 97 第十六章 业务活动监视器 99 16.1 报告 99 16.2 直接接入 101 第十七章 复杂流程 102 第十八章 和Maven,OSGi,Spring的整合 105 18.1 Maven 105 18.2 OGSi 107
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值