jBPM,全稱是Java Business Process Management,是一種基于J2EE的輕量級工作流管理系統(tǒng)。jBPM是公開源代碼項目,它使用要遵循 Apache License。jBPM在
jBPM最大的特色就是它的商務(wù)邏輯定義沒有采用目前的一些規(guī)范,如WfMC‘s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的JBoss jBPM Process definition language (jPdl)。jPdl認為一個商務(wù)流程可以被看作是一個UML狀態(tài)圖。jPdl就是詳細定義了這個狀態(tài)圖的每個部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。
jBPM的另一個特色是它使用Hibernate來管理它的數(shù)據(jù)庫。Hibernate是目前Java領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過Hibernate,jBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理。
使用jBPM開發(fā)工作流的一般流程如下:
1) jBPM的運行需要數(shù)據(jù)庫的支持,因此系統(tǒng)設(shè)計時要選定所用數(shù)據(jù)庫。只要是Hibernate支持的數(shù)據(jù)庫,jBPM就支持。數(shù)據(jù)庫的初始化可以由jBPM自動完成,也可以通過ant generate.ddl任務(wù)生成SQL語句,在jBPM外部自己創(chuàng)建所需的表。
2) 使用jPdl定義工作流,生成processdinination.xml文件??梢圆捎?/span>GUI工具gpdl,但目前只支持jBPM1.0,而且bug很多。XML的DTD定義文件在jBPM下載包中。
3) Ant create.pde生成pde包的工作目錄。將processdinination.xml文件和其它需要的文件放在指定的目錄下,使用ant build.precess.archives生成pde包。pde包的格式采用jar。
4) 更改pde工作目錄/src/config/jbpm.properties的相關(guān)屬性,主要是設(shè)定相關(guān)的數(shù)據(jù)庫連接信息。注意要將數(shù)據(jù)庫的JDBC驅(qū)動放在pde工作目錄的lib目錄下。
5) Ant deploy.process.archives將剛才生成的pde部署到數(shù)據(jù)庫。實際上就是向數(shù)據(jù)庫插入一些相關(guān)數(shù)據(jù)。
6) 利用jBPM API函數(shù)開發(fā)相應(yīng)的工作流程。