資源描述:
《jbpm開發(fā)入門指南》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、jBPM開發(fā)入門指南(1)工作流雖然還在不成熟的發(fā)展階段,甚至還沒有一個公認的規(guī)范標準。但其應(yīng)用卻已經(jīng)在快速展開,這說明市場對工作流框架的需求是急迫而巨大的。我們公司的后臺短信管理系統(tǒng)涉及短信編發(fā)、領(lǐng)導(dǎo)層層審核等操作,這是一個比較典型的工作流系統(tǒng)。過去我們用的工作流引擎是shark,然后在使用后發(fā)現(xiàn)其過于龐大,后臺數(shù)據(jù)庫操作頻繁而未進行優(yōu)化,直接導(dǎo)致的后果就是前臺操作緩慢。于是經(jīng)研究決定,將工作流引擎由shark換成jBPM。jBPM之前是一個開源軟件,后加入JBoss組織。正好我們公司也是用JBoss的。不過jBPM并沒有綁定在JBOSS上,Tomcat等也可以使用它。jBPM的正處在不斷
2、發(fā)展中,做為開源軟件的特點,其設(shè)計變化往往很大。所以一些過去的資料可能已經(jīng)不適用了。于是作者根據(jù)自己的使用經(jīng)驗,重新整理出這份文檔,以備學(xué)習(xí)參考。注:本文使用的jBPM版本為3.1.1環(huán)境準備1、安裝JDK所有JAVA開發(fā)第一個需要安裝的,沒什么好說的。記得把系統(tǒng)變量JAVA_HOME設(shè)上。2、安裝AntAnt是使用jBPM必須的一個工具。jBPM中的很多操作都要用到Ant。安裝方法:(1)先下載:http://archive.apache.org/dist/ant/binaries/,選一個如:apache-ant-1.6.5-bin.zip。(2)解壓到D:ant(當然其他目錄也可以)
3、。(3)設(shè)置如下系統(tǒng)變量:ANT_HOME=d:ant。(4)把%ANT_HOME%bin加入到系統(tǒng)變量PATH中。3、安裝EclipseEclipse不是開發(fā)jBPM必須的工具,但它是對jBPM開發(fā)很有幫助的工具,特別是jBPM提供了一個Eclipse插件用來輔助開發(fā)jBPM。關(guān)于Eclipse的安裝不贅述了,本文用的版本是:Eclipse3.2?安裝jBPMjBPM的下載地址:http://www.jboss.com/products/jbpm/downloads l??????????JBossjBPM是jBPM的軟件包l??????????JBossjBPMStartersKit
4、 是一個綜合包,它包括了jBPM軟件包、開發(fā)插件、一個配置好了的基于JBoss的jBPM示例、一些數(shù)據(jù)庫配置文件示例。l??????????JBossjBPMProcessDesignerPlugin 是輔助開發(fā)jBPM的Eclipse插件。l??????????JBossjBPMBPELExtensionjBPM關(guān)于BPEL的擴展包本指南選擇下載:JBossjBPMStartersKit。下載后解壓到D:jbpm-starters-kit-3.1,目錄下含有五個子目錄:l??????????jbpm jBPM的軟件包l??????????jbpm-bpel只含有一個網(wǎng)頁l????????
5、??jbpm-db各種數(shù)據(jù)庫hibernate配置文件示例,有些還包含了相應(yīng)的jdbc驅(qū)動程序。l??????????jbpm-designer 輔助開發(fā)jBPM的Eclipse插件,具體在jbpm-gpd-feature子目錄中l(wèi)??????????jbpm-server 一個已經(jīng)配置好了的基于JBoss的jBPM示例.?感覺下工作流前面我們說了,在JBossjBPMStartersKit的jbpm-server目錄是一個已經(jīng)配置好的了jBPM示例,那么讓我們來感覺一下jBPM做出的東西吧。?雙擊jbpm-server目錄下的start.bat文件,啟動JBoss服務(wù)。這時會打開一個DOS
6、窗口,啟動完成后,日志會不斷輸出,其中最后一句是“13:55:39,937DEBUG[StaticNotifier]goingtowaitfor(CMD_EXECUTOR,java.lang.Object@1df59bd)”,這表示jBPM在開始工作了,它不斷進行輪詢。打開網(wǎng)頁:http://localhost:8080/jbpm/ 得到如下畫面?這是一個已經(jīng)用jBPM開發(fā)好的用戶定單流程,具有下單、審核、估價等流程。它所用的數(shù)據(jù)庫是一個內(nèi)置的數(shù)據(jù)庫。以cookiemonster用戶登錄,選擇“createnewwebsaleorder”可以創(chuàng)建一個定單。如下圖所示,在圖左邊是填寫的定單情況
7、,右邊一整個定貨流程的示意圖,紅色框表示流程進行到哪一步了。填寫好定單好,選擇“SaveandCloseTask”,完成定單提交。?選擇右上角的“Loginasanotheruser”以另外一個用戶名ernie登錄。這時可以看到ernie用戶的任務(wù)列表中多了一項。?點進去后,顯示如下畫面。這個示例對中文的支持不好,全都顯示成了unicode碼了。不管這什么多,反正知道是這么回事就行了。在comment項填寫意