王晶 胡曉亮 崔然



摘 ?要: 針對線下審批效率低下,以及現有政務系統缺乏靈活性和存在一定的安全隱患等問題,研究了工作流技術以及基于OAuth2.0協議的用戶驗證和授權機制,使用C#語言設計并實現了基于工作流平臺的電子審批系統。系統能夠適應高校和企事業單位日常行政事務管理的需求,提高了審批流程的效率和規范性。
關鍵詞: 流程引擎; C#; 審批系統; OAuth2.0
中圖分類號:TP311.5 ? ? ? ? ?文獻標志碼:A ? ? 文章編號:1006-8228(2019)11-58-04
Abstract: In view of the inefficiency of offline approval and the lack of flexibility and safety of existing e-government systems, this paper researches workflow technology and OAuth2.0 protocol based user authentication mechanism, and by using C# language, designs and implements an electronic approval system based on workflow engine. The system can adapt to the needs of daily administrative affairs management of universities and enterprises, and improve the efficiency and standardization of the approval process.
Key words: workflow engine; C#; approval system; OAuth2.0
0 引言
審批流程是高校和企事業單位日常行政管理的一個重要組成部分,大多數審批流程往往需要協調各部門共同完成。在“互聯網+”大環境下,許多政府部門的電子政務系統實現了電子審批功能,正逐步取代線下審批,但政務系統缺乏靈活性,文獻[3]指出,各部門資源分散、標準不一、協作困難是效率低下的原因之一。由于業務流程常常需要各部門協調修改、部門人員崗位調動相對頻繁,也使得系統后期維護耗費更多成本。針對以上問題,采用工作流技術和OAuth2.0協議,能夠在縮短審批時間的同時,提高系統安全性,適應業務流程變化。將審批過程中產生的數據和信息備案,有效的監管審批過程,使審批流程更加規范安全,易于維護。
1 相關技術介紹
1.1 工作流技術
工作流思想最早起源于國外,二十世紀九十年代出現越來越多的相關研究和開發,并于1993年成立工作流管理聯盟(WfMC),國外逐漸出現許多開源工作流引擎,如文獻[1-2]中提到的JBPM和Activiti等。近年來,工作流技術發展迅速,國內優秀的工作流平臺也日漸豐富,能夠更好的適應國內業務流程缺少統一標準、復雜多變的情況。
工作流管理聯盟關于工作流的定義是:工作流是一類能夠完成或部分完成自動執行的業務流程,在此過程中,文檔、信息或任務按照一系列過程規則在不同的執行者之間傳遞和執行[4]。使用工作流技術可以將業務管理中較為系統化、重復性高的過程抽取出來,形成一個完整的處理流程,由計算機自動化執行。工作流技術與業務流程重組(BPR)密切相關,它們的核心思想是集成技術手段和管理知識將抽象的業務邏輯轉變為具體的、可操控的工程化過程,以流程為中心,以客戶的需求和滿意度為目標,改善企業單位在業務管理中存在的成本、服務、效率等問題。
工作流引擎是工作流技術的核心,用于解析流程的運行,在業務處理量大、業務流程系統性強、流程涉及多個部門的情境下擁有其獨特的優勢。如圖1所示,工作流引擎在工作流管理系統中承擔著處理業務邏輯的重要角色,提供一定的規則解釋建模工具生成的工作流過程定義,實例化工作流模型,調用組織結構模型數據和其他工作流相關數據對角色和資源進行管理維護。
1.2 用戶驗證和授權機制
當第三方應用試圖通過接口獲取訪問受保護的資源時,需要通過認證機制來獲得授權,如果接口沒有使用有效認證措施進行保護,則存在嚴重的安全隱患,匿名用戶通過掃描接口的鏈接,就可以調用該接口獲取數據。
OAuth2.0協議是一種基于Token的認證協議,是目前常用的認證方式,由服務器端按照規則生成字符串作為令牌用于客戶端服務請求,無需多次使用用戶信息進行驗證,可有效減輕服務器壓力并提高系統的安全性,授權的基本流程如圖2所示[5]。
1.3 工作流平臺的優勢特點
⑴ 靈活性:支持基于Web的流程設置器,結點設置操作便利,支持四種路由結構包括順序、選擇、循環、分支。對于有嚴格時間限制的工作,可以在步驟結點中設置辦理承諾時限和超時時限,采用時間和事件觸發機制相結合的方式,控制該步驟的執行時間。
⑵ 接口完備:核心接口以用戶和流程為中心,功能主要是獲取用戶相關信息,獲取、導出和修改指定流程詳情數據。此外具備平臺接口、通知接口、文件接口、任務集成接口等,實際業務中將應用這些接口按照平臺規范集成其他系統任務,實現業務流程管理和控制。
⑶ 可擴展性:工作流引擎依靠訪問和處理權限的設置,可以對業務交接、跳轉、自動處理、自定義時限等流程活動進行管理和監督,能擴展特殊權限去實現特殊需求,更好地適應業務流程更新以及業務處理中臨時出現的特殊情況。
2 系統分析與設計
2.1 系統需求分析
電子審批系統為滿足各部門協同高效的審批工作,應實現隨時隨地通過瀏覽器或移動端即可訪問和使用系統功能,申請人線上提交一份申請材料便可自動流轉于各部門之間進行審批。結合相關技術分析,電子審批系統應具備的功能需求包括信息顯示模塊、流程管理模塊和用戶管理模塊。同時,審批系統中涉及許多重要信息和數據,系統應具備安全性,對信息進行有效的保護,避免數據丟失和泄露。
此外,執行過程和相關數據能夠較好的反應出業務流程中存在的不足,系統需要具有數據備案的功能,為后期進行數據統計分析和制定更好的業務流程做準備。
2.2 系統體系架構設計
根據系統需求分析結果,以及對系統的可行性、安全性和可靠性多方面考慮進行系統設計。系統采用工作流平臺保證系統服務的靈活高效,用戶驗證和授權機制提高系統安全性。如圖3所示,系統架構分為四層。系統底層是基礎服務層,提供數據存儲、服務器資源和網絡設施,保障數據存儲和分析計算等需求;平臺服務層主要依托于工作流平臺和表單引擎,將表單字段與業務流程相關聯,并利用工作流引擎提供的豐富的接口進行系統邏輯層開發,保障業務流程有序執行;軟件服務層面向用戶提供系統各模塊功能服務,該層擴展性強,與平臺服務緊密協調,保障對用戶提供靈活可靠的服務。
2.3 系統功能模塊設計
電子審批系統核心功能是流程管理和用戶管理,依靠工作流引擎和數據庫的支撐實現功能需求,功能模塊分為信息顯示模塊、流程管理模塊和用戶管理模塊,如圖4所示。
⑴ 信息顯示模塊是用戶登錄系統的入口,也是發起審批申請、處理審批流程和查詢待辦流程的信息顯示平臺,能夠支持PC端和移動端兩種方式顯示,對流程辦理情況進行有效的反饋。
⑵ 流程管理模塊實現流程構建和監控、流程處理及審批、數據備案的功能。系統管理員可對流程整個執行過程進行監控,能夠查詢流程執行情況及執行效率。流程構建依靠表單設計器和流程設置器,根據業務流程需求,對流程進行精簡建模。流程處理功能為用戶提供申請所需的所有材料模板,用戶填寫申請后點擊提交自動觸發審批流程,此步驟加入時間戳可以明確流程處理時間。數據備案功能用于對流程中涉及的字段數據和流程信息來存檔,作為審批流程的憑證并為后期數據分析做支持。
⑶ 用戶管理模塊對用戶訪問權限進行控制,維護各部門組織機構,對審批流程的各個環節明確限定負責人及權限,并且在流程建模過程中綁定數據項,自動完善流程各步驟需填寫的信息,提高流程管理的規范性和安全性。
3 系統實現及應用
3.1 具體流程實例
目前電子審批系統中包括車輛審批、教職工出國審批、會議議題審批等流程。下面以教職工出國審批流程為例介紹具體應用,該流程審批過程如圖5所示。
3.2 發起審批流程
登錄系統門戶平臺,選擇教職工出國審批流程,跳轉到申請界面。如圖6所示,申請人填寫基本信息表,點擊左上角“提交外事部門審核出國材料”即可呈送給外事專員進行材料審核。
3.3 相關部門并行審批
相關部門審批采用并行方式,各部門同時收到審批待辦通知,各部門審批不受其他部門影響。在流程模型中設置并行結點,后臺代碼中添加部門信息和執行條件,相關代碼如下:
public InfoPlusResponse OnStepHmDepChkActionNextDoing(InfoPlusEvent e){
if (entity.RltvDepItem == null){
entity.RltvDepItem = new List
}
//相關部門信息
SDUSTAbroadAplRltvDepItem rltvDep1 = new SDUSTAbroadAplRltvDepItem();
rltvDep1.RltvDepName = new CodeItem("XXXXXXXX", "財務處", "", "");
rltvDep1.RltvDepID = rltvDep1.RltvDepName.CodeId;
entity.RltvDepItem.Add(rltvDep1);
……
return response;
}
將各并行分支的執行人信息、執行時間自動填入審批表,完成審批后將審批結果匯集到合并結點。
3.4 數據備案
審批流程結束后,流程執行的整個過程將以XML格式進行備案,并將表單中重要字段內容存入業務數據庫。
4 結束語
本文設計實現的基于工作流平臺的電子審批系統經過一段時間的實際應用,能夠滿足現實需求。為進一步方便用戶使用和提高效率,系統下一步應整合現存的所有業務流程數據庫,實現與用戶相關的大量重復數據能夠自動填充,審批環節自動提取部門所需信息,以減少用戶的工作量。
參考文獻(References):
[1] 陳丹,王勇,王瑛.基于工作流的科研協同平臺的研究與實現[J].計算機工程與設計,2014,35(3):791-797
[2] 孫勇.基于Activiti的考勤工作流系統設計與實現[J].計算機時代,2016.2:75-78
[3] 李軍鵬.基于“互聯網+”的放管服改革研究——以江蘇省“不見面審批(服務)”與江蘇政務服務網建設為例[J].電子政務,2018.6:74-80
[4] 范玉順,羅海濱,林慧,等.工作流管理技術基礎[M].北京: 清華大學出版社,2001.
[5] OAuth2.0 Authorization Framework[EB/OL].[2019-03-25].https://auth0.com/docs/protocols/oauth2