任煥萍 劉俊峰
摘 要:動態審批工作流平臺的總體思路是建立一個開放的、標準的、可靈活自定義流程的業務審批平臺,適應不同管理信息系統的業務審批需要,把企業各種不同業務的審批全部集中到一個統一的平臺窗口中,根據業務實際自定義審批流程,支持條件分支、會簽、不固定流程等特性,靈活調整和改變審批路徑,實現“動態配置,隨需而變”。
關鍵詞:工作流 解析引擎 審批 流程
中圖分類號:TP39 文獻標識碼:A 文章編號:1674-098X(2014)09(b)-0208-02
1 背景與意義
目前,大多數企業特別是國內企業均為金字塔式管理層級,在企業經營活動中往往會涉及到比較復雜的審批流程,而流程也會隨著組織、人員、業務的變化而變化,且很難提前預知。以往使用以紙張為載體的傳統審批方式需要花費太多的時間和精力,而且在信息處理和存儲方面具有局限性,隨著近些年信息化技術的高速發展,使用信息系統實現流程化審批已成為不可阻擋的趨勢。
利用信息化系統實現流程化審批,常見有兩種方式。一種是基于業務功能的審批,即在定制化的業務功能基礎上實現審批,通常某業務單據的編制、審批在同一界面,由于審批環節嵌在業務功能界面中,這種方式的局限性在于無法做到集中統一審批,且不具備可配置屬性,調整只能通過開發實現,時間長、難度大;另一種是基于OA系統的審批,即依靠傳統OA辦公系統實現審批,通常將業務單據或表單以附件形式出現,能夠實現靈活審批,但這種方式源于公文審批流轉,所有局限性是審批相對獨立,而且與業務互通能力較差,如在流程定義過程中很難關聯業務數據作為流程條件,流程執行過程中需要人為干預,指定下一環節審批人,自動化程度較低。
綜上所述,常見的流程化審批管理在實際應用過程中無法與業務聯系緊密,不能滿足快速、高效調整流程的需求,急需要一個可配置的、動態調整的、集中審批的、高適用性的審批工作流系統,動態審批工作流平臺的產生正是基于這一需求,不但滿足企業對流程化審批管理的需求,提高工作效率,增加企業辦事透明度,而且能適應企業的管理變化,幫助企業增強審批管理的可控性、易操作性、可擴展性。
2 總體思路與技術路線
動態審批工作流平臺的總體思路是建立一個開放的、標準的、可靈活自定義流程的業務審批平臺,適應不同管理信息系統的業務審批需要,把企業各種不同業務的審批全部集中到一個統一的平臺窗口中,根據業務實際自定義審批流程,并隨時靈活調整和改變審批路徑,實現“動態配置,隨需而變”。
本平臺在自定義審批流程時,支持條件分支、會簽、不固定流程等特性。與不同應用系統可以靈活綁定,每個審批流程可隨時綁定或取消綁定任意業務功能,一個業務在應用系統處理后,會自動發起一個流程,推送消息到相關的審批人,審批人通過平臺待辦窗口進行集中審批,審批處理完成后審批結果會自動反饋到業務系統,業務系統根據反饋信息,繼續處理相應業務,實現工作流平臺與應用系統之間數據信息的共享與互通。
基于總體思路,動態審批工作流平臺應該具備以下技術特性:
先進性,采用先進的軟件技術來實現,包括SOA、WEB網頁、XML、WEB SERVICE技術、工作流技術、軟件構件技術等。
安全性,包括操作權限、數據權限等多級授權機制。
可靠性,系統架構設計合理,提供動態跟蹤、流程監控、軌跡追溯、數據備份等功能。
擴展性,具有良好的擴充性,可靈活配置與擴充工作流,動態配置服務,同時對第三方系統提供WEB SERVICE開放性標準接口。
集成性,與業務系統有效集成,實現數據的高度共享,采用先進的SOA服務模式,為有效集成第三方服務提供保障。
易用性,采用圖形化方式定義工作流,支持靈活拖拽,操作直觀、友好。
技術路線上,運用先進的SOA服務架構,采用B/S結構設計,支持分布式部署、集成化管理,實現開發、運行、管理一體化的具有國際領先水平的技術架構。基于SOA面向服務的整體技術架構分為三個層次。
(1)組件層:包括組件的實現與裝配。組件的實現完成特定的、單一的功能,功能單位甚至可以小到一個實體,比如:一個數據實體或文件的存取,字符大小寫轉換。組件采用接口+實現的方式,保證組件可擴展。組件的裝配即完成組件的組合,組件相互之間具有邏輯關系,邏輯關系越復雜,組件就越多,必須有一個容器統一來裝配組件、管理組件及其相互關系。技術上可以采用IoC容器的方式來裝配和管理組件,如開源項目Castle中的Windsor就是一個輕量級的IoC容器。
(2)服務層:服務調用組件接口完成具體的功能操作。服務包含內部服務和外部服務,只有外部服務是可以暴露給外部系統調用。內部服務以公共函數的方式實現,供其它服務調用;外部服務一般是Web Service或者是請求頁面,供表現層通過SOAP(Web Service)或者XMLHTTP(AJAX)進行調用。
(3)表現層:在B/S結構的系統中,表現層主要就是頁面,作為服務接收者,需要采用客戶端技術來實現與服務提供者的通訊,以及對最終結果的展示,即為富客戶端,如ExtJS就是一個開源的javascript富客戶端開發框架。面向服務的架構簡化了系統內以及系統與系統之間的關聯,關注的主體只有三個:服務提供者、服務接收者以及兩者之間的通訊協議,相互之間都是一種松耦合的關系。這也使并行應用系統開發得到最大體現,更多的關注點放在了表現層上。
3 工作流平臺的設計與實現
工作流平臺按模塊劃分為前臺操作、后臺管理、接口交互三部分。前臺操作包括工作流前臺定義、工作單處理;后臺管理包括工作流管理、工作流解析引擎、工作流跟蹤與監控;接口交互包括數據接口、業務接口。
工作流前臺定義即提供一個圖形化WEB界面完成對工作流模型的定義與維護,支持同時維護多個工作流模型,工作流模型定義的主要元素包含流程節點與流程連接。流程節點可分為普通或者會簽節點,會簽主要滿足企業中重要審批多負責人會簽的要求,流程節點也可以設定審批時限,為流程監控和績效考核提供數據支撐,同時流程審批人可靈活指定,即可以是直接上級、流程發起人、流程發起人上級等,也可以分配給某個系統角色或者用戶。流程連接將流程節點通過連線聯系起來形成流程的完整路徑,在流程連接上可定義條件以形成流程分支,條件的數據可來源于流程本身(如:流程上環節審批人),也可來源于業務數據(如:預算審批流程中的預算金額)。另外,工作流定義能夠支持不固定流程,以應變企業對審批流程的多種動態調整需求,不固定流程有兩種含議,一種是指沒有既定流程,在審批過程中由人為判斷并指定下環節審批人;另一種是有事先設置了既定流程,但在流程執行到某一個環節時,允許人為干預,后續步驟不按照既定流程執行。endprint
工作單處理是通過提供一個統一的、可集中審批的交互界面,可以查看待審批工作單、當前所處審批環節,并完成工作流審批。工作單處理的前提是已依據先前定義的工作流模型而產生了工作流實例,針對實例的執行不會影響工作流模型,同時基于同一工作流模型產生的實例也互不影響,以達到定義與執行分離、執行與執行分隔的目的。工作流審批時可直接瀏覽業務單據,同時支持電子簽名和密碼驗證,審批結果分為通過、不通過、駁回三種。其中駁回可支持駁回到當前審批節點之前的任意節點,如果選擇駁回到流程起始節點,則需要流程發起人修改業務單據后重新提交;如果選擇駁回到流程某一中間節點,則需要此節點審批人重新審批。
工作流管理即對應工作流前臺定義的后臺管理,通過提供基于SOA的服務與前臺定義對接,完成工作流模型的后臺維護及工作流模型數據存儲功能,包括工作流前臺定義所需的流程源數據模型維護、流程特性配置、工作流模型維護日志記錄等,此外還提供例如安全管理、服務質量管理等平臺支撐和輔助功能。
工作流解析引擎是整個工作流平臺的驅動和關鍵,它的作用為工作流實例提供解析和運行環境,控制工作流實例中路徑條件的解析和流程節點的轉換,實現審批時的節點路由,并與即時信息系統(即時消息、郵件系統等)無縫連接。工作流解析引擎解釋工作流實例的定義,與工作流的參與者(包括人或軟件)相互作用,并根據需要調用其他的IT工具或應用。從工作流實例的啟動、審批到結束,根據工作流定義的內容和信息按部就班的推動工作流實例的執行。所以,工作流引擎的設計直接影響到工作流執行的效率。
工作流跟蹤與監控即通過平臺提供的交互界面,通過圖形化方式查看工作流實例執行進度,包括當前執行節點及歷史節點審批意見等信息,實現對流程執行的跟蹤與監控。同時,提供工作流實例的掛起與激活功能,方便流程管理員根據業務需要將工作流暫停審批甚至作廢。
數據接口是指通過調用外部服務獲取企業的組織、系統用戶、系統角色等基礎數據,為工作流定義提供基礎數據支持。如某企業已建立統一身份認證平臺,企業組織、用戶、角色等都在此平臺維護,并通過服務發布的形式提供接口,工作流平臺將調用其提供的服務獲取上述基礎數據。
業務接口包含綁定工作流、啟動工作流、業務單據查看、審批結果反饋。綁定工作流是指企業業務系統功能與工作流定義模型的關聯匹配,業務功能由企業業務系統發布服務接口提供需使用工作流審批的業務功能,一個工作流定義模型可以在不同業務中重用,即一個工作流定義模型可與多個業務功能綁定。啟動工作流由企業業務系統發起,即當業務系統功能需要啟動工作流時調用工作流平臺提供的服務接口,此服務將運行工作流解析引擎啟動業務功能所綁定的工作流實例,同時激活工作流實例執行。業務單據查看是指在工作流實例審批過程中,審批人可以查看相關業務單據數據,此功能通過調用企業業務系統提供的服務接口實現。審批結果反饋即工作流審批流程結束后,工作流平臺以開放的XML格式將審批結果信息通過服務接口傳遞給業務系統,當工作流審批節點為結束節點、審批終止或駁回時,都會調用業務系統服務接口,將審批結果和業務信息進行傳遞。
綜上所述,動態審批工作流平臺的設計目的是能夠為企業提供靈活定義、高效配置、動態調整的流程化審批管理,工作流平臺通過工作流定義、綁定工作流、啟動工作流、工作單處理、流程跟蹤和監控等操作完成一個審批工作流的完整管理。
4 工作流平臺的實際應用
動態審批工作流平臺作為通用化、開放化的工作流平臺,由于其具有圖形化拖拽方式建立工作流模型、可視化流程跟蹤和監控、支持業務功能與工作流的靈活綁定、支持會簽、支持不固定流程等特點,成功研發后在能源、化工等行業均有應用,涵蓋生產管理、辦公管理等領域的業務場景,得到企業用戶的一致好評。
現以某企業辦公管理系統公文流轉功能為假設業務場景闡述工作流平臺的應用,具體業務需求是:根據公文類型為條件定義流程分支,文件類型B部門經理審批節點需要各部門經理會簽,文件類型C直接領導節點審批后可靈活指定下一環節審批人,即不固定流程形式。
以上述業務場景為需求,工作流平臺與用戶交互總體上分為工作流定義、綁定工作流、工作流審批、工作流監控四個環節。一是新增公文流轉工作流模型,配置時按照公文類型作為條件定義分支,同時指定“部門經理”審批節點為會簽節點,指定“直接領導”審批節點可指定下一節點審批,即不固定流程;二是將業務系統的公文流轉功能與公文流轉工作流模型綁定;三是由業務系統觸發工作流啟動后進入審批環節,審批節點如果為會簽時,將需要所有審批人均審批通過才能進入下一流程節點,如果為允許指定下一節點審批人,本節點審批通過后將由當前節點審批人指定流程下一節點審批人;四是工作流監控,即可實時跟蹤監控每個工作流實例的審批進度及其他信息。
5 結語
該文闡述了利用SOA理念設計和實現一個具有獨立開放、可靈活自定義,具備圖形化配置、實時調整、與業務靈活綁定的動態審批工作流平臺,它有效彌補了傳統審批工作流在集中審批、圖形化配置、動態調整、業務互通、自動化程度低等方面的不足,在實現與業務高度互通的自動化審批流程的同時,又支持不固定流程設定,以滿足企業靈活多變的動態審批需求。該動態審批工作流平臺研發成功后,已經應用于能源、化工等行業,取得了非常不錯的應用效果。
參考文獻
[1] 王莘.工作流引擎與OA系統內涵的深化[J].辦公自動化,2006(15).
[2] 李海波,戰德臣,徐曉飛.基于工作流引擎的構件組裝體系結構[J].軟件學報,2006(6).
[3] 葉榮光.基于MAS的工作流程控制管理系統的研究與設計[J].電腦知識與技術(學術交流),2007(17).endprint