閱讀本文,你必須已經使用過工作流引擎作過純流程的例子,并且擁有java,jsp,html的基礎,而且知道如何閱讀相關javadoc/chm查閱編程所需的api。
我們以一個簡單的請假流程來介紹如何實現一個工作流項目:

流程很簡單,程序員向部門經理提交一張請假單,部門經理收到后,根據主觀意識決定是否批準(黑暗吧,哈哈…)
既然要填寫一張請假單,因此我們必須知道”請假申請”活動對應的請假單的路徑,在b/s程序中,就是請假單的超鏈接,因此我們要給請假申請活動添加一個擴展屬性來記錄超鏈接,如下:

同樣,”經理審批”活動也要一個,后兩個活動不重要,略了。

因為需要在審批的時候看到申請單的信息,所以需要知道是哪一條申請記錄,最直接的方法,就是儲存申請單的主鍵值在流程中,本例假設該表是單主鍵,所以我們在流程定義中添加一個工作流相關數據集id。
而審批需要根據審批結果是通過/失敗決定流程的走向,因此我們還需要一個工作流數據集auditResult(Boolean)

然后要設定表達式,這樣才能決定走向

另一條路徑就不設了,引擎會自動判斷。
下面是各步驟程序功能的說明:
.gif)
接下來出場的是實現代碼
…
…
…
你想的美咧,自己整去~~
后記:
本文寫得挺郁悶的,因為開始時不想畫流程,后來發(fā)現不畫流程不好解釋引擎和業(yè)務系統(tǒng)間的關系。
接著又發(fā)現不容易描述在流程進行時每一步程序該做些什么,于是又畫了張描述圖,但是這圖不知道屬于哪種圖,而且也不知道別人看不看得懂。流程活動步驟程序偽碼圖?--這么長的名字有夠拉風的。
就這樣吧。工作流的初學者可以看看這篇文章。
將工作流引擎與業(yè)務系統(tǒng)結合使用,就是在其中一處儲存另外一處的一些信息,我上面使用的是在引擎中儲存業(yè)務信息的方法,當然也可以反過來,在業(yè)務表存流程序號和活動序號。
目前任一個開源工作流引擎,都是可以應用到項目的。關鍵是看自身的技術路線合適哪個引擎,市場考量等等。
但是一般一開始使用某個引擎,以后就很難換掉,因為在不斷的擴展引擎的功能,而且要保證歷史項目的兼容性,再轉移這些代碼到另一個引擎就是浩大的工程。
本人原創(chuàng)文檔版權歸本人所有,如欲轉載,請注明作者及出處。
posted on 2006-01-05 14:46
★yesjoy★ 閱讀(176)
評論(0) 編輯 收藏