莫慶根+朱偉杰+劉愛華+溫志萍
摘要:在信息化管理的大勢下,高校實驗教學管理信息化的需求也應運而生,如何降低開發的風險,加快項目的開發速度,工作流在管理系統開發中的應用就顯得尤為重要,而jBPM則是一款很優秀的工作流引擎。實驗教學管理系統將基于Struts2、Spring、Hibernate三大框架開發,并結合jBPM工作流引擎,以實驗申請與審核的流程為例,實現工作流在系統中的應用,并最終實現提高系統性能和實現更好的業務控制的目的。
關鍵詞:實驗教學;工作流;jBPM;S2SH框架
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2017)34-0150-03
Abstract:With the development of information management, the demand for experimental education via information management in the colleges and universities has been raised in response to the proper time and conditions. It is especially important to understand how to reduce the risk of development, speed up the development of projects and apply the workflow to the development of management system. jBPM is an excellent workflow engine. Experimental education management system will be Based on three frame exploitation of Struts2, Spring and Hibernate. Combined with jBPM workflow engine and illustrated by the example of the application for experiment and audit process, experimental education management system will take the application of workflow into practice and eventually reach the ends for the improvement of system property and achieve the better service management.
Key words: experimental education; workflow; jBPM; S2SH framework
1 概述
當下,高等教育事業在我國飛速發展,同時伴隨著信息化時代的推進,信息化管理在校園工作的嵌入變成了時代需求。其中計算機實驗室的建設與管理工作是新時代高等院校工作的重要組成部分,是學校教學、科研和社會服務工作的支撐基礎。使用信息技術來進行實驗室的數字化管理已成為實驗室管理的必然趨勢,同時對減輕實驗室管理人員的工作負擔,提高工作效率和服務水平有著重要意義。
目前,南京工程學院的實驗管理系統雖然引入網絡管理系統,但是只能算是半信息化管理。如實驗安排,依然采用教師填寫表格申請,導入實驗系統,然后實驗員安排協調的模式。這種情況下,實驗信息管理明顯需要補充完善。
基于jBPM的實驗管理系統采用了jBPM工作流優化實驗管理流程,增加教師在線實驗申請和管理員審核功能,將工作流引入到實驗申請與審核流程中,不僅有利于提高實驗管理工作的管理水平和工作效率,使實驗管理更加科學、規范、有序、高效,而且能輔助教師和管理員更高效的完成實驗安排工作,對管理和教學有著雙方面的實用價值。
2 工作流技術概述
2.1 工作流簡介
工作流的概念其實早在20世紀60年代就被提出了,那個時候礙于的各方面的局限性,很長時間沒有被實現,直到八九十年代,工作流才被成功實現,并走上發展高峰期。為什么幾十年一直有人在堅持研究工作流呢,正是因為它能簡化復雜業務流程,讓工作變得更高效。
WfMC(Workflow Management Coalition)工作流管理聯盟對工作流的定義是這樣的:工作流是指一類能夠完全自動執行的經營過程,根據一系列過程規則,將文檔、信息或任務在不同的執行者之間進行傳遞與執行[1]。簡單地說,工作流就是封裝好的框架,能讓多個不同職能的人共同協作完成某項工作。
在當今時代,工作流已經被廣泛運用在各類管理系統,而jBPM便是其中的佼佼者之一。
2.2jBPM簡介
jBPM,全稱是Java Business Process Management(業務流程管理),是JBoss公司一個工作流中間件產品,它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴展的可執行流程語言框架。
jBPM最大的特色就是它的業務邏輯采用自己定義的JBoss jBPM Process definition language (jPdl)。jPdl詳細定義了一個商務流程的每個部分,如起始、結束狀態,狀態之間的轉換,過圖型化的流程定義,直觀地描述業務流程。它的另一個特色就是使用Hibernate管理數據庫,而Hibernate是目前Java領域最好的數據持久層解決方案之一。通過Hibernate,jBPM將數據的管理職能分離出去,自己只專注于處理業務邏輯[1]。
3 實驗教學管理系統的總體規劃
3.1 系統功能設計
該實驗室系統的角色由管理員、教師、學生組成。
(1) 管理員:系統基礎數據的導入導出、備份數據;動態分配教師、學生的權限;審核和安排教師申請的實驗室,及時與申請的實驗安排有沖突的教師溝通等。
(2) 教師:快速、高效、無沖突的一次性完成實驗室申請,以及對于沖突實驗的修改與提示,發布實驗任務內容,上傳學習資料以及學生報告及時的批閱與反饋等。
(3) 學生:在線提交作業,及時收到教師的反饋,共享資料的獲取。
根據角色的不同,將實驗教學管理系統劃分為實驗管理、作業管理、系統管理三大模塊。如圖1所示。
系統管理主要是針對計算機實驗室管理人員進行用戶管理、角色管理、權限管理、部門管理、課程管理、項目管理和系統配置服務的。
實驗管理主要是針對準備申請計算機實驗安排的教師進行申請實驗和實驗通知,以及計算機實驗室管理人員進行實驗審核和實驗管理服務的。
作業管理主要是針對已經有實驗安排的教師進行發布任務、批閱報告、報告統計和報告備份以及學生提交報告服務的。
對于實驗管理與作業管理模塊的開發,主要針對目前南京工程學院這兩項事務仍然通過手動完成的情況。教師對于課程的實驗申請,首先需從教務網下載申請表格,手動填寫后導入目前的實驗系統,具有局限性;由于實驗申請大都在學期初進行,教師不能及時了解實驗室使用性質、使用情況和教師之間沒有進行溝通,從而在實驗申請時很大程度上就會存在沖突情況;從實驗員了解到,對于實驗申請的審核是個繁重而艱巨的任務,特別對于沖突實驗的調配工作。另外,一門課程,教師下發報告任務,學生大部分仍然通過手寫,由學習委員統一收齊交給老師,教師批閱后手動錄入成績,但是學生仍然得不到報告的批閱情況。這些工作復雜性不高,如果將工作流技術引入其中,將會縮短辦事周期,提高辦事效率;特別當這些需求發生變化,工作流即可很好地發揮其作用[1]。
3.2 系統開發工具及環境
實驗教學管理系統采用B/S結構,后臺采用Struts2、Spring、Hibernate等技術,結合前臺jQuery、AJAX、JSON的使用更好地完成數據交互。服務器使用Tomcat7.0,數據庫為MySQL,集成開發環境是Eclipse。工作流引擎使用jBPM4.4,開發人員可根據需求利用設計器設計流程。
4 jBPM在實驗教學管理系統中的應用
4.1 jBPM工作過程
實驗教學管理系統中,除了系統基礎數據模塊外,教師實驗申請與審核、學生提交作業的批閱都涉及按一定的流程向下進行以推動事務的發展。如實驗申請與審核流程,教師根據要求填寫實驗申請;管理員對實驗申請進行審批,審批通過,通知教師,流程結束;審批不通過,則退回到相關教師,教師修改后重新提交申請,直至審核通過,流程結束。
程序設計者使用jBPM可視化的流程設計器設計流程,將業務過程定義為流程引擎能夠識別的形式語言,同時結合XML配置文件自定義相關配置,對于復雜流程的處理可以在XML配置文件中指定Java動態處理業務邏輯;工作流引擎接收流程定義設計文件,解析創建過程實例;在流程定義實例執行期間,工作流根據流程定義部署信息指定任務推進的順序,并把相關任務推送給辦理人;最后, 相關辦理人填寫處理意見提交表單以完成任務。以此流程進行循環,知道所有既定的任務執行完成,該過程實例就結束了,轉存為歷史任務。工作流涉及參與者、活動和數據這三個重要組成部分,也就是說工作流就是描述了誰在什么任務里操作了什么數據,而jBPM 作為一個輕量級框架就是為了解決這樣的問題而產生的[3]。
4.2 實驗申請與審核流程的設計與實現
通過對教師實驗申請與審核業務需求的分析,設計出符合JPDL規范和業務需求的流程定義。jBPM的流程定義分為兩部分:experimet.jpdl.xml和experimet.png,經壓縮為zip文件后上傳到實驗教學管理系統;搭建數據庫環境,利用Hibernate自動建表功能生成jBPM工作所需的表;將壓縮好的流程定義導入系統,流程引擎讀取解析后持久化流程定義到數據庫。
工作流在處理流程時,業務數據在單獨的表里。在流程推進時,通過設置流程變量關聯業務數據,區別開流程數據。設置流程變量后,可以在流程的任一階段查詢業務數據,輔助流程的進行。根據實驗申請與審核相關需求,設計流程圖、流程定義。實驗申請與審核流程如圖2。
5 結束語
基于工作流的實驗教學管理系統是在開源框架Struts2、Spring、Hibernate以及jBPM工作流引擎的基礎上進行設計與開發的,并使用MySQL 數據庫作為后臺支撐。本系統最大的技術特點便是引入了工作流技術,使系統實現了自動化與半自動化。比如通過任務的動態分配,使系統達到了最大的靈活性和實用性。當然因為對工作流技術尚有許多地方需要深入研究,所以一些復雜的業務流程暫時沒能成功引入該項技術,因此系統中仍然存在一些需要改進的地方。工作流技術從出生到現在一直在發展,可預見在未來的不短時間內也將持續發展越發地便捷開發,高校實驗教學管理也將繼續發展,根據后期對工作流的進一步研究以及實驗教學管理的新需求,也將對該系統進行進一步的優化與完善。
參考文獻:
[1] 吉梅,陳力瓊.JBPM工作流在教務管理系統中的應用[J].計算機應用與軟件,2011(6):230-231,281.
[2] 一種基于SOA和jBPM的工作流引擎模型[J].軟件天地,2013(32):12-15,17.
[3] 殷實.基于jBPM引擎的工作流技術研究與應用[D],武漢:華中科技大學,2011.
[4] 劉小剛.改進的jBPM工作流系統的應用研究[D].江西:江西理工大學,2011.
[5] 范菁,呂賽輝,熊麗榮.基于Spring容器的JBPM流程文件部署模型[J].計算機系統應用,2010(2):110-113.
[6] 胡奇.jBPM4工作流應用開發指南[M].北京:電子工業出版社,2010.