OpenHandX 數據服務為中心的企業架構設想
2009-12-20
作者:彭明華
本文檔中的任何部分都不得以任何手段任何形式進行復制與傳播
1 前言
隨著企業競爭的日益激烈,企業信息化的建設成為了關鍵因素,企業對計算機系統的需求越來越高,如:企業內部的ERP管理系統、決策分析系統,對外的銷售及支付、客戶服務系統等系統越來越多,大型企業的情況尤為復雜,單獨做好一個系統或幾個系統再也無法適應企業信息化建設的發展。本文要談的是特大型企業應用,這類企業的特點是壟斷、使用系統的員工上萬、地域分布廣差異大,對系統的功能和性能上有著極高的要求,本文從目前的企業現狀、企業架構兩個方面說明。
2 目前的企業現狀
2.1 現狀1-多個系統百花齊放
這是目前大多數企業的現狀,這類企業管理層次太多,機構和部門之間的利益及關系比較微妙。采購的成品的軟件系統也很難適應企業多元化的應用,因此大部分企業會選擇自主開發或對成品系統本地化的大改造。這類的軟件系統基本是為某個機構或部門服務的,因此系統之間層次和定位比較混亂。主要表現為以下問題:
1、各個系統設計之初相互割裂,除了特殊業務功能上的需要基本沒有什么聯系,后期很難實現數據共享。
2、各個系統基礎數據冗余,每個都有自己的基礎數據,如:組織架構、員工、產品等信息。基礎數據的變化和更新涉及所有系統,并且無法做到時間上的統一和數據的一致性。給系統之間調用需要留下很多隱患。
3、系統之間的模塊冗余,類似的模塊且功能不一致。如:員工信息管理,產品信息管理、報表等。如:銷售系統的銷售報表與財務的銷售報表、客戶關系系統的銷售報表不一致,由此產生的歧義對于特大型企業是不允許的。
4、系統對外接口混亂,系統設計最初就是獨立的,沒有對外系統提供接口。后來由于業務需要臨時添加,造成接口不規范、重復、繁雜,并缺少監控存在安全漏洞。
5、系統難以深程度整合。基于以上問題企業會做一些整合,雖然有portal和sso等登錄和界面上的用戶操作整合,但是功能和數據上的深程度整合沒有做到。
2.2 現狀2-ERP系統為中心
這類企業業務和管理上相對規范,能統一采購成品的ERP軟件系統,企業的大部分業務需求都能通過ERP系統完成。這類企業應用架構是以 ERP系統為中心,在一段時間內數據比較統一,各個模塊之間協調一致。這在系統建設初期比較好,隨著企業的發展原有ERP系統不能滿足新的業務需求時,系統升級比較困難。不得不另外開發獨立的其他系統,久而久之又形成了多個系統百花齊放難以控制的局面。
3 數據服務為中心的企業架構
數據服務為中心的企業架構是以企業的數據為核心。不管企業如何發展的,他的系統如何升級改造,數據永遠是企業的核心。數據服務為中心就是要建立統一的核心數據、統一的業務規則、統一的服務接口、統一的安全管理、提供高效準確的數據、提供復用的功能、提供良好的擴展性,并與前端業務系統無縫銜接實現深程度的整合。設計采用“數據為中心、服務為依托、SOA、ESB為技術手段”的思路。
3.1 基礎架構
初步建立數據為中心的企業架構,首先實現數據的統一和系統功能的一致性,滿足企業日常生產運行的需要。
1、真正實現數據統一管理,基礎數據和公共數據最大程度被復用,有效解決了多個系統基礎數據的不一致性,為系統間的調用和數據的決策分析打下良好基礎。
2、真正實現服務層與操作層的分離,數據服務組件以SOA的方式將服務發布到ESB,為操作層和其他服務組件調用提供接口。數據服務組件是企業基礎業務及核心業務功能的高度抽象及實現,數據服務解決了系統間業務功能的不一致性。
3、企業數據總線ESB,是連接各個數據服務組件和服務層與操作層的橋梁,負責服務注冊發布、服務查找調用、服務安全控制。應為ESB設計好統一接口協議和服務協議,保證每個系統和服務組件之間都可以無縫地互連和兼容。ESB使多個系統和服務之間的層次更加清晰,降低了他們之間的耦合度,便于服務的擴展。
4、 前端系統主要功能是為用戶提供良好的界面,提供個性化方案,便于用戶錄入數據及數據展現。同時又為數據層提供高質量的業務數據。作為操作層的前端系統通過ESB能調用任何組件提供的數據服務,因此前端系統的功能可以做得非常強大。
3.2 完整架構
完整架構增加了安全控制層,抽象出更高程度的企業門戶,核心服務增加了更多的技術服務組件。同時也部署了地方級服務器。
1、更多的技術服務組件是為了滿足特大型企業的對數據挖掘分析、科學計算的要求。如:異步批量服務、云計算服務等。
2、安全控制層的安全控制有別于ESB的安全控制,安全控制層主要控制在用戶層面,并能根據接口提供的信息自動完成用戶登錄,創建會話令牌。ESB服務會根據令牌信息,控制該用戶訪問的數據權限及操作權限。
3、企業門戶不僅僅是統一用戶登錄或菜單界面的整合。首先企業門戶整合了所有的業務系統,就象一套系統能完成所有的企業日常辦公,如:采購、生產、庫存、銷售、收付款、郵件、OA等。其次企業門戶提供富客戶端滿足復雜操作的業務,如:生產制造系統,數據決策分析系統、郵件系統、多媒體系統。
4、地方級服務器解決兩類問題,一個是對數據緩存減少網絡帶寬,數據交換服務能自動完成與數據中心服務的數據同步,尤其是大型只讀類的數據,如:多媒體數據、報表、郵件等,另一個是允許各地部署自己的特色業務系統,滿足各地多元化的個性需求。
3.3 數據共享策略
數據共享一直是企業關心的,如何滿足不同系統、不同人群個性需求又要保證數據安全一直是最大的難題。數據共享有三個層面的問題需要解決:
1、請求的數據格式。是指請求發起方對接受方返回數據結果的樣式要求,如:Excel、PDF、XML、數據對象以及他們的填充樣式。這個問題可以雙方預先定義好格式的約定或模板,由發起方提供自定義的模板來解決,再由接受方將數據按照模板填充并返回。
2、請求的數據內容。是指請求發起方對接受方返回哪些數據,以及數據顆粒度的要求,如:某個機構的銷售數據(按照天、產品、子機構等維度)、某個部門的損益數據(按照天、科目、人員等維度)。這個問題可以雙方預先定義一套語言或腳本,由發起方提供請求數據的腳本,再由接受方解析腳本返回數據。
3、數據安全控制。是指請求接受方根據發起方的身份返回他所能看到的數據,或者說發起方是否能得到請求的數據。這個問題是由根據企業架構中安全數據組件服務來解決。