JBoss jBPM 3.0
JBoss jBPM 3.0工作流和業(yè)務(wù)流程管理的具體實(shí)現
目錄
第一章 緒論
JBoss jBPM 是一個(gè)靈活的,易擴展的工作流管理系統。JBoss jBPM有一套直觀(guān)的流程建模語(yǔ)言,這套語(yǔ)言能用任務(wù)(task),異步通信的等待狀態(tài)(wait state ),定時(shí)器(timer),自動(dòng)化的動(dòng)作(automated action)等來(lái)圖形化的表示業(yè)務(wù)流程。為了把這些操作集成在一
起,JBoss jBPM擁有強大的,易擴展的控制流程機制。
JBoss jBPM對外依賴(lài)程度很小,你完全可以像用java的類(lèi)庫一樣用它。并且它也可以被部署在高性能的J2EE集群應用服務(wù)器上。
JBoss jBPM能配置在任何數據庫上,并且能被部署在任何的應用服務(wù)器上。
1.1 總覽
工作流和業(yè)務(wù)流程處理功能的核心部分被打包成一個(gè)簡(jiǎn)單的java類(lèi)庫。這個(gè)類(lèi)庫包括了這樣一個(gè)服務(wù):流程信息的存儲,更新,和從數據庫中重新取回。
圖1.1:JBoss jBPM組成模塊的概略圖
1.2 JBoss jBPM starter kit
starter kit是一個(gè)包含jbpm所有模塊的下載包。這個(gè)下載包中包括以下模塊:
· jbpm-server, 一個(gè)預選配置好的jboss應用服務(wù)器。
· jbpm-designer, 圖形化定制流程的eclipse插件。
· jbpm-db, jBPM的數據庫兼容包 (見(jiàn)后邊論述)。
· jbpm, jbpm的核心模塊,其中包括libs文件夾和這個(gè)用戶(hù)說(shuō)明。
· jbpm-bpel, JBoss jBPM對BPEL擴展的一些參考資料
預先配置好的JBoss應用服務(wù)器具有如下組成部分:
jBPM核心模塊,被打包成一個(gè)用于提供服務(wù)的存檔文件
帶有jbpm表的集成數據庫:默認的hypersonic數據庫擁有jbpm表,并且這個(gè)表已經(jīng)擁有一個(gè)流程了。
Jbpm的web控制臺,它既可以被Jbpm管理員用也可以被流程的參與者使用。
執行定時(shí)器的Jbpm的調度程序,這個(gè)調度程序在starter kit里邊被配置成一個(gè)servlet。這個(gè)servlet會(huì )產(chǎn)生一個(gè)新的線(xiàn)程來(lái)監視和執行定時(shí)器。
一個(gè)具體流程的例子,它已經(jīng)被部署在jbpm數據庫中了。
1.3 JBoss jBPM 流程圖形定制器
JBoss jBPM還擁有一套圖形化的設計工具。這個(gè)設計器是一個(gè)圖形化的業(yè)務(wù)流程定制工具。
JBoss jBPM流程圖形定制器是eclipse的一個(gè)插件。單獨安裝這個(gè)定制器非常簡(jiǎn)單。
這個(gè)圖形設計器最重要的特性是:業(yè)務(wù)分析人員也能像技術(shù)開(kāi)發(fā)人員一樣用它來(lái)完成任務(wù)。這使得業(yè)務(wù)流程建模能平滑的轉換到具體技術(shù)實(shí)現。
這個(gè)插件可以利用eclipse的一般升級機制通過(guò)一個(gè)升級站點(diǎn)得到安裝(zip文件格式)。也可以通過(guò)解壓一個(gè)特定的包到eclipse的安裝目錄來(lái)安裝此插件。
1.4 JBoss jBPM的核心模塊
JBoss jBPM的核心模塊是一個(gè)用來(lái)管理流程定義和流程實(shí)例的執行環(huán)境的普通java程序。
JBoss jBPM是一個(gè)java類(lèi)庫。所以它可以被用在任何java環(huán)境中,比如:web應用程序,swing應用程序,EJB,web service……。JBPM類(lèi)庫還可以被打包并被當成無(wú)狀態(tài)會(huì )話(huà)EJB(stateless session EJB)使用。這樣可使它被部署在集群上并且適應高性能應用。這些無(wú)狀態(tài)會(huì )話(huà)EJB必須符合J2EE1.3規范這樣才能使它可以被部署在任何應用服務(wù)器上。
JBoss jBPM的核心模塊被打包成一個(gè)簡(jiǎn)單的java庫文件。依你功能的需要,jbpm-3.0.jar這個(gè)庫文件對一些第三方的類(lèi)庫比如hibernate, dom4j有所依賴(lài)。這些依賴(lài)在第五章(部署)中作了詳細的說(shuō)明。
至于持久化,JBPM在內部用了hibernate。除了傳統的O/R映射功能,hibernate還解決了不同數據SQL dialect差異的問(wèn)題,這使得JBPM能適應現在所有的數據庫。
JBoss jBPM API可以被你工程中任何的java代碼調用,比如,你的web應用程序,EJB,web service 模塊,消息驅動(dòng)bean或其它任何java模塊。
1.5 JBoss jBPM web應用程序的控制臺
jBPM web應用程序的控制臺提供兩種服務(wù)。首先,它被用來(lái)當作一個(gè)用來(lái)和流程執行過(guò)程中產(chǎn)生的任務(wù)進(jìn)行交互的主要用戶(hù)接口,其次,它還是一個(gè)用來(lái)檢查和操作運行實(shí)例的管理和監控平臺。
1.6 JBoss jBPM人員組織模塊
JBoss jBPM可以和任何包括人員和其他組織信息的公司結構集成在一起。但是對那些組織結構信息模塊很難獲取的項目,JBoss jBPM提供了這個(gè)模塊。這個(gè)模塊使用的模型要比傳統的servlet, ejb,portlet模型豐富的多。
更多信息,請參照第九章第九節 人員組織模塊
1.7 JBoss jBPM調度程序
JBoss jBPM調度程序是一個(gè)用來(lái)監測和執行在流程執行過(guò)程中設置的定時(shí)器的模塊。
定時(shí)器模塊被打包在jbpm的核心包中,但是它必須被部署在以下環(huán)境中:或者你必須訂制一個(gè)調度servlet,它來(lái)產(chǎn)生一個(gè)監測線(xiàn)程,或者你必須啟動(dòng)一個(gè)單獨的JVM來(lái)執行調度程序。
1.8 JBoss jBPM 數據庫兼容包
JBoss jBPM 數據庫兼容包是一個(gè)下載包,它包括所有的資料,drivers和scripts,用這些你可以使jbpm運行在你選擇的數據庫上。
1.9 JBoss jBPM BPE的擴展
JBoss jBPM BPE的擴展是一個(gè)為了支持BPEL獨立的擴展包。BPEL的本質(zhì)就是一組用來(lái)參照別的web service寫(xiě)web service的xml腳本語(yǔ)言。
聯(lián)系客服