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