陳琳
(杭州蕭山國際機場 浙江省杭州市 311207)
OA(Office Automation,辦公自動化)旨在使企業內部人員方便快捷地共享信息,高效協同工作,OA 以人為本的高效協作在中國企業管理軟件領域將其發揮到了極致,成為企業部署協同管理的基礎。BPM(Business Process Management,業務流程管理)的概念源自國外,是一種以規范化的構造端到端的卓越業務流程為中心,以持續的提高組織業務績效為目的的系統化方法。兩者之間有很多相近但不同的特點,相近點是核心技術同為工作流引擎能力,BPM管理重點在于企業業務端到端的流程管理,OA 則在于企業行政管理業務流程需求。OA 的應用側重是組織的管理以及人與人、部門與部門之間的協同辦公,是一種辦公方式;BPM 則側重于業務流程的標準化、流程化、自動化、可控制等,是一系列系統化方法。而從適用對象方面來看沒有差異,OA 系統和BPM 系統都可面向企業內外部用戶,實現信息共享、協同互通。BPM 很大的一個優勢提供標準和技術能力,實現業務流程端到端串聯。OA 的優勢是以流程驅動,服務于業務。所以BPM 的流程引擎提供的組件/服務更多,能力更加完備,平臺比較厚重,不有利于根據企業信息化架構要求和業務變化需求快速調整。OA 的流程引擎是為業務服務,能力豐富,平臺輕量,具有良好的彈性和擴展性,可快速根據企業組織變化和業務調整做出響應。
Lotus Notes/Domino 是IBM 的協同辦公平臺,在國內擁有廣泛的用戶,某些主流的協同辦公(OA)軟件產品仍基于這個平臺開發,在穩定性及易用性上具有明顯優勢,但由于推出時間較早、采用文檔數據庫等特點,導致其流程集成能力偏弱且通用性不足,很多企業開始采用新的流程引擎集成替代,例如BPM 等,以滿足日益復雜的協同需求。由于BPM 投入較高,大型企業在內部流程規范化及標準化體系已達到一定程度,實現效果確實會較理想。但相較于一部分中小型企業,雖有一些自動化“端對端”的業務流需求,內部距離體系化的業務流程管理尚遠,從保護現有投資出發,如何停留在OA 靈活可變的行政審批流程上并輔以可配置的通用型業務接口設計以便于集成外部系統,也許是一種更具備現實意義的解決方案。本文的設計定位主要是試圖基于Domino 的OA 實現類BPM融合,破解Domino 工作流引擎的通用性方面的局限,滿足企業部分端對端的工作流要求。
基于OA 實現管理系統的類BPM 融合的方向,首先確立OA在企業業務管理系統中核心流程中心的定位,以實現跨系統的業務流程流轉與數據交互。事實上,許多企業內部的管理系統如ERP、合同、招采等也內置審批流,但是這些流程引擎的多樣性和靈活性不如OA,尤其一些業務單據可能涉及多部門會簽,復雜流程在OA 以外的外部系統上實現都較困難。因此,憑借OA 系統在流程管理與部門協同辦公方面的獨到優勢,進一步整合其他管理類應用系統,通過建立統一標準的接口方式能夠適應其它系統在OA 中流轉審批的需求,將這類應用系統的審批流程放在OA 系統中進行,所需的相關數據從原系統中實時采集抓取,流轉過程中及時反饋審批意見及結果,最終達到各系統之間互相支持、協同辦公的目標。

圖1
建立通過Web Service 接口以XML 文本傳輸格式作為標準的接口傳輸協議,是確立OA 作為可配置的通用的流程中心的第二步。XML 已經成為新的網頁標示語言和數據交換方法。Domino 對XML 提供了強有力的支持,以及XML 本身具有的可擴展性以及自我描述特性,使OA 系統與其它系統(如ERP 系統)這兩種完全不同的應用系統平臺、不同的底層數據庫類型交換數據成為可能。
Web Service:
Web Service 編輯Web service 是一個平臺獨立的,低耦合的,自包含的、基于可編程的web 的應用程序,可使用開放的XML 標準來描述、發布、發現、協調和配置這些應用程序,用于開發分布式的互操作的應用程序。
XML:
可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。
基于Domino 表單域與XML 接口文本中字段的對應,在OA中實現外部系統單據在OA 系統中的流程審批,借助OA 系統的工作流引擎實現流程動態維護,并可將審批意見或其它信息反饋回外部系統中。由于XML 格式本身的標準性,OA 應用中可實現可視化的配置界面,通過DOMINO 中的域設定匹配相應的字段,解析任意外部系統通過Web Service 接口傳遞來的XML 文件,形成審批表單流轉,以達到理想的靈活、通用、可配置的接口,進一步鞏固OA 作為流程中心的存在。

圖2
在外部系統與OA 交互過程中,需要重點考慮數據的安全性與一致性兩個方面的問題。安全性主要是防止數據的丟失,比如接口的穩定性以及業務操作模式的多樣性是否會引起傳遞過程中數據的丟失;一致性是保證OA 與其它系統在過程中及最終狀態下一定是一致,目前的實現場景是外部系統一旦進入OA 審批后即單據鎖定,待OA 審批到一定階段有反饋信息后外部系統單據才可解鎖,進行下一步操作,且單據內容不可再次編輯。
由于許多企業存在著許多不同建設時期、不同架構的信息系統孤島,因此上述設計思路源自于以下場景的技術實現:
培訓計劃審批作為OA 中的一個流程已實現多年,管理者已習慣在OA 中審批培訓計劃,業務工作者在OA 上生成審批計劃,但培訓計劃的統計、管理等一系列業務操作只能通過“紙上談兵”。隨著培訓管理模塊作為企業資源管理系統(以下簡稱ERP)中的人力資源管理的一部分上線運行,業務工作者在ERP 上實現了培訓計劃的生成、管理。雖然門戶實現了用戶單點登錄,統一待辦,但無法改變ERP 審批流程不靈活的事實,以及管理者對ERP 審批界面的不適應。以需求為驅動,對技術實現難易度、費用、系統影響等因素綜合考量后,最后確定了Domino 通用型流程引擎的設計思路。
事實上,通用型的流程引擎實現事實上不局限于ERP 這個單一的外部系統,也不僅限于培訓計劃審批某一項實際業務,它完全可以根據需要外接不同類型架構的外部系統,不同的業務流審批,實現各種審批流的調用。從這一點來說,它有類似BPM 的融合理念。
如圖1所示。
3.2.1 接口配置文檔功能描述
用于創建接口配置文檔,根據billid 獲取需要創建的數據庫服務器名、路徑、對應的業務類型、需要拷貝的字段和各個字段類型。接口配置文檔可以對輸入字段進行取舍,調整OA 的審批流程,同時應用系統輸入字段信息的調整也可以在配置文檔配置,由于配置文檔的存在,不必修改接口。
3.2.2 接口配置文檔表單設計
如圖2所示。
目前,BPM 的實現工具不少,還是要根據環境、成本、實現復雜度等因素選取合適的解決方案。本文主要考慮同一局域網內,通用流程調用的思路,側重于基于Domino 的OA 下,如何快速、經濟地實現流程調用。流程調用的實踐結果表明,接口耦合度低,一方系統的不穩定不會影響到對方系統;避免了業務工作者在兩個系統重復輸入培訓計劃,或應用系統開發上化很多精力調整系統審批流以適應辦公需要;充分利用了OA 系統在流程管理與部門協同辦公方面的優勢,將業務審批功能放在OA 系統中進行,達到兩個系統之間相互支持、各取所長、協同辦公的目標。此設計思路也適合于其他系統發起的審批,但需要注意的一點是,流程調用的方式需要滿足用戶一致性的條件,也就是,發送審批的應用系統用戶,在OA 系統中也必須存在,且具有發起審批的權限。
當前的流程調用實踐通過Webservice 的方式,從功能實現的角度看,也可以利用現有的企業數據總線,實現對輸入和輸出XML數據的傳輸,根據需要就地取材,節省開發成本。如果數據傳輸中需要圖片等數據,也可以考慮架設FTP 等服務器的方法擴展功能。