前言:
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服務(wù)器下載地址 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.[總結(jié)]揭秘jbpm流程引擎內(nèi)核設(shè)計思想及構(gòu)架收藏 http://blog.csdn.net/james999/archive/2007/09/02/1769592.aspx#1
b.[論壇]關(guān)于工作流引擎的問題! http://www.javaeye.com/topic/2784
c.[論壇]工作流系統(tǒng):在誤區(qū)中漫步 http://www.javaeye.com/topic/199074?page=1
d.[總結(jié)]最新JBoss jBPM 3.1 開始指南之三---創(chuàng)建流程和部署流程 http://www.99inf.net/SoftwareDev/Java/43324.htm
e.[總結(jié)]jBPM入門學(xué)習(xí)Hello World http://www.zxbc.cn/html/javajc/0511064135264.html
f.[總結(jié)]jBPM-JPDL v3.2環(huán)境部署——發(fā)布到Tomcat + MySQL http://www.uml.org.cn/workclass/200809085.asp
g.[總結(jié)] 三大主流工作流引擎技術(shù)分析與市場預(yù)測 http://dev.csdn.net/develop/article/64/64170.shtm
h.[總結(jié)]jBPM開發(fā)入門指南(1-5) http://www.tkk7.com/chengang/category/12967.html
i.[工具]JBPM詳細(xì)說明 : http://www.open68.com/doc/jbpm-3.0/index.html
j.[工具]jbpm表結(jié)構(gòu)說明:http://www.tkk7.com/libin2722/articles/143249.html
正文:
1 關(guān)于jBPM
jBPM,全稱是Java Business Process Management,是一種基于J2EE的輕量級工作流管理系統(tǒng)。jBPM是公開源代碼項目,它使用要遵循 Apache License。jBPM在2004年10月18日,發(fā)布了2.0版本,并在同一天加入了JBoss,成為了JBoss企業(yè)中間件平臺的一個組成部分,它的名稱也改成JBoss jBPM。隨著jBPM加入JBoss組織,jBPM也將進(jìn)入一個全新的發(fā)展時代,它的前景是十分光明的。
jBPM最大的特色就是它的商務(wù)邏輯定義沒有采用目前的一些規(guī)范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的JBoss jBPM Process Definition Language (jPDL)。jPDL認(rèn)為一個商務(wù)流程可以被看作是一個UML狀態(tài)圖。jPDL就是詳細(xì)定義了這個狀態(tài)圖的每個部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。
jBPM的另一個特色是它使用Hibernate來管理它的數(shù)據(jù)庫。Hibernate是目前Java領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過Hibernate,jBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理。
2 關(guān)于jPDL
jPDL(JBoss jBPM Process Definition Language)是構(gòu)建于jBPM框架上的流程語言之一。在jPDL中提供了任務(wù)(tasks)、待處理狀態(tài) (wait states)、計時器(timers)、自動處理(automated actions)…等術(shù)語,并通過圖型化的流程定義,很直觀地描述業(yè)務(wù)流程。
jPDL可以部署于Java語言的任何應(yīng)用環(huán)境下,JavaSE Application(Swing/SWT)、JavaEE Application(Application Server) 。
3 jPDL分發(fā)包的組成
目前jPDL的最新版本是3.2.3,通過
http://labs.jboss.com/jbossjbpm/jpdl_downloads/ 可以獲得官方下載包。
一種是標(biāo)準(zhǔn)包(jbpm-jpdl-3.2.3.zip),一種是套件包(jbpm-jpdl-suite-3.2.3.zip),還有JBoss jBPM Starters Kit是一個綜合包,前兩者最大的區(qū)別是套裝包自帶一個已經(jīng)配置好的jboss服務(wù),下載解壓縮后,可直接運(yùn)行。
(1)jPDL的核心程序包(jbpm-jpdl.jar)
它是一個典型的jar文件,它涵蓋對流程定義和運(yùn)行時流程實例上下文環(huán)境的操作API。在最簡化的業(yè)務(wù)流程樣例中,jPDL將流程定義存儲與XML 格式的定義文件中,在運(yùn)行時載入內(nèi)存,在內(nèi)存里記錄完整的業(yè)務(wù)實例和執(zhí)行過程的環(huán)境變量,并完成全部操作。顯然,在實際應(yīng)用中,流程信息必須被持久化的存儲于數(shù)據(jù)庫中。jPDL使用了Hibernate作為其對象持久化的API。
(2)Graphical Process Designer插件(jbpm-jpdl-designer-3.1.2.zip)
它是一個基于Eclipse的圖型編輯插件。使用它可以對業(yè)務(wù)流程進(jìn)行可視化的定制,而無須手動編輯XML文件。該插件還提供了流程定義上傳功能,可以將新定義的流程發(fā)布到在線運(yùn)行的jPDL系統(tǒng)上。
(3)jPDL身份包(jbpm-identity.jar)
它是jPDL的一個輕量級擴(kuò)展包,簡單實現(xiàn)了組Group、用戶User、許可權(quán)Permission等用戶身份認(rèn)證和鑒權(quán)機(jī)制。如果您的應(yīng)用環(huán)境只需要簡單的用戶認(rèn)證鑒權(quán)管理,那么它十分適合您。
(4)jPDL Web控制臺(jbpm-console.war)
它是一個標(biāo)準(zhǔn)Web應(yīng)用(使用了JSF技術(shù)),提供了對jPDL平臺執(zhí)行情況的監(jiān)控程序(對jPDL數(shù)據(jù)庫的監(jiān)控)。管理員可以通過該程序方便的維護(hù)jPDL的數(shù)據(jù)庫,管理流程定義和流程實例的執(zhí)行情況。同時,它還提供了一個簡單的Getting started DEMO,方便初學(xué)者了解jPDL。
(5)JBoss jBPM Starters Kit 是一個綜合包,它包括了 jBPM 軟件包、開發(fā)插件、一個配置好了的基于 JBoss 的 jBPM 示例、一些數(shù)據(jù)庫配置文件示例。
(6)JBoss jBPM BPEL Extension jBPM 關(guān)于 BPEL 的擴(kuò)展包
4 包詳細(xì)介紹
4.1JBoss jBPM Starters Kit
是一個綜合包,它包括了jBPM軟件包、開發(fā)插件、一個配置好了的基于JBoss的jBPM示例、一些數(shù)據(jù)庫配置文件示例。
JBoss jBPM Process Designer Plugin是輔助開發(fā)jBPM的Eclipse 插件。
JBoss jBPM BPEL Extension jBPM關(guān)于BPEL的擴(kuò)展包
下載JBoss jBPM Starters Kit 3.1.2。解壓到系統(tǒng)某個目錄(E:\java\jbpm-starters-kit-3.1.2)。目錄下含有五個子目錄:
jbpm jBPM的軟件包,包含源碼,例子等文件內(nèi)容。
jbpm-bpel只含有一個網(wǎng)頁
jbpm-db各種數(shù)據(jù)庫hibernate配置文件示例,有些還包含了相應(yīng)的jdbc驅(qū)動程序。
jbpm-designer輔助開發(fā)jBPM的Eclipse插件,具體在jbpm-gpd-feature子目錄中
jbpm-server一個已經(jīng)配置好了的基于JBoss的jBPM示例。
登錄地址:http://localhost:8080/jbpm
特點:是一個在開發(fā)環(huán)境上配置流程權(quán)限的DEMO,在瀏覽器上進(jìn)行流程操作和管理員查看。
4.2 jbpm-jpdl-suite-3.2.3.zip壓縮包組成
在解壓jbpm-jpdl-suite-3.2.3.zip后,會看到很多目錄,如下所示:
(1)config目錄
該目錄存放了jPDL的默認(rèn)配置文件 ,包括hibernate.cfg.xml 、jbpm.cfg.xml(jPDL的主配置文件,默認(rèn)是空的)、 jbpm.mail.templates.xml(郵件模板配置文件)、 log4j.properties(日志配置文件)
(2)db目錄
該目錄存放了jPDL針對不同數(shù)據(jù)庫的表初始化sql文件。這里要說的是,jbpm.jpdl.mysql.sql在MySql下批量運(yùn)行時,會出現(xiàn)錯誤提示,原 因是語句后缺少”;”號,需要修訂后才能使用。
(3)designer目錄
該目錄存放了GPD(Graphical Process Designer)插件。
(4)examples目錄
該目錄存放了jPDL的簡單范例。
(5)doc目錄
該目錄存放jPDL 的相關(guān)說明文檔,包括用戶指南、Java API文檔等。
(6)server目錄
該目錄存放了配置好的jBoss和控制臺程序,Windows下雙擊start.bat可立即執(zhí)行。數(shù)據(jù)庫使用HSQL,存放于 /server/server/jbpm/data 下。
(7)src目錄
該目錄下存放的是源代碼,可以通過查看代碼來了解其具體實現(xiàn),有助于增強(qiáng)理解。
(8)deploy目錄
該目錄下面包含3個war包:jbpm-console.war、jbpm-enterprise.ear、jbpm-mail.war。
(9)lib目錄
該目錄中存放了支持的jar包。
登錄地址:http://localhost:8080/jbpm-console
特點:是一個在網(wǎng)頁上配置流程權(quán)限的DEMO
備注:
本文介紹了我在學(xué)習(xí)JBPM的心得體會以及一些有建設(shè)性的網(wǎng)址,希望能對大家有所幫助,目前,本人正在從事公司內(nèi)部項目中有關(guān)工作流的開發(fā),有興趣的朋友可以聯(lián)系我一起研究,本人MSN:loyal_gl@hotmail.com(請大家沒事不要惡意騷擾,謝謝。)