只需要把jBPM (jbpm-4.X.zip ) 下載下來,,然后解壓到你的硬盤上的什么地方。 你將看到下面的子目錄:
doc : 用戶手冊,,javadoc和開發(fā)指南
examples : 用戶手冊中用到的示例流程
install : 用于不同環(huán)境的安裝腳本
lib : 第三方庫和一些特定的jBPM依賴庫
src : 源代碼文件
jbpm.jar : jBPM主庫歸檔
migration : 參考開發(fā)指南
這個范例安裝是最簡單的方式開始使用jBPM,。 這一章介紹了完成范例安裝的步驟,。
如果你之前下載過jboss-5.0.0.GA.zip ,你可以把它放到 ${jbpm.home}/install/downloads 目錄下,。 否則腳本會為你下載它,,但是它會消耗一些時間(與你的網(wǎng)絡(luò)情況有關(guān))。 eclipse-jee-galileo-win32.zip也一樣(或者eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz在linux平臺下 和eclipse-jee-galileo-macosx-carbon.tar.gz在Mac OSX平臺下),。
打開命令控制臺,,進入目錄${jbpm.home}/install 。 然后運行
ant demo.setup.jboss
或者
ant demo.setup.tomcat
這將
- 把JBoss安裝到
${jbpm.home}/jboss-5.0.0.GA 目錄
- 把jBPM安裝到JBoss中,。
- 安裝hsqldb,,并在后臺啟動。
- 創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)
- 在后臺啟動JBoss
- 根據(jù)示例創(chuàng)建一個examples.bar業(yè)務(wù)歸檔,,把它發(fā)布到j(luò)BPM數(shù)據(jù)庫中
- 從
${jbpm.home}/install/src/demo/example.identities.sql ,,讀取用戶和組。
- 安裝eclipse到
${jbpm.home}/eclipse
- 啟動eclipse
- 安裝jBPM web控制臺
- 安裝Signavio web建模器
當這些都完成后,,JBoss(或Tomcat,,根據(jù)demo.setup腳本中的選擇)會在后臺啟動,。 一旦eclipse完成啟動,你可以繼續(xù)執(zhí)行下面的教程 第 3 章 流程設(shè)計器(GPD)來開始編碼你的jBPM業(yè)務(wù)流程,。
或者你可以啟動建模流程,,通過 Signavio web設(shè)計器。
或者使用jBPM控制臺,。 你可以使用下面用戶之一進行登陸:
表 2.1. 示例控制臺用戶:
用戶名 |
密碼 |
alex |
password |
mike |
password |
peter |
password |
mary |
password |
目前存在的問題: 現(xiàn)在,,對于一些比較慢的機器,在初始化報表時,, 控制臺的失效時間太短了,,所以當你第一次請求報表時, 會出現(xiàn)超時,,控制臺會崩潰。 注銷,,然后再次登錄,,就可以避過這個問題。 這個問題已經(jīng)提交到JIRA中了 JBPM-2508
jBPM下載包中包含了一個install 目錄,, 目錄中有一個ant的build.xml文件,,你可以使用它來 把jBPM安裝到你的應(yīng)用環(huán)境中。
最好嚴格按照這些安裝腳本,, 進行安裝和發(fā)布jBPM配置文件,。我們可以自定義jBPM配置文件, 但這是不被支持的,。
要想調(diào)用安裝腳本,,打開命令行,進入${jbpm.home}/install 目錄,。 使用ant -p 你可以看到 這里可以使用的所有腳本,。腳本的參數(shù)都設(shè)置了默認值, 可以快速執(zhí)行,,下面列表給出了可用腳本的概況:
demo.setup.jboss :安裝jboss,,把jbpm安裝到j(luò)boss中, 啟動jboss,,創(chuàng)建jbpm數(shù)據(jù)庫表結(jié)構(gòu),,部署實例,加載實例身份認證信息,, 安裝并啟動eclipse
demo.setup.tomcat :安裝tomcat,,把jboss安裝到tomcat中, 啟動tomcat,,創(chuàng)建jbpm數(shù)據(jù)庫表結(jié)構(gòu),,部署實例,,加載實例身份認證信息, 安裝并啟動eclipse
clean.cfg.dir :刪除${jbpm.home}/install/generated/cfg 文件夾,。
create.cfg :創(chuàng)建一個配置在 ${jbpm.home}/install/generated/cfg 下,,基于當前的參數(shù)。
create.jbpm.schema :在數(shù)據(jù)庫中創(chuàng)建jbpm表
create.user.webapp 創(chuàng)建一個基本的webapp在 ${jbpm.home}/install/generated/user-webapp 中
delete.jboss :刪除安裝的jboss
delete.tomcat :刪除安裝的Tomcat
demo.teardown.jboss :刪除jbpm數(shù)據(jù)庫的表并停止jboss
demo.teardown.tomcat :停止tomcat和hsqldb服務(wù)器(如果需要)
drop.jbpm.schema :從數(shù)據(jù)庫中刪除jbpm的表
get.eclipse :下載eclipse如果它不存在
get.jboss :下載一個JBoss AS,,已經(jīng)測試過當前的jBPM版本,,如果它不存在
get.tomcat :下載一個Tomcat,已經(jīng)測試過當前的jBPM版本,,如果它不存在
hsqldb.databasemanager :啟動hsqldb數(shù)據(jù)庫管理器
install.eclipse :解壓eclipse,,下載eclipse如果它不存在
install.jboss :下載JBoss如果它不存在,并解壓
install.jbpm.into.jboss :把jBPM安裝到JBoss中
install.tomcat :把tomcat下載到${tomcat.distro.dir}如果tomcat不存在,,并解壓tomcat
install.jbpm.into.tomcat :把jBPM安裝到tomcat中
install.examples.into.tomcat :部署所有的實例流程
install.signavio.into.jboss :把signavio安裝到j(luò)boss中
install.signavio.into.tomcat 把signavio安裝到tomcat中
load.example.identities :讀取實例用戶和用戶組數(shù)據(jù)到數(shù)據(jù)庫
reinstall.jboss :刪除之前的jboss安裝,,并重新安裝jboss
reinstall.jboss.and.jbpm :刪除之前的jboss安裝,并重新安裝jboss并把jbpm安裝到它里面
reinstall.tomcat :刪除之前的tomcat安裝,,并重新安裝tomcat
reinstall.tomcat.and.jbpm :刪除之前的tomcat安裝,,并重新安裝tomcat并把jbpm安裝到它里面
start.eclipse :啟動eclipse
start.jboss :啟動jboss,等待到j(luò)boss啟動完,,然后讓jboss在后臺運行
start.tomcat :啟動Tomcat,,等待到Tomcat啟動完,然后讓Tomcat在后臺運行
stop.jboss :通知jboss停止,,但是不等到它完成
stop.tomcat 通知Tomcat停止,,但是不等到它完成
upgrade.jbpm.schema :更新數(shù)據(jù)庫中的jBPM表到當前版本
要想指定你的配置文件,使用上面的腳本(比如DB表結(jié)構(gòu)生成),, 最簡單的方法是修改對應(yīng)的配置文件,,在目錄${jbpm.home}/install/jdbc 。 對應(yīng)的配置文件會被腳本加載,,根據(jù)對應(yīng)的DB,。
下面的參數(shù)也可以自定義。
database : 默認值是hsqldb ,。 可選值為mysql , oracle 和postgresql
jboss.version : 默認值是5.0.0.GA ,。 可選值是5.1.0.GA
如果想要自定義這些值,只需要像這樣使用-D
ant -Ddatabase=postgresql demo.setup.jboss
作為可選方案,,你可以在${user.home}/.jbpm4/build.properties 中設(shè)置自定義的參數(shù)值
我們提供了自動安裝jBPM的ant腳本,。 這些腳本會將正確的依賴庫和正確的配置文件 為你安裝到正確的位置。如果你想在你的應(yīng)用中創(chuàng)建自己的jBPM,, 可以參考開發(fā)指南獲得更多信息,。
install.jbpm.into.jboss 任務(wù)會把jBPM安裝到你的JBoss 5中。 進入安裝目錄下,執(zhí)行ant -p 可以獲得更多信息,。 這個安裝腳本會把jBPM安裝為一個JBoss的服務(wù),, 因此所有應(yīng)用都可以使用同一個jBPM的流程引擎。
可以指定-Djboss.home=PathToYourJBossInstallation 來修改你的JBoss的安裝路徑,。
在JBoss中,,ProcessEngine 可以通過JNDI獲得, new InitialContext().lookup("java:/ProcessEngine") ,, 相同的流程引擎可以通過Configuration.getProcessEngine() 獲得,。
install.jbpm.into.tomcat 任務(wù)會把jBPM安裝到 你的Tomcat中。
使用install.signavio.into.jboss 和 install.signavio.into.tomcat 任務(wù)可以將Signavio基于web 的流程編輯器安裝到JBoss或Tomcat中,。
如果你希望把jBPM部署為你的web應(yīng)用的一部分,,可以使用 create.user.webapp 這個安裝任務(wù)。 這會創(chuàng)建一個包含jBPM的web應(yīng)用,,在${jbpm.home}/install/generated/user-webapp 目錄下,。
如果你在JBoss上或其他包含jta.jar的應(yīng)用服務(wù)器上部署了你的應(yīng)用, 你需要把${jbpm.home}/install/generated/user-webapp/WEB-INF/lib/jta.jar 刪除,。
安裝腳本也包含了執(zhí)行數(shù)據(jù)庫的操作 比如創(chuàng)建表,,如果你是第一次安裝jBPM, 或者更新數(shù)據(jù)庫使用之前版本的表結(jié)構(gòu),。 刪除表也是可選的,。
使用任何數(shù)據(jù)庫操作的前提條件是 在${jbpm.home}/install/jdbc 中指定你的連接參數(shù),。
2.10.1. 創(chuàng)建或刪除表結(jié)構(gòu)
要想創(chuàng)建表結(jié)構(gòu),,執(zhí)行create.jbpm.schema 任務(wù) 在${jbpm.home}/install 目錄下。 作為創(chuàng)建表,、約束的一部分,,涉及的任務(wù)會初始化 JBPM4_PROPERTY 表, 使用當前的引擎版本(key db.version )和ID生成器版本 (key next.dbid ),。
要想刪除表結(jié)構(gòu),,只要執(zhí)行drop.jbpm.schema 任務(wù)。 注意這個操作會刪除jBPM表中的 所有數(shù)據(jù),。
2.10.2. 更新已存在的數(shù)據(jù)庫
要想更新,,執(zhí)行upgrade.jbpm.schema 任務(wù) 在${jbpm.home}/install 目錄下。
更新是一個兩步操作,。前一步是添加額外的表,,列或者約束 這些是在新版本中的。 下一步,,插入種子數(shù)據(jù),。
從4.0到4.1,表JBPM4_VARIABLE 添加了一個新列 CLASSNAME_ 用來支持設(shè)置 流程變量的值的自定義類型,hibernate的類型映射,。 這個列是可為null的,,因為這個功能在4.0中沒有支持, 所以沒有初始值,。
從4.1到4.2,,更新過程更有趣一些。
- 一個新表
JBPM4_PROPERTY 被用來保存引擎范圍的數(shù)據(jù),。
- jBPM版本保存在
JBPM4_PROPERTY 表中 使用key db.version 用來在未來發(fā)布中 精確指定標示符,。
- ID生成策略是完全跨數(shù)據(jù)庫的。 下一個有效的ID是通過搜索所有包含主鍵列的表計算出的,, 保存在key
next.dbid 中 在JBPM4_PROPERTY 表中,。
- 流程語言設(shè)置為
jpdl-4.0 用于所有已經(jīng)存在的流程定義,對應(yīng)key langid 在表JBPM4_DEPLOYPROP 中,。jPDL解析器對應(yīng) langid 屬性來讀取流程文檔 以此支持向后的兼容,。
圖形化流程設(shè)計器(GPD)使用Eclipse作為其平臺, 這一節(jié)的內(nèi)容將介紹如何獲得和安裝Eclipse,, 并把GPD插件安裝到eclipse上,。
使用Eclipse軟件升級(Software Update)機制安裝設(shè)計器是非常簡單的。 在gpd目錄下有一個install/src/gpd/jbpm-gpd-site.zip文件,, 這就是更新站點(archived update site)的 壓縮包,。
在Eclipse里添加更新站點的方法:
幫助 --> 安裝新軟件...
- 點擊
添加...
- 在
添加站點 對話框中,單擊 壓縮包...
- 找到
install/src/gpd/jbpm-gpd-site.zip 并點擊 '打開'
- 點擊
確定 在 添加站點 對話框中,,會返回到 '安裝'對話框
- 選擇出現(xiàn)的
jPDL 4 GPD 更新站點
- 點擊
下一步.. 然后點擊 完成
- 接受協(xié)議
- 當它詢問的時候重啟eclipse
- 點擊
Window --> Preferences
- 選擇
JBoss jBPM --> jBPM 4 --> Runtime Locations
- 點擊
Add...
- 在
Add Location 對話框中,,輸入一個名字,比如 jbpm-4.0 然后點擊 Search...
- 在
Browse For Folder 對話框中,,選擇你的jbpm根目錄,,然后點擊 OK
- 點擊
OK 在 Add Location 對話框中
這一節(jié)演示如何在你的工作空間定義一個用戶庫, 用來放置jBPM的庫文件,。 如果你創(chuàng)建一個新工程,, 只需要將用戶庫全部添加到build path下
- 點擊窗口 --> 屬性(Windows --> Preferences)
- 選擇Java --> 創(chuàng)建路徑 --> 用戶類庫(Java --> Build Path --> User Libraries)
- 點擊新建(New)
- 類型名字jBPM Libraries
- 點擊添加JARs(Add JARs...)
- 找到j(luò)BPM安裝程序下的lib目錄
- 選擇lib下的所有jar文件并點擊打開(Open)
- 選擇jBPM Libraries作為入口
- 重新點擊添加JARs(Add JARs)
- 在jBPM的安裝程序的根目錄下選擇jbpm.jar文件
- 點擊打開(Open)
- 在jbpm.jar下選擇源碼附件(Source attachment)作為入口
- 點擊編輯(Edit)
- 在源碼附件的配置(Source Attachment Configuration)對話框中,點擊目錄(External Folder...)
- 找到j(luò)BPM安裝程序下的src目錄
- 點擊選擇(Choose)
- 點擊兩次'確定'(Ok)會關(guān)閉所有對話框
如果你想直接編輯XML源碼,, 最好是在你的XML目錄中指定一下模式(schema),, 這樣當你在編輯流程源碼的時候,可以更好的幫助你編寫代碼,。
- 點擊窗口 --> 屬性(Windows --> Preferences)
- 選擇XML --> 目錄(XML --> CataLog)
- 點擊添加(Add)
- 添加XML目錄(Add XML Catalog Entry)的窗口打開
- 點擊map-icon的圖標下面的按鈕并選擇文件系統(tǒng)(File System)
- 在打開的對話框中,, 選擇jBPM安裝目錄下src文件夾中jpdl.xsd文件
- 點擊打開(Open)并且關(guān)閉所有的對話框
這一節(jié)我們會在Eclipse的安裝程序下 導入示例工程
- 選擇文件 --> 導入(File --> Import)
- 選擇正常 --> 工作區(qū)中已有的工程(General --> Existing Projects into Workspace)
- 點擊下一步(Next)
- 點擊瀏覽去選擇一個根目錄(Browse)
- 通向jBPM安裝程序的根目錄
- 點擊好(Ok)
- 示例工程會自動找到并且選中
- 點擊完成(Finish)
在配置了jBPM用戶依賴庫也導入了實例后,, 所以的例子可以作為JUnit測試運行了。在一個測試上右擊,, 選擇'Run As' --> 'JUnit Test',。
設(shè)置完成,現(xiàn)在你可以開始享受這個最酷的Java流程技術(shù),。
你可以使用eclipse和ant整合來處理流程的發(fā)布,。 我們會告訴你它是如何在例子里工作地。然后你可以把這些復(fù)制到你的項目中,。 首先,,打開ant視圖。
- 選擇
Window --> Show View --> Other... --> Ant --> Ant
- 例子項目中的構(gòu)建文件
build.xml ,,從包視圖拖拽到ant視圖,。
|