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