(本文節(jié)選于電子工業(yè)出版社推出的《jBPM4工作流應(yīng)用開發(fā)指南 》一書)
jBPM需要安裝?不是說它是一個框架(Framework)、一堆開放的源代碼(Open Source),而非一套“應(yīng)用程序(Application)”嗎,據(jù)我所知一般只有應(yīng)用程序才需要安裝呀?
是的,在您深入了解jBPM后,可以把它的流程引擎看做一個Java工程——若干Java類、依賴庫和配置文件;jBPM的流程定義和運(yùn)行時的上下文需要被存儲在關(guān)系型數(shù)據(jù)庫中——可以是基于調(diào)試目的的內(nèi)存數(shù)據(jù)庫HSQLDB (hsqldb.org),也可以是真正的持久化數(shù)據(jù)庫,諸如MySQL(www.mysql.com),Oracle(www.oracle.com),PostgreSQL (www.postgresql.org),Sybase(www.sybase.com);jBPM的流程設(shè)計一般需要一個基于客戶端的圖形化流程設(shè)計器軟件,當(dāng)然在jBPM4版本以后也可以在Web上做流程設(shè)計(這要?dú)w功于Signavio項(xiàng)目,www.signavio.com);最終,基于jBPM開發(fā)出的企業(yè)流程應(yīng)用一般會被部署在一臺應(yīng)用服務(wù)器(Application Server)上,以便服務(wù)于來自Web的訪問、監(jiān)控和管理等。
但是,以上所說的這一切,如果是一名初學(xué)者,能很好地掌控嗎?
在早期的版本中,要使用jBPM,很多準(zhǔn)備工作都需要自己來做,而且以上每一個步驟和細(xì)節(jié)都需要自己去關(guān)注,例如安裝數(shù)據(jù)庫、建表、安裝應(yīng)用服務(wù)器、安裝圖形化流程設(shè)計器插件等,是不是會讓人感覺到上來就碰了個大釘子?
幸運(yùn)的是,在我們要介紹的jBPM4.3版本中,幾乎這一切工作jBPM軟件包的發(fā)布者都幫助您做好了!只要您使用過JavaEE,Eclipse和Ant,就可以通過Ant build腳本“一鍵獲取”所需要的jBPM4整套開發(fā)、運(yùn)行和管理環(huán)境。這就是傳說中的“安裝”。
jBPM4安裝先決條件
首先,我們要獲取jBPM4的軟件包,可以在SourceForge.net上找到它:http://sourceforge.net/projects/jbpm/。在本書開始寫作的時候,jBPM的最新發(fā)布版本為4.3。
作為一個“生機(jī)盎然”的開源項(xiàng)目,jBPM的版本更迭比較快,約半年左右就會發(fā)布一個新的版本,而世事難料(在這里我指的是組織變更或商業(yè)并購),如果有一天你發(fā)現(xiàn)在上面所提到的SourceForge.net上找不到j(luò)BPM或其最新版本的時候,使用Google搜索“jBPM download”是一個比較保險的辦法。
事實(shí)上,jBPM在每一次大版本號變遷時的改動才是革命性的,例如jBPM3到j(luò)BPM4;而jBPM小版本號的變遷則是相對有限的改變,幾乎不會需要您重新學(xué)習(xí)什么,例如jBPM4.1到j(luò)BPM4.3,改動不大,只要關(guān)注新版本的“What’s new”即可,也就是說:掌握了jBPM4.3,jBPM4.X對您就不在話下啦!
把jBPM4.3 (jbpm-4.3.zip,不區(qū)分操作系統(tǒng)) 下載下來之后,解壓到硬盤上的任何一個目錄中,這個目錄就是您的jBPM“工作目錄”了。
注意:這個“工作目錄”的絕對路徑最好不要包含非英文字符,例如中文;最好也不要含有空格。如果您不遵守這兩條規(guī)則,也許您在jBPM開發(fā)過程中會遇到些莫名其妙的麻煩。 |
下面以 ${jbpm.home} 指代這個“工作目錄”。
這個目錄中包含如下子目錄及文件。
>> doc:包括用戶指南、Javadoc、Schemadoc以及開發(fā)指南。
>> examples:包括用戶指南中使用到的示例流程。
>> install:包括適用于不同環(huán)境的安裝腳本。
>> lib:包括jBPM依賴的第三方庫和一些特定的歸檔包。
>> src:全部jBPM源代碼。
>> jbpm.jar:jBPM源代碼歸檔包文件。
>> migration:jBPM升級功能解決方案包(這在本書第二篇的11.2 流程定義轉(zhuǎn)換工具中會提及)。
在開始使用jBPM前,還需要準(zhǔn)備如下環(huán)境:
1)JDK(標(biāo)準(zhǔn)Java開發(fā)包)5或更高版本??梢栽趆ttp://java.sun.com/javase/ downloads/獲取到最新版本的JDK。關(guān)于如何安裝和設(shè)置JDK到您的操作系統(tǒng)請參考相關(guān)資料,本書不做說明。
2)安裝jBPM需要執(zhí)行Ant腳本,所以需要Apache Ant 1.7.0或更高版本??梢栽?http://ant.apache.org/bindownload.cgi 獲取到最新版本的Ant。
快速開始吧
如果作為一名初學(xué)者,拿到j(luò)BPM后,您最想做什么?沒錯,快速地安裝好,開始運(yùn)行。
下面的范例將以最簡單的方式幫助您快速開始使用jBPM。
提示:如果您有下載過apache-tomcat-6.0.20.zip 或jboss-5.0.0.GA.zip(Tomcat 還是JBoss?視您想要運(yùn)行jBPM的應(yīng)用服務(wù)器類型而定,二者選其一即可),可以把它放到${jbpm.home}/install/downloads目錄下。這樣可以避免安裝腳本從網(wǎng)絡(luò)上下載這些jBPM所需的軟件。同理適用于eclipse-jee-galileo-win32.zip,或在Linux平臺下的 eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz,或在Mac OS X平臺下的 eclipse-jee-galileo- macosx-carbon.tar.gz。 |
按步驟來:
1)打開命令控制臺(即Windows下的cmd),進(jìn)入目錄 ${jbpm.home}/install。
2)運(yùn)行腳本(當(dāng)然需要配置好Ant命令的路徑)ant demo.setup.tomcat或者ant demo.setup.jboss。
沒了,就這么簡單的兩步。
實(shí)際上這兩步幫您做了如下工作:
1)把Tomcat安裝到${jbpm.home}/apache-tomcat-6.0.20目錄下。
2)把jBPM安裝到Tomcat中。
3)安裝HSQLDB,并在后臺啟動。
4)創(chuàng)建數(shù)據(jù)庫表結(jié)構(gòu)。
5)在后臺啟動Tomcat。
6)根據(jù)示例(來自examples目錄)創(chuàng)建一個examples.bar業(yè)務(wù)流程歸檔,并把它發(fā)布到j(luò)BPM數(shù)據(jù)庫中。
7)從${jbpm.home}/install/src/demo/example.identities.sql初始化用戶和組。
8)安裝Eclipse到 ${jbpm.home}/eclipse。
9)啟動Eclipse。
10)安裝jBPM Web控制臺。
11)安裝Signavio Web設(shè)計器。
當(dāng)這些都完成后,Tomcat(或JBoss,由您之前運(yùn)行的 demo.setup.*腳本決定)會在后臺啟動。
一旦Eclipse啟動成功,您可以在其上安裝GPD(圖形化流程設(shè)計器),使用這個基于Eclipse的客戶端軟件去進(jìn)行流程建模,如何安裝請參考2.9 安裝圖形化流程設(shè)計器(GPD)。
或者您可以通過Signavio web設(shè)計器進(jìn)行流程建模:http://localhost:8080/jbpmeditor/ p/explorer。
這時候,您也可以使用jBPM控制臺:http://localhost:8080/jbpm-console/,利用表2-1中所列用戶之一進(jìn)行登錄。
表 2-1 jBPM控制臺用戶
注意:jBPM4.3控制臺目前存在一個問題——對于一些比較慢的機(jī)器,在初始化流程報表時,控制臺的失效時間太短了,所以當(dāng)您第一次請求流程報表時,會出現(xiàn)超時,控制臺會崩潰。注銷,然后再次登錄,就可以避過這個問題。同時,這個問題已經(jīng)提交到了官方JIRA – JBPM-2508。 |