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