jBPM开发入门指南

转载 2007年10月10日 12:15:00
工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准。但其应用却已经在快速展开,这说明市场对工作流框架的需求是急迫而巨大的。

我们公司的后台短信管理系统涉及短信编发、领导层层审核等操作,这是一个比较典型的工作流系统。过去我们用的工作流引擎是 shark ,然后在使用后发现其过于庞大,后台数据库操作频繁而未进行优化,直接导致的后果就是前台操作缓慢。于是经研究决定,将工作流引擎由 shark 换成 jBPM

jBPM 之前是一个开源软件,后加入 JBoss 组织。正好我们公司也是用 JBoss 的。不过 jBPM 并没有绑定在 JBOSS 上, Tomcat 等也可以使用它。

jBPM 的正处在不断发展中,做为开源软件的特点,其设计变化往往很大。所以一些过去的资料可能已经不适用了。于是作者根据自己的使用经验,重新整理出这份文档,以备学习参考。

注:本文使用的 jBPM 版本为 3.1.1

环境准备

1、安装JDK

所有 JAVA 开发第一个需要安装的,没什么好说的。记得把系统变量 JAVA_HOME 设上。

2、安装Ant

Ant 是使用 jBPM 必须的一个工具。 jBPM 中的很多操作都要用到 Ant

安装方法:

1 )先下载: http://archive.apache.org/dist/ant/binaries/ ,选一个如: apache-ant-1.6.5-bin.zip

2 )解压到 D:/ant (当然其他目录也可以)。

3 )设置如下系统变量: ANT_HOME=d:/ant

4 )把 %ANT_HOME%/bin 加入到系统变量 PATH 中。

3、安装Eclipse

Eclipse 不是开发 jBPM 必须的工具,但它是对 jBPM 开发很有帮助的工具,特别是 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM 。关于 Eclipse 的安装不赘述了,本文用的版本是: Eclipse3.2

安装 jBPM

jBPM 的下载地址: http://www.jboss.com/products/jbpm/downloads  

l           JBoss jBPM jBPM 的软件包

l           JBoss jBPM Starters Kit  是一个综合包,它包括了 jBPM 软件包、开发插件、一个配置好了的基于 JBoss jBPM 示例、一些数据库配置文件示例。

l           JBoss jBPM Process Designer Plugin  是辅助开发 jBPM Eclipse 插件。

l           JBoss jBPM BPEL Extension jBPM 关于 BPEL 的扩展包

本指南选择下载: JBoss jBPM Starters Kit 。下载后解压到 D:/jbpm-starters-kit-3.1 ,目录下含有五个子目录:

l           jbpm   jBPM 的软件包

l           jbpm-bpel 只含有一个网页

l           jbpm-db 各种数据库 hibernate 配置文件示例,有些还包含了相应的 jdbc 驱动程序。

l           jbpm-designer  辅助开发 jBPM Eclipse 插件,具体在 jbpm-gpd-feature 子目录中

l           jbpm-server  一个已经配置好了的基于 JBoss jBPM 示例 .

感觉下工作流

前面我们说了,在 JBoss jBPM Starters Kit jbpm-server 目录是一个已经配置好的了 jBPM 示例,那么让我们来感觉一下 jBPM 做出的东西吧。

双击 jbpm-server 目录下的 start.bat 文件,启动 JBoss 服务。这时会打开一个 DOS 窗口,启动完成后,日志会不断输出,其中最后一句是“ 13:55:39,937 DEBUG [StaticNotifier] going to wait for (CMD_EXECUTOR, java.lang.Object@1df59bd) ”,这表示 jBPM 在开始工作了,它不断进行轮询。

打开网页: http://localhost:8080/jbpm/  得到如下画面

20060713_image001.jpg

这是一个已经用 jBPM 开发好的用户定单流程,具有下单、审核、估价等流程。它所用的数据库是一个内置的数据库。

cookie monster 用户登录,选择“ create new web sale order ”可以创建一个定单。如下图所示,在图左边是填写的定单情况,右边一整个定货流程的示意图,红色框表示流程进行到哪一步了。填写好定单好,选择“ Save and Close Task ”,完成定单提交。

20060713_image002.jpg

选择右上角的“ Login as another user ”以另外一个用户名 ernie 登录。这时可以看到 ernie 用户的任务列表中多了一项。

20060713_image003.jpg

点进去后,显示如下画面。这个示例对中文的支持不好,全都显示成了 unicode 码了。不管这什么多,反正知道是这么回事就行了。在 comment 项填写意见,选 OK 按钮,进入到下一步。如果选择 more info needed 按钮,则打回给 cookie monster 用户修改定单。

20060713_image004.jpg

下面的流程,这里就不再赘述了。在这个很标准的工作流示例中,我们基本可以看到 jBPM 的应用范围还是比较广的。而且从这个示例,我们是看不出有 jBPM 的,也就是说 jBPM 在后台起着作用。

从这个例子,还看不出 jBPM 的优势。不过,如果在一个流程不确定,经常需要变动的项目中, jBPM 的好处将会显然出来。应用 jBPM 后,改变流程只需改变流程描述文件,这将在后面的内容提到。

这是一个已做好的示例,接下来我们将仿造这个实例来开发一个请假流程。

 

工作流-jbpm入门例子

原文地址:http://blog.csdn.net/hxirui/article/details/1221911 1.      jBPM的简单介绍 jBPM是JBOSS下的一个开源java工作流项...
  • I_Am_Zou
  • I_Am_Zou
  • 2016年09月07日 15:04
  • 7389

JBPM学习(一):实现一个简单的工作流例子全过程

test.png
  • v123411739
  • v123411739
  • 2014年05月02日 17:32
  • 42685

【代码篇】JBPM4.4结合业务实现简单工作流

继博客【思想篇】工作流技术JBPM开发入门(三)的实现完成!应对业务的变化。   其实这次对于工作流的学习大概分了3主要个阶段:   1,结合业务开发一个简单的工作流,应对业务的变更 2,结合业务开发...
  • hejingyuan6
  • hejingyuan6
  • 2015年01月13日 21:48
  • 4449

jBPM开发入门指南(1) (2007-11-22 10:40)

工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准。但其应用却已经在快速展开,这说明市场对工作流框架的需求是急迫而巨大的。 我们公司的后台短信管理系统涉及短信编发、领导层层审核等操作,...
  • eric474470
  • eric474470
  • 2012年06月15日 09:28
  • 219

jBPM开发入门指南(4)

7   jBPM 的客户端开发 有了前面的 HelloWorld 后台流程,我们就要开始客户端程序了。正如前面提到的,本文不写 JSP ,而改采用 JUnit 的形式,输出则用 System.out...
  • a19880813
  • a19880813
  • 2013年07月11日 10:12
  • 682

jBPM开发入门指南

工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准。但其应用却已经在快速展开,这说明市场对工作流框架的需求是急迫而巨大的。 我们公司的后台短信管理系统涉及短信编发、领导层层审核等操作,...
  • dragonxiangfu
  • dragonxiangfu
  • 2012年02月18日 12:42
  • 251

jBPM开发入门指南(1)

jBPM开发入门指南(1)工作流虽然还在不成熟的发展阶段,甚至还没有一个公认的规范标准。但其应用却已经在快速展开,这说明市场对工作流框架的需求是急迫而巨大的。我们公司的后台短信管理系统涉及短信编发、领...
  • whui0110
  • whui0110
  • 2011年06月08日 11:38
  • 350

jBPM开发入门指南(2)

4 数据库初始化 jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。 jBPM 使用 Hibernate 来做为自己的存储层,因此只要...
  • a19880813
  • a19880813
  • 2013年07月11日 10:10
  • 628

jBPM开发入门指南(2) (2007-11-22 10:42)

这是一个已做好的示例,接下来我们将仿造这个实例来开发一个请假流程。 4 数据库初始化  jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到...
  • eric474470
  • eric474470
  • 2012年06月15日 09:29
  • 10938

jBPM开发入门指南

  • 2012年11月13日 13:09
  • 535KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jBPM开发入门指南
举报原因:
原因补充:

(最多只允许输入30个字)