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