Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7095467
  • 博文数量: 703
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 12042
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。

文章分类

全部博文(703)

分类: Java

2013-02-02 20:09:57

1.1 流程定义

jbpm5提供了3个图形化设计器,其中两个是基于Eclipse的插件,一个是基于web的。

(1)Drools FlowEclipse插件

这个Eclipse插件允许用户创建、测试、调试BPMN2流程

(2)jBPM5 Eclipse插件

这是一个用来全面支持BPMN2标准的Eclipse插件。现在还在开发中,仅支持有限的流程结构和属性,但是已经可以定义简单的BPMN2流程。

(3)基于webOryx Designer

Oryx Designer实现了基于web进行流程定义。这个设计器已经集成到GuvnorDrools的一个子项目,可以将流程定义存储到其知识库中)。这个设计器可以用于创建、预览、更新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)活动

① 脚本任务(JavaMVEL表达式语言)

② 任务

③ 服务工作

④ 用户任务

⑤ 业务规则任务

⑥ 手动任务

⑦ 发送任务

⑧ 接收任务

⑨ 可重复使用的子流程(呼叫活动)

⑩ 嵌入式子流程

11 点对点子流程

12 数据对象

3)网关

发散:

① 独占(JavaMVELXPath表达式语言)

② 非独占(JavaMVELXPath表达式语言)

③ 并行

④ 基于事件

会聚:

① 独占

② 并行

4)线路

(2)数据

1Java类型语言

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)流程设计器现在仅能在GoogleChrome浏览器中运行。

(3)现在还不能用一个基于Guvnorpackage作为JBPM5的知识库。

(4)如果设计器不能保存或加载BPMN2的流程,请联系jBPM社区,并告诉我们问题如何出现,以便我们进行重现并加以改进。

Drools Guvnor的访问地址为:

使用非空的用户名密码登陆即可(为了进行demo,身份验证暂时失效)。

具体的使用细节,可参照Drools Guvnor提供的文档,下载地址为:

 

阅读(9817) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

最代码2014-05-14 18:25:00

jbpm代码下载:http://www.zuidaima.com/share/search.htm?key=jbpm