1、首先:在配置jbpm的環(huán)境中“第3步”我提到過(guò),如何部署到jboss中時(shí)候,我沒(méi)有以肯定的語(yǔ)氣,在此,我仔細(xì)看了一下build.xml文件中??梢钥吹?/span><copy todir="${jboss.home}/server/jbpm">類似的語(yǔ)句等等,可以肯定在部署到jboss的server中是以ant的copy 命令完成,類似的還有web應(yīng)用jbpm.war的部署也有同樣的方式完成的。在此做以補(bǔ)充。
下面開始http://www.jbpm.org/getting.started.html中的剩余部分的學(xué)習(xí):
2、The process archive input部分:
暫時(shí)對(duì)process archive不做翻譯,下面部分都直接引原文詞,process archive,大致就是過(guò)程定義文檔的含義。切換目錄到jbpm的目錄,本文中為:D:\jbpm\code\jboss-jbpm-2.0,進(jìn)入web目錄下targer目錄可以看到payraiseprocess.par,感覺(jué)站點(diǎn)上說(shuō)明文件可知利用winrar或者winzip等類似的壓縮工具進(jìn)行展開。
解壓縮payraiseprocess.par文件目錄結(jié)構(gòu)如下:
Processdefinition.xml
Forms.xml
Evaluating.form
Request.form
Treat.form
Update.erp.form
Payraise.gif
processdefinition.xml
包含了過(guò)程定義的格式,這個(gè)文件被應(yīng)用在核心引擎中,以jpdl語(yǔ)言進(jìn)行描述編寫,這些所有文件是由web應(yīng)用來(lái)使用創(chuàng)建過(guò)程實(shí)例和接口。
forms.xml
主要是描述在過(guò)程和form中的不同狀態(tài)之間的關(guān)系
3、Directory structure部分:
這一部分比較容易理解,大致意思如下:
使用ant進(jìn)行build過(guò)程,src包含java源碼,src/test包含的測(cè)試case
core目錄用以生成jbpm.core.jar
web目錄生成jbpm.war
ejb目錄生成jbpm.ejb.jar
doc包含了所有的jbpm文檔
lib目錄包含所有被用到的jar包或者他們的licenses。
Example包含一個(gè)例子project以供開發(fā)過(guò)程
在每層目錄下都有一個(gè)build.xml進(jìn)行本層目錄的build過(guò)程。在根目錄下由統(tǒng)一的一個(gè)build.xml進(jìn)行控管。
一個(gè)小小的發(fā)現(xiàn),在jbpm的目錄的doc下有完整的jbpm站點(diǎn)。
如你需要看http://www.jbpm.org/javadoc/index.html則可以直接到file:///D:/jbpm/code/jboss-jbpm-2.0/doc/html/javadoc/index.html部分來(lái)查看jbpm的java部分api,這樣就方便離線學(xué)習(xí)。
4、Overview of the jBpm packages部分(包括下面幾個(gè)小部分):
Core部分:
core/target/jbpm.core.jar是核心的工作流引擎部分,是在j2se環(huán)境下就可以run起來(lái)的。這部分所需要的關(guān)聯(lián)lib有:lib/commons/*.jar ;lib/hibernate/*.jar ;database driver classes (e.g. lib/hsqldb/hsqldb.jar)
web部分:
produced files : web/target/jbpm.war and web/target/payraiseprocess.par
這部分是web應(yīng)用部分,有兩個(gè)目的:
1、 快速原型法:在過(guò)程定義中創(chuàng)建一個(gè)簡(jiǎn)單的xml文件和一些form文件,這樣你就可以針對(duì)你的過(guò)程定義文件來(lái)制定自己的web應(yīng)用。
2、 作為一個(gè)普通的web應(yīng)用的基礎(chǔ)
3、 需要servlet支持,即servlet-api.jar支持。
Ejb部分:ejb/target/jbpm.ejb.jar and ejb/target/jbpm.ejb.client.jar
這部分是jbpm的ejb部分包含wrapper用做jbpm服務(wù)執(zhí)行
可以用做部署在j2ee服務(wù)器上
運(yùn)行一個(gè)ejb模塊:
這一部在下一章節(jié)中進(jìn)行分析:
5、 PDE部分(Process development environment)過(guò)程開發(fā)環(huán)境
首先來(lái)理解一下PDE的概念,PDE是一個(gè)用以開發(fā)過(guò)程文檔的帶有build script的項(xiàng)目目錄結(jié)構(gòu)。PDE部分不包含用以執(zhí)行環(huán)境除非是出于測(cè)試的目的。
Jbpm的輸入是商業(yè)過(guò)程規(guī)則描述。這些規(guī)則描述就被稱為過(guò)程定義文檔(process archive)PDE就是一個(gè)模板項(xiàng)目用以創(chuàng)建如此process archive。
從模板中創(chuàng)建項(xiàng)目的過(guò)程如下:
更新build.properties中的jbpm.pde的home路徑到一個(gè)有效路徑,我設(shè)置的是D:\\jbpm\\code\\jboss-jbpm-2.0\\pde\\jbpm.pde
然后在jbpm home目錄下執(zhí)行‘a(chǎn)nt create.pde‘然后就可以在上面的pde目錄下生成名為jbpm.pde的文件夾下面包含lib目錄、src目錄、target目錄build.propertys和build.xml文件。
在jbpm.pde目錄下,分析如下:
src/process/exampleprocess.xml
:
展現(xiàn)的是一個(gè)過(guò)程定義的基礎(chǔ)框架,這個(gè)文件和其他一些jar包或者zip文件合起來(lái)叫做一個(gè)process archive。
src/java/...
:
這里的就不多說(shuō)了,是源碼目錄。
Build.
xml:ant script
寫過(guò)程定義的方法有兩種:
其一:
see The jPdl reference manual.
其二:參看core中src/test中resource和java中部分
接下來(lái)還有一些在eclipse下創(chuàng)建項(xiàng)目的方法這里就不詳細(xì)寫了。
6、
ant
部分
在jbpm home的各個(gè)目錄下執(zhí)行ant –p檢驗(yàn)ant script
就寫到這里,耗時(shí)2.5個(gè)小時(shí)。建議參照英文原文來(lái)看此文,謝謝!如果有什么意見(jiàn)問(wèn)題歡迎和我探討:yun15291li@hotmail.com
聯(lián)系客服