姚軍


摘 要 J2EE工作流系統的研究和應用過程中,逐漸暴露出許多問題和不足,缺乏協作的支持能力即是其中之一。本文提出一種支持協作的方法,來解決系統間協作這一問題。
關鍵字 J2EE 工作流 CSCW
中圖分類號:TP3 文獻標識碼:A
CSCW(Computer Supported Cooperative Work)簡稱計算機協同工作,指地域分散的一個群體借助計算機及其網絡技術,共同協調與協作來完成一項任務。它包括群體工作方式研究、支持群體工作的相關技術研究、協同工作系統的建設、應用系統的開發等部分。通過建立協同工作的環境,改善人們進行信息交流的方式,消除或減少人們在時間和空間上的相互分隔的障礙,節省工作人員的時間和精力,提高群體工作質量和效率,從而提高企業、機關、團體、乃至整個社會的整體效益和人類的生活質量。CSCW不僅需要計算機網絡與通信技術、多媒體技術等計算機技術的支持,還需要社會學、心理學、管理科學等領域的知識。
在J2EE工作流平臺中,同時運行和維護著多個J2EE工作流系統,這些系統和J2EE工作流平臺相互協作,才使得J2EE工作流平臺可以正常運轉下去。
1各個J2EE工作流系統的額外工作量
J2EE工作流平臺的出現,使得審批人不用往返于各個J2EE工作流系統審批,只須查看J2EE工作流的審批列表,就可以得到所有該此用戶審批的表單。看上去J2EE工作流平臺是萬能的,只需要開發它就可以了,但是事實上各個J2EE工作流也有自己的任務。比如審批人在審批的時候需要看到這個表單的詳細信息,不同J2EE工作流系統中,表單的詳細信息的表現形式是不同的,這點J2EE工作流平臺無法統一實現,只能由各個系統單獨開發。還有在一次J2EE工作流中,不僅流水是用被記錄在數據庫中的,用戶的申請信息也是需要被保存在數據庫的,而這個系統的申請信息也是千差萬別的,J2EE工作流平臺也無法統一記錄,所以申請信息也只能由各個系統單獨開發記錄。
由此可見,各個J2EE工作流系統除了在J2EE工作流平臺中完成流程定義外,還需要做一些額外的工作量,下圖將介紹開發一個新的J2EE工作流系統的若干流程,如圖1所示:
圖1 開發一個J2EE工作流系統需要完成的步驟
圖1中介紹了開發一個新的J2EE工作流系統需要完成若干個的步驟,其中綠色框表示這一步J2EE工作流平臺已經實現了,新系統就可以直接跳過這一步;紅色框表示,這一步J2EE工作流平臺無法統一的實現,必須由各自系統單獨開發,然后配置到J2EE工作流平臺中。
但是又有一個問題出來了,即使申請和審批查詢頁面由各自系統開發出來了,如何才能顯示在J2EE工作流平臺中呢?還記得介紹流程定義模塊時,用到的幾個Url嗎?它們就是為了解決這個問題而出現的,各個J2EE工作流系統寫好申請和審批查詢頁面,通過IIS以Web形式發布出去,在流程定義模塊添加新系統時,配置好相應的Url信息,用戶就可以通過J2EE工作流平臺中看到各個系統單獨開發的頁面。這樣做,即保持的平臺的統一和一致性,又可以體現出各個系統之間的個性。
2 J2EE工作流平臺和各個J2EE工作流系統的協作
上面在J2EE工作流平臺顯示出各個J2EE工作流系統特有的頁面,但是這樣的還是遠遠不夠的。例如E-leave請假系統是一個J2EE工作流系統,用戶申請時會J2EE工作流平臺負責產生J2EE工作流,同時請假系統負責記錄申請信息。當最后一個審批人審批同意時,J2EE工作流平臺負責結束J2EE工作流,請假系統則需要將員工的申請的假從員工基本信息表中扣除出去。也就是審批人審批時,可能需要完成兩部分的數據更新:J2EE工作流流水和請假系統,但是審批的地點是在J2EE工作流平臺,而且平臺也不知道請假系統后臺的數據庫結構,J2EE工作流平臺如何保證兩部分的更新,可以同時進行呢?
工作流平臺和各個工作流系統之間的協作需要通過以下幾個方面進行處理:
過程模型,參與者,過程管理,記錄管理,活動管理,外部應用調用,任務調度。
首先在各個工作流系統內,完成各自獨立的基本業務數據邏輯處理操作,預留一個接口等待工作流平臺調用。當用戶點擊某個操作后,J2EE工作流平臺完成流水更新操作的同時,通過JS調用預留接口,實現平臺和各個系統之間的協作。
下面以表單審批及撤銷為例進行說明:
用戶審批負責表單的審批,用戶審批和流水記錄屬于J2EE工作流平臺,表單細則屬于各個J2EE工作流系統,如圖2所示:
表單撤銷負責表單的查詢和撤銷,頁面設置同表單審批頁面類似,如圖3所示:
表單審批及撤銷是程序在J2EE平臺下保證數據的傳遞,通過數據之間的協作,完成客戶的需求。
3結束語
工作流平臺是一種典型的異步CSCW系統,但實際應用中存在著大量的同步協作需求,要求工作流系統同時具有同步協作和異步協作的能力。本文給出一個同步協作應用集成框架的基礎上,對過程模型、引擎、任務表等部分的進行改進,使工作流系統具有支持同步協作的能力。所提出的應用集成接口還不夠完善,還應該盡可能多的歸納各類應用中同步協作活動的特點,并抽象出更具代表性和通用性的方法來完善接口。另外對“并發控制”的研究也不夠深入,沒有形成非常通用的并發控制方法和并發操作間的基于語義的轉換方法。在今后的研究中,可以在以上幾個方面進行改進和進一步研究。隨著對工作流技術研究的進一步深入,工作流技術必將逐步完善和成熟,應用將不斷深入,應用范圍將不斷擴展,將為提高企業的管理水平作出更大的貢獻。