日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

jBPM開發(fā)入門指南(1)

系統(tǒng) 2370 0

工作流雖然還在不成熟的發(fā)展階段,甚至還沒有一個公認(rèn)的規(guī)范標(biāo)準(zhǔn)。但其應(yīng)用卻已經(jīng)在快速展開,這說明市場對工作流框架的需求是急迫而巨大的。

我們公司的后臺短信管理系統(tǒng)涉及短信編發(fā)、領(lǐng)導(dǎo)層層審核等操作,這是一個比較典型的工作流系統(tǒng)。過去我們用的工作流引擎是 shark ,然后在使用后發(fā)現(xiàn)其過于龐大,后臺數(shù)據(jù)庫操作頻繁而未進(jìn)行優(yōu)化,直接導(dǎo)致的后果就是前臺操作緩慢。于是經(jīng)研究決定,將工作流引擎由 shark 換成 jBPM

jBPM 之前是一個開源軟件,后加入 JBoss 組織。正好我們公司也是用 JBoss 的。不過 jBPM 并沒有綁定在 JBOSS 上, Tomcat 等也可以使用它。

jBPM 的正處在不斷發(fā)展中,做為開源軟件的特點,其設(shè)計變化往往很大。所以一些過去的資料可能已經(jīng)不適用了。于是作者根據(jù)自己的使用經(jīng)驗,重新整理出這份文檔,以備學(xué)習(xí)參考。

注:本文使用的 jBPM 版本為 3.1.1

環(huán)境準(zhǔn)備

1 、安裝 JDK

所有 JAVA 開發(fā)第一個需要安裝的,沒什么好說的。記得把系統(tǒng)變量 JAVA_HOME 設(shè)上。

2 、安裝 Ant

Ant 是使用 jBPM 必須的一個工具。 jBPM 中的很多操作都要用到 Ant

安裝方法:

1 )先下載: http://archive.apache.org/dist/ant/binaries/ ,選一個如: apache-ant-1.6.5-bin.zip

2 )解壓到 D:\ant (當(dāng)然其他目錄也可以)。

3 )設(shè)置如下系統(tǒng)變量: ANT_HOME=d:\ant

4 )把 %ANT_HOME%\bin 加入到系統(tǒng)變量 PATH 中。

3 、安裝 Eclipse

Eclipse 不是開發(fā) jBPM 必須的工具,但它是對 jBPM 開發(fā)很有幫助的工具,特別是 jBPM 提供了一個 Eclipse 插件用來輔助開發(fā) jBPM 。關(guān)于 Eclipse 的安裝不贅述了,本文用的版本是: Eclipse3.2

?

安裝 jBPM

jBPM 的下載地址: http://www.jboss.com/products/jbpm/downloads

l ?????????? JBoss jBPM jBPM 的軟件包

l ?????????? JBoss jBPM Starters Kit  是一個綜合包,它包括了 jBPM 軟件包、開發(fā)插件、一個配置好了的基于 JBoss jBPM 示例、一些數(shù)據(jù)庫配置文件示例。

l ?????????? JBoss jBPM Process Designer Plugin  是輔助開發(fā) jBPM Eclipse 插件。

l ?????????? JBoss jBPM BPEL Extension jBPM 關(guān)于 BPEL 的擴(kuò)展包

本指南選擇下載: JBoss jBPM Starters Kit 。下載后解壓到 D:\jbpm-starters-kit-3.1 ,目錄下含有五個子目錄:

l ?????????? jbpm jBPM 的軟件包

l ?????????? jbpm-bpel 只含有一個網(wǎng)頁

l ?????????? jbpm-db 各種數(shù)據(jù)庫 hibernate 配置文件示例,有些還包含了相應(yīng)的 jdbc 驅(qū)動程序。

l ?????????? jbpm-designer  輔助開發(fā) jBPM Eclipse 插件,具體在 jbpm-gpd-feature 子目錄中

l ?????????? jbpm-server  一個已經(jīng)配置好了的基于 JBoss jBPM 示例 .

?

感覺下工作流

前面我們說了,在 JBoss jBPM Starters Kit jbpm-server 目錄是一個已經(jīng)配置好的了 jBPM 示例,那么讓我們來感覺一下 jBPM 做出的東西吧。

?

雙擊 jbpm-server 目錄下的 start.bat 文件,啟動 JBoss 服務(wù)。這時會打開一個 DOS 窗口,啟動完成后,日志會不斷輸出,其中最后一句是“ 13:55:39,937 DEBUG [StaticNotifier] going to wait for (CMD_EXECUTOR, java.lang.Object@1df59bd) ”,這表示 jBPM 在開始工作了,它不斷進(jìn)行輪詢。

打開網(wǎng)頁: http://localhost:8080/jbpm/  得到如下畫面

? 20060713_image001.jpg

這是一個已經(jīng)用 jBPM 開發(fā)好的用戶定單流程,具有下單、審核、估價等流程。它所用的數(shù)據(jù)庫是一個內(nèi)置的數(shù)據(jù)庫。

cookie monster 用戶登錄,選擇“ create new web sale order ”可以創(chuàng)建一個定單。如下圖所示,在圖左邊是填寫的定單情況,右邊一整個定貨流程的示意圖,紅色框表示流程進(jìn)行到哪一步了。填寫好定單好,選擇“ Save and Close Task ”,完成定單提交。

? 20060713_image002.jpg

選擇右上角的“ Login as another user ”以另外一個用戶名 ernie 登錄。這時可以看到 ernie 用戶的任務(wù)列表中多了一項。

? 20060713_image003.jpg

點進(jìn)去后,顯示如下畫面。這個示例對中文的支持不好,全都顯示成了 unicode 碼了。不管這什么多,反正知道是這么回事就行了。在 comment 項填寫意見,選 OK 按鈕,進(jìn)入到下一步。如果選擇 more info needed 按鈕,則打回給 cookie monster 用戶修改定單。

? 20060713_image004.jpg

下面的流程,這里就不再贅述了。在這個很標(biāo)準(zhǔn)的工作流示例中,我們基本可以看到 jBPM 的應(yīng)用范圍還是比較廣的。而且從這個示例,我們是看不出有 jBPM 的,也就是說 jBPM 在后臺起著作用。

從這個例子,還看不出 jBPM 的優(yōu)勢。不過,如果在一個流程不確定,經(jīng)常需要變動的項目中, jBPM 的好處將會顯然出來。應(yīng)用 jBPM 后,改變流程只需改變流程描述文件,這將在后面的內(nèi)容提到。

這是一個已做好的示例,接下來我們將仿造這個實例來開發(fā)一個請假流程。

jBPM開發(fā)入門指南(1)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 柳江县| 冀州市| 平顶山市| 金沙县| 永新县| 岳阳市| 元谋县| 卫辉市| 徐闻县| 黄冈市| 南通市| 中卫市| 若尔盖县| 林甸县| 富平县| 福鼎市| 昂仁县| 芦溪县| 通海县| 遵化市| 米林县| 商洛市| 威信县| 桐梓县| 高阳县| 广德县| 峨眉山市| 若羌县| 乐亭县| 红桥区| 高阳县| 疏附县| 丰原市| 通州市| 浑源县| 太保市| 贺州市| 稷山县| 铜梁县| 海林市| 宜都市|