前言:
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://m.tkk7.com/chengang/category/12967.html
i.[工具]JBPM詳細說明 : http://www.open68.com/doc/jbpm-3.0/index.html
j.[工具]jbpm表結構說明:http://m.tkk7.com/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(請大家沒事不要惡意騷擾,謝謝。)