文/車宇 羅釗航
辦公流程信息化是企業(yè)進入信息化辦公模式的重要步驟,也是當前各行業(yè)進行產業(yè)轉型與升級的主要手段。
開發(fā)一套完整的以流程為核心的辦公系統(tǒng)有較高的復雜度,往往牽涉到數十個辦公流程,多種審批流結構,上百個用戶進行權限管理等內容。每條流程內部也包括多個步驟,每一步驟也將包括責任人、處理內容、處理策略等多個需要追蹤的信息屬性。
將共通的模塊集成為系統(tǒng)化的開發(fā)引擎,將代碼進行智能化封裝,能夠大幅度的降低流程信息化系統(tǒng)開發(fā)的難度。本文探討流程引擎平臺建設的各模塊思路。
流程引擎平臺集成流程設計、表單設計、用戶管理、策略管理等模塊。在前端提供圖形化的流程設計界面,通過封裝的引擎,將前端繪制的流程自動轉化為相應的代碼,對數據庫進行操作。
整體思路為用戶在前端界面進行流程繪制,平臺將繪制完成的流程按照相應策略封裝于數據庫表單中,并且生成程序分配給特定用戶。特定用戶發(fā)起流程,根據用戶填寫的信息和數據庫表單中的流程信息,引擎按照策略生成對應的數據庫實例。平臺根據策略,將對應的數據實例發(fā)送至對應的用戶,收集用戶的錄入信息與審批信息,進行流程實例的更新運轉。
主要分為前端開發(fā)層,模塊集成層與數據結構層共三級架構。如圖1所示。
用戶前端通過圖形界面的方式進行流程繪制,繪制界面可引用成熟的相關控件,繪制完成后的流程基本遵照固定的格式,包括一個流程起點,零到多個的流程中間點,一個或多個流程終點,連接各流程處理點的箭頭,每個流程處理點綁定對應表單。
繪制完成后的流程按照策略存入數據庫,利用多個數據表完成流程的數據化。
表1-流程表:包括流程ID,流程名稱,流程起點ID,對應表單ID等屬性。
表2-流程處理點表:包括流程處理點ID,處理點名稱,對應表單ID,審批人范圍,前流程ID(可為空),后流程ID(可為空)等屬性。

圖1:辦公自動化系統(tǒng)開發(fā)引擎平臺整體架構
其中流程表的流程起點ID與流程處理表的流程處理ID有對應關系。流程的每一個處理點都被統(tǒng)一存入表2中,系統(tǒng)在遍歷流程時,從表1讀取起點ID,再于表2檢索對應ID的流程處理點,再通過表2的后流程去檢索下一步的處理點ID,直到獲取整個流程。
按照規(guī)則,每個流程都對應一份或多份表單,表單包含流程需要錄入與處理的各項數據,將必要的數據提供給審批人,并將審批人的處理意見記錄。
每個流程處理點對應一份表單,也可以通過邏輯判斷來對應多份。每個處理點將表單分為展示信息,錄入信息和無關信息三部分。
表單在單獨的界面進行創(chuàng)建,創(chuàng)建完成的表單將格式保存于數據庫表中,將第三方控件的格式文件保存,數據庫采用主從表的方式存儲表單信息。
流程設計完成后,在數據庫中存儲了整個流程的數據結構。整個流程被封裝為一套程序,可以授權給指定用戶進行訪問。
用戶啟動指定流程,引擎讀取數據庫中的流程結構,按照從多個數據表中形成的數據結構,調用封裝好的代碼,展示流程表單界面,并提供錄入信息與操作流程的功能。
將具備完整功能性的程序稱為流程(例:人員加班流程),并將每一個單獨的調用稱為流程實例。
用戶發(fā)起流程后,引擎自動創(chuàng)建一個流程實例。實例的數據包括所屬流程ID,所處流程點ID,對應表單ID,發(fā)起人編號,流程狀態(tài),流程各項錄入的信息等。同樣通過主從表的方式,來解決屬性數量不定的情況。
選擇發(fā)起對應流程,或者打開待處理的某個流程后,對應該流程步驟的表單就會展示,將無關信息隱藏,將展示信息進行只讀展示,為錄入信息提供相應的錄入或編輯工具。并提供相應的發(fā)送、退回、打印等功能。
流程實例表中,會保存上一步處理者,當前處理者和下一步處理者三項屬性,用于確定流程的流轉方向。
實例狀態(tài)是流程實例的一項重要屬性。一般來說,可以將狀態(tài)分為發(fā)起中、待審批、被退回、被結束、已完成等。與實例所處步驟這一屬性相結合,可以明確流程所處的具體階段。
開發(fā)引擎平臺通過對第三方控件的調用,也可以便捷的支持流程數據的餅圖、柱狀圖、曲線圖等分析方法的實現。
辦公自動化系統(tǒng)可以顯著的提高業(yè)務工作效率,實現過去難以實現的數據分析統(tǒng)計,展現信息化發(fā)展的優(yōu)勢。開發(fā)引擎平臺則能顯著提高辦公自動化系統(tǒng)的開發(fā)效率,無需關注代碼本身,即可將業(yè)務需求與工作流程形成一整套辦公自動化程序。