jBPM,,全稱是Java Business Process Management,是一種基于J2EE的輕量級工作流管理系統(tǒng),。jBPM是公開源代碼項(xiàng)目,,它使用要遵循 Apache License。jBPM在 jBPM最大的特色就是它的商務(wù)邏輯定義沒有采用目前的一些規(guī)范,如WfMC‘s XPDL, BPML, ebXML, BPEL4WS等,,而是采用了它自己定義的JBoss jBPM Process definition language (jPdl),。jPdl認(rèn)為一個(gè)商務(wù)流程可以被看作是一個(gè)UML狀態(tài)圖。jPdl就是詳細(xì)定義了這個(gè)狀態(tài)圖的每個(gè)部分,,如起始,、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等,。 jBPM的另一個(gè)特色是它使用Hibernate來管理它的數(shù)據(jù)庫,。Hibernate是目前Java領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過Hibernate,,jBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理,。 使用jBPM開發(fā)工作流的一般流程如下: 1) jBPM的運(yùn)行需要數(shù)據(jù)庫的支持,,因此系統(tǒng)設(shè)計(jì)時(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í)際上就是向數(shù)據(jù)庫插入一些相關(guān)數(shù)據(jù)。 6) 利用jBPM API函數(shù)開發(fā)相應(yīng)的工作流程,。 |
|