jbpm开发之旅行(1)(转贴)

 开始了工做流的开发,前辈们都已经作的很好了,因此,简单的总结了几个例子,能够从如下连接处获得开发的简单流程.html

http://lou888.blog.hexun.com/14187090_d.htmljava

jbpm社区web

http://jbpm.group.javaeye.com/commentssql

字体变小 字体变大
了解一下什么是Jbpm及特色。
jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工做流管理系统。jBPM是公开源代码项目,它使用要遵循 Apache License。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改为JBoss jBPM。
jBPM最大的特点就是它的商务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它本身定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个商务流程能够被看做是一个UML状态图。jPdl就是详细定义了这个状态图的每一个部分,如起始、结束状态,状态之间的转换等。
jBPM的另外一个特点是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。经过Hibernate,jBPM将数据的管理职能分离出去,本身专一于商务逻辑的处理。
说不如作,下面作个例子感觉如下吧。
一、 环境准备
Jdk1.5安装不在赘述。
Eclipse安装不在赘述。 jBPM 提供了一个 Eclipse 插件用来辅助开发 jBPM 。
本文用的版本是: Eclipse3.2+ MyEclipse 5.5.1 GA
二、 安装jbpm
按下图红色标记处下载:

介绍一下上面的Package:
          JBoss jBPM jPDL jBPM 的软件包
          JBoss jBPM jPDL Suite  是一个综合包,它包括了 jBPM 软件包、开发插件、一个配置好了的基于 JBoss jBPM 示例、一些数据库配置文件示例。
          JBoss jBPM Process Designer Plugin  是辅助开发 jBPM Eclipse 插件。
          JBoss jBPM BPEL Extension jBPM 关于 BPEL 的扩展包
本指南选择下载: JBoss jBPM jPDL Suite 。下载后解压到 D:/ jbpm-starters-kit-3.1.4 ,目录下含有五个子目录:
          jbpm   jBPM 的软件包
          jbpm-bpel 只含有一个网页
          jbpm-db 各类数据库 hibernate 配置文件示例,有些还包含了相应的 jdbc 驱动程序。
          jbpm-designer  辅助开发 jBPM E clipse 插件,具体在 jbpm-gpd-feature 子目录中
           jbpm-server  一个已经配置好了的基于 JBoss jBPM 示例
 
三、 Jbpm例子
jbpm-server 目录是一个已经配置好的了 jBPM 示例。
例子用的框架是Jsf+Hibernate,数据库是 hsqldb(一个内存数据库)。
双击 jbpm-server 目录下的 start.bat 文件,启动 JBoss 服务。这时会打开一个 DOS 窗口,启动完成后,日志会不断输出,其中最后一句是“ 13:55:39,937 DEBUG [StaticNotifier] going to wait for (CMD_EXECUTOR, java.lang.Object@1df59bd) ”,这表示 jBPM 在开始工做了,它不断进行轮询。
 

这是一个已经用 jBPM 开发好的用户定单流程,具备下单、审核、估价等流程。它所用的数据库是一个内置的数据库。
以 cookie monster 用户登陆,选择“ create new web sale order ”能够建立一个定单。以下图所示,在图左边是填写的定单状况,右边一整个订货流程的示意图,红色框表示流程进行到哪一步了。填写好定单好,选择“ Save and Close Task ”,完成定单提交。
 

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

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

下面的流程,这里就再也不赘述了。因为流程是设计好的,并且用的数据库是个内存数据库,也看不到数据是如何记录的,看了这个例子可能有点迷糊,彷佛感受不到jBPM在起做用,其实jBPM 始终是在后台起着做用,只有经过本身写个例子,设计一下流程,看一下数据库表结构才能真正明白其中的道理,《Jbpm工做流(二)》中将介绍这些。
 
四、建立jbpm项目
4.1要引入可视化插件
jbpm提供了在eclipse下的一个可视化插件,经过它咱们能够方便的定义工做流,介绍一下eclipse如何添加该插件?
打开jbpm-starters-kit-3.1.4/jbpm-designer/jbpm-gpd-feature目录,咱们能够看到下面有一个eclipse文件夹,这里咱们经过link的方式为eclipse添加该插件。
{eclipse_home}/link文件夹下新建jbpm-designer.link文件,用记事本打开该文件加入以下一行:
path=D://jbpm-starters-kit-3.1.4//jbpm-designer//jbpm-gpd-feature
后面的路径即为该插件的存放路径,根据我的状况修改。注意,这里的分隔符使用双斜杠 //或者用单斜杠/。   
4.2 引入jbpm包,使eclipse具备jbpm环境
Eclipse编译jbpm可视化流程图,有时特别慢,甚至会致使死机,缘由是未导入jbpm包的问题,可视化流程图须要有jbpm环境,介绍一下如何解决这个问题?
打开Eclipse---- window----Preferences
以下图


 
点击【Add】,以下图:
 

Name:随便录入
Location: D:/jbpm-starters-kit-3.1.4/jbpm-starters-kit-3.1.4/jbpm,此路径为下载的
jbpm-starters-kit-3.1.4包中的jbpm文件夹,即jBPM 的软件包。
 
4.3 建立咱们本身的jbpm
打开eclipse--- new--Project,以下图:
 

选择Process Project,点击【Next】,以下图
 

name:工程名称,随意录入。
Location:就是在上面所讲的jBPM 的软件包。点击【finish】后,建立以下项目:
 

以上就建立了一个jbpm的项目,里面的代码和流程图会自动建立,也说明你的eclipse已具备jbpm环境。
当插件引入成功后,
打开Eclipse---- window----Preferences

出现 JBoss jBPM的目录,表示插件引入成功。