【原】JBOSS开源工作流引擎JBPM初探介绍

前言:

1 工具资料:

a.JBoss IDE插件的捆绑式Eclipse版本.   http://www.jboss.com/products/jbosside/downloads
 (windows平台用户选择JBossIDE-1.6.0.GA-Bundle-win32.zip, linux用户选择JBossIDE-1.6.0.GA-Bundle-linux-gtk.tar.gz)

b.JBOSS服务器下载地址 http://www.jboss.org/products/jbossas/downloads

c.JBPM 下载地址: http://labs.jboss.com/jbossjbpm/jpdl_downloads/

d.ant 下载地址: http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip

e tomcat 下载地址: http://apache.mirror.phpchina.com/tomcat/

f.JBMP 在线演示DEMO : http://docs.jboss.com/jbpm/v3/demos/movies/jbpm-overview.htm


2 必读的资料:

 a.[总结]揭秘jbpm流程引擎内核设计思想及构架收藏 http://blog.csdn.net/james999/archive/2007/09/02/1769592.aspx#1
 b.[论坛]关于工作流引擎的问题! http://www.javaeye.com/topic/2784
 c.[论坛]工作流系统:在误区中漫步 http://www.javaeye.com/topic/199074?page=1
 d.[总结]最新JBoss jBPM 3.1 开始指南之三---创建流程和部署流程 http://www.99inf.net/SoftwareDev/Java/43324.htm
 e.[总结]jBPM入门学习Hello World  http://www.zxbc.cn/html/javajc/0511064135264.html
 f.[总结]jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL  http://www.uml.org.cn/workclass/200809085.asp
 g.[总结] 三大主流工作流引擎技术分析与市场预测 http://dev.csdn.net/develop/article/64/64170.shtm
 h.[总结]jBPM开发入门指南(1-5) http://www.blogjava.net/chengang/category/12967.html
 i.[工具]JBPM详细说明 : http://www.open68.com/doc/jbpm-3.0/index.html
 j.[工具]jbpm表结构说明:http://www.blogjava.net/libin2722/articles/143249.html



正文:

1 关于jBPM

jBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。jBPM是公开源代码项目,它使用要遵循 Apache License。jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。

jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process Definition Language (jPDL)。jPDL认为一个商务流程可以被看作是一个UML状态图。jPDL就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。

jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。


2 关于jPDL

jPDL(JBoss jBPM Process Definition Language)是构建于jBPM框架上的流程语言之一。在jPDL中提供了任务(tasks)、待处理状态 (wait states)、计时器(timers)、自动处理(automated actions)…等术语,并通过图型化的流程定义,很直观地描述业务流程。

jPDL可以部署于Java语言的任何应用环境下,JavaSE Application(Swing/SWT)、JavaEE Application(Application Server) 。




3 jPDL分发包的组成

目前jPDL的最新版本是3.2.3,通过http://labs.jboss.com/jbossjbpm/jpdl_downloads/ 可以获得官方下载包。
一种是标准包(jbpm-jpdl-3.2.3.zip),一种是套件包(jbpm-jpdl-suite-3.2.3.zip),还有JBoss jBPM Starters Kit是一个综合包,前两者最大的区别是套装包自带一个已经配置好的jboss服务,下载解压缩后,可直接运行。

(1)jPDL的核心程序包(jbpm-jpdl.jar)

它是一个典型的jar文件,它涵盖对流程定义和运行时流程实例上下文环境的操作API。在最简化的业务流程样例中,jPDL将流程定义存储与XML 格式的定义文件中,在运行时载入内存,在内存里记录完整的业务实例和执行过程的环境变量,并完成全部操作。显然,在实际应用中,流程信息必须被持久化的存储于数据库中。jPDL使用了Hibernate作为其对象持久化的API。

(2)Graphical Process Designer插件(jbpm-jpdl-designer-3.1.2.zip)

它是一个基于Eclipse的图型编辑插件。使用它可以对业务流程进行可视化的定制,而无须手动编辑XML文件。该插件还提供了流程定义上传功能,可以将新定义的流程发布到在线运行的jPDL系统上。

(3)jPDL身份包(jbpm-identity.jar)

它是jPDL的一个轻量级扩展包,简单实现了组Group、用户User、许可权Permission等用户身份认证和鉴权机制。如果您的应用环境只需要简单的用户认证鉴权管理,那么它十分适合您。

(4)jPDL Web控制台(jbpm-console.war)

它是一个标准Web应用(使用了JSF技术),提供了对jPDL平台执行情况的监控程序(对jPDL数据库的监控)。管理员可以通过该程序方便的维护jPDL的数据库,管理流程定义和流程实例的执行情况。同时,它还提供了一个简单的Getting started DEMO,方便初学者了解jPDL。

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

(6)JBoss jBPM BPEL Extension jBPM 关于 BPEL 的扩展包


4 包详细介绍


    4.1JBoss jBPM Starters Kit

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

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

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

    下载JBoss jBPM Starters Kit 3.1.2。解压到系统某个目录(E:\java\jbpm-starters-kit-3.1.2)。目录下含有五个子目录:

        jbpm jBPM的软件包,包含源码,例子等文件内容。
        jbpm-bpel只含有一个网页
        jbpm-db各种数据库hibernate配置文件示例,有些还包含了相应的jdbc驱动程序。
        jbpm-designer辅助开发jBPM的Eclipse插件,具体在jbpm-gpd-feature子目录中
        jbpm-server一个已经配置好了的基于JBoss的jBPM示例。
    登录地址:http://localhost:8080/jbpm
    特点:是一个在开发环境上配置流程权限的DEMO,在浏览器上进行流程操作和管理员查看。


    4.2 jbpm-jpdl-suite-3.2.3.zip压缩包组成
    在解压jbpm-jpdl-suite-3.2.3.zip后,会看到很多目录,如下所示:

    (1)config目录

    该目录存放了jPDL的默认配置文件 ,包括hibernate.cfg.xml 、jbpm.cfg.xml(jPDL的主配置文件,默认是空的)、                    jbpm.mail.templates.xml(邮件模板配置文件)、 log4j.properties(日志配置文件)

    (2)db目录

    该目录存放了jPDL针对不同数据库的表初始化sql文件。这里要说的是,jbpm.jpdl.mysql.sql在MySql下批量运行时,会出现错误提示,原    因是语句后缺少”;”号,需要修订后才能使用。

    (3)designer目录

    该目录存放了GPD(Graphical Process Designer)插件。

    (4)examples目录

    该目录存放了jPDL的简单范例。

    (5)doc目录

    该目录存放jPDL 的相关说明文档,包括用户指南、Java API文档等。

    (6)server目录

    该目录存放了配置好的jBoss和控制台程序,Windows下双击start.bat可立即执行。数据库使用HSQL,存放于                            /server/server/jbpm/data    下。

    (7)src目录

    该目录下存放的是源代码,可以通过查看代码来了解其具体实现,有助于增强理解。

    (8)deploy目录

    该目录下面包含3个war包:jbpm-console.war、jbpm-enterprise.ear、jbpm-mail.war。

    (9)lib目录

    该目录中存放了支持的jar包。

    登录地址:http://localhost:8080/jbpm-console
    特点:是一个在网页上配置流程权限的DEMO

备注:
    本文介绍了我在学习JBPM的心得体会以及一些有建设性的网址,希望能对大家有所帮助,目前,本人正在从事公司内部项目中有关工作流的开发,有兴趣的朋友可以联系我一起研究,本人MSN:loyal_gl@hotmail.com(请大家没事不要恶意骚扰,谢谢。)


posted on 2009-02-21 14:58 龙樱 阅读(4778) 评论(0)  编辑  收藏 所属分类: 非主流技术类


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

导航

统计

常用链接

留言簿(3)

随笔分类(13)

随笔档案(13)

文章分类(1)

文章档案(1)

搜索

最新评论

阅读排行榜

评论排行榜