(1.北京工商大學,北京 100048;2.北京構力科技有限公司,北京 100013)
社會已然步入“互聯網+”的信息化時代,企業(yè)公司的各類需求和業(yè)務也隨之變得龐大和復雜。傳統(tǒng)業(yè)務需求的發(fā)起和運作模式以紙張為載體,各類表單和文檔信息在相關單位部門之間依靠手工傳遞和流轉,通過人工管理進行逐一審批會簽來完成[1]。然而這種工作模式效率低下、出錯率高,已經不能滿足互聯網信息時代下企業(yè)的高效運作和發(fā)展。對此已有研究開發(fā)基于工作流的自動化辦公系統(tǒng)[2-4],并得到了廣泛的發(fā)展和應用。
本文研究運用線上工作流技術,設計和開發(fā)了基于信息平臺的業(yè)務流程定制功能,實現各類業(yè)務流程的功能流水線的智能化定制,使業(yè)務流程系統(tǒng)化、可視化、可配置化、自動化以及規(guī)范化。該信息系統(tǒng)平臺開發(fā)采用ASP.NET框架下的MVC(Model View Controller)開發(fā)模式結合WCF(Windows Communication Foundation)數據通信技術。在此基礎上構建了業(yè)務從發(fā)起到結束的一系列工作流程的功能定制系統(tǒng),滿足敏捷響應業(yè)務流程變更的需求,即時配置業(yè)務流程,實現流程的持續(xù)優(yōu)化和再造[5]。應用結果表明,該系統(tǒng)實施更人性化、規(guī)范高效的線上自動化流程,大大提高了企業(yè)的辦公效率和管理水平。
信息系統(tǒng)平臺開發(fā)采用ASP.NET MVC+WCF+Bootstrap+jQuery框架集合,軟件開發(fā)工具使用Visual Studio 2017,數據庫為Microsoft SQL Server 2008 R2。服務器操作系統(tǒng)Windows Server 2012,采用B/S架構(Browser/Server,瀏覽器/服務器模式),支持多種瀏覽器,部署在IIS6.0以上的Web服務器上。
本信息系統(tǒng)平臺網站擁有后臺管理平臺與前臺訪問平臺,后臺實現對業(yè)務及其規(guī)則的所有定義,而前臺則是在已經定義好了的業(yè)務規(guī)則的基礎之上進行運作和流轉。具體流程設計如下圖所示:
管理人員在后臺制定業(yè)務流程:首先,對業(yè)務類型類別進行定義,在這一類別上創(chuàng)建業(yè)務表,業(yè)務表可能有子表對其進行輔助和補充。然后,對創(chuàng)建的表單基本信息與字段屬性及其事件函數進行填寫和設置,默認會創(chuàng)建幾個共同的基本字段,如創(chuàng)建人、時間和機構等來進行操作權限的判斷。業(yè)務樣式自定義可以展現期望的表單樣式,或者使用平臺默認樣式;業(yè)務邏輯對業(yè)務設置一些邏輯判斷,業(yè)務操作定義業(yè)務的一些功能,業(yè)務邏輯和業(yè)務操作都要求管理員使用JavaScript腳本函數來控制。最后,進行流程設置,流程樣式可以關聯使用上述定義的業(yè)務樣式;流程設置主要通過設計、繪畫流程圖或者導入已有的流程圖來進行流程定制;在繪畫流程時,可以設置每個節(jié)點的屬性及權限,并且指定下一步處理人或者自定義以后的所有處理人,當業(yè)務流轉到當前階段或節(jié)點時,不同角色人員會根據其權限具備相應的操作功能。
圖1 線上工作流信息系統(tǒng)平臺流程圖
業(yè)務發(fā)起人員在前臺發(fā)起業(yè)務流程:發(fā)起人首先填寫業(yè)務數據信息,每條數據都會經過一個完整的業(yè)務流程生命周期,并且設置關聯樣式。之后移交下一步處理人進行處理,下一步處理人此時會收到待辦業(yè)務消息提醒,進而可以查看與辦理該業(yè)務。在辦理時,可以填寫審批意見和上傳附件,只能刪除自己上傳的附件,當前節(jié)點只能處理當前人的附件,如果類型是會簽,則需要所有處理人審批同意或不同意,附上意見和電子簽章;如果不是,則可以選擇是否回退、告知、委托、代理、加辦。回退是指可以將業(yè)務回退到之前的各節(jié)點甚至是初始發(fā)起人進行處理,處理完后可以直送到回退前的節(jié)點而無需再次按照原有流程逐步進行;被選擇的告知人可以查看,不能處理;委托是指當前處理人繁忙時,可以全權委托他人處理;代理是指一段時間內讓代理負責處理;加辦是指臨時增加參與討論人員節(jié)點,加辦人可以寫意見,但不能處理。最后根據權限選擇下一步處理人或者自定義以后的所有處理人,如果是最后節(jié)點,則流程結束,否則進入下一階段流程處理。
信息系統(tǒng)平臺主要依靠對表單的操作來實現交互,進而存改和展現數據,是整個信息系統(tǒng)平臺開發(fā)的重要基礎,表單同時也成為業(yè)務流程中的紐帶和信息載體[6]。圖2展現了后臺業(yè)務定義流程圖的節(jié)點屬性表單設置,通過設置其關聯樣式(默認樣式等)、接收人類型以及各類屬性選項如“是否回退、加辦、告知”等信息,來實現對業(yè)務以及節(jié)點權限的定義,從而滿足業(yè)務流程的不同需求。
圖3 基于XPDL的工作流定制與設計圖
如圖3,在業(yè)務流程設置時,可以自定義繪畫或者導入已有的流程圖,該技術基于XPDL(XML Process Definition Language)[7],此標準化規(guī)范使得可以用XML規(guī)范數據來存儲工作流數據信息,從而能夠達到相同的表示形式。圖中的每一個節(jié)點都能設置其對應屬性信息,這些信息數據規(guī)定了每個節(jié)點的不同權限,它們都會以標準的XML格式數據進行存儲。圖中顯示節(jié)點的五種不同狀態(tài)來表示業(yè)務流程的進度情況:未到達、未處理、處理中、已處理、未啟用。以下對圖3進行具體說明:
1)流程從發(fā)起,經過經營部、會簽、項目部、成本部、科技部與安全部、辦公室、主任或副主任、公司領導,到結束是為整個業(yè)務流程生命周期。
2)紅線:不能設置條件。
3)綠線:可以設置條件,單機彈出多種條件選擇,如會簽彈出同意或不同意。
4)普通節(jié)點:一個節(jié)點一個人處理,可以選擇處理人或自定義本節(jié)點后面的處理人。
5)共享任務:一個節(jié)點多人處理,可以選擇角色,部門來處理。
6)AND:表示在其之間的流程并發(fā)進行處理。
7)OR:表示在其之間的流程根據條件判斷進行處理。
本系統(tǒng)程序總體設計采用MVC模式:模型用于處理應用程序的數據邏輯,與數據格式無關,可以為多個視圖提供數據,具有良好的重用性;視圖是由前端基于Bootstrap框架開發(fā)的html頁面,是使用戶數據與之交互的界面;控制器負責使數據流向模型對象,并在數據變化時更新視圖。
后端開發(fā)使用WCF通訊開發(fā)平臺來開發(fā)接口,前端通過AJAX(Asynchronous JavaScript and XML)技術根據功能需要來調用后端接口,而不用理會邏輯功能和數據存取的具體實現[8]。前后端雙方以契約(Contract)來定義溝通的協議,分別為數據契約、服務契約、操作契約以及消息契約,使得系統(tǒng)代碼具有統(tǒng)一性、互操作性、安全性、兼容性等優(yōu)勢,從而真正實現前后端分離的高效開發(fā)模式。
本系統(tǒng)使用Three.js引擎來實現瀏覽器工作流3D繪圖功能,其生成的流程定義文件符合XPDL規(guī)范。XPDL是由工作流管理聯盟(Workflow Management Coalition, WfMC)[9]提出的一個標準化過程定義語言,它利用XML的良好特點(結構化、數據顯示與格式分離、易表達語義等)來解決互操作性[10],使業(yè)務流轉更加靈活易用,讓不同的工作流程軟件能夠交換業(yè)務流程定義。
線上工作流定制功能是信息平臺業(yè)務定義的重要內容,也對實現企業(yè)信息自動化辦公具有重要現實意義。本系統(tǒng)的建立使得業(yè)務得以快速個性化定制與開展、高效率流轉且出錯率低,并把企業(yè)內部辦公業(yè)務流程數據進行統(tǒng)一管理。本系統(tǒng)平臺已初步實現與開展應用于企業(yè)內部,并取得良好成效,隨著系統(tǒng)不斷完善將逐步推廣與應用。