孫志剛?鄒國忠
摘 要:在討論ERP的基本原理、主要框架結構以及Windows平臺下COM+技術的基礎上,結合兩者特點,針對傳統“C/C”和“B/S”兩層結構的不足,確定了以COM/DCOM 和用來構造基于組件三層式應用程序的框架結構Windows DNA為核心,通過金蝶K/3 ERP系統應用研究分布式ERP系統的實現框架。
關鍵詞:Windows DNA;ERP;COM/DCOM/COM+;三層體系結構
1 引言
ERP(Enterprise Resource Planning一企業資源計劃)是對物流、資金流和信息流3種資源進行全面集成管理的信息系統,是建立在信息技術基礎上,利用現代企業的先進管理思想,全面地集成了企業的所有資源信息,并為企業提供決策、計劃、控制與經營業績評估的全方位和系統化的管理平臺。
2 傳統“C/S和“B/S”兩層結構的不足
傳統的兩層“c/s”或“B/S”結構的ERP充分利用大型數據庫本身固有的數據處理能力,數據處理的速度得到了提高,同時數據的安全也得到了保證。在結構上將應用分為兩層:數據庫服務器和客戶端,借助微機和局域網做一定程度的分布計算。雖然這樣,但是兩層機構的還是有如下問題不能解決:
1.當用戶量增大時,數據庫的性能就會下降;
2.計算分布的峰值分配問題難以解決;
3.應用程序依賴于某一個特定類型的大型數據庫,用戶更換數據庫類型需要大規模改動程序,甚至重寫,因此,應用的移植性不夠好;
4.客戶端程序與數據緊密相關,如果用戶需求變更,面臨大量修改的程序,那么用戶需求不易滿足。
3 Windows DNA及DCOM
Windwos DNA是一種分布式的互聯網應用框架,它被BLI GATES稱為“數字神經系統”。這種結構的基本出發點是為了改善傳統的C/S兩層結構愈發表現出的局限性,創建一個基于Windwos平臺的、集成的Client/Server模型和Web應用的分布式框架,并為這種應用提供底層的服務,以便開發人員直接利用,從而把主要的精力投入到與應用相關的真正的商業邏輯(Business Logic)上。在Windwos DNA框架中,分布式應用系統由前端表示層,中間業務邏輯層和后端數據服務層三個部分組成。
組件對象模型(Component Object Model,簡稱COM)。是一種以組件方式為發布單元的對象模型。這種模型使各軟件組件具有跨平臺和語言無關的特點,其廣泛的運用在Windwos平臺的各個層次。DCOM是COM在分布計算方面的自然延續,為分布在網絡不同節點的兩個COM組件提供了互操作的基礎結構,它建立在分布式計算環境(DCE)的遠程過程調用(RPC)基礎上,采用DEC RPC的NDR(Network Data Rep—resentation)格式來進行數據分組與傳輸,并利用DEC RPC的安全機制進行數據安全認證和一致性檢查。簡單地說,DCOM不是編程語言.它是一種規范和服務,它建立在COM之上,并且提供了一種使COM組件加入網絡環境的透明網絡協議。
Windwos DNA的技術思想使應用開發有了明確的分工。一部分人員專注于中間業務邏輯層COM組件的開發和測試工作,另一部分人員根據商務邏輯的需要選擇和使用COM組件,而不需要了解組件功能實現的內部細節,從而降低了開發的難度,將應用邏輯組件集中置于中間層,組件對象COM的可重用性減少了應用系統整合的管理和維護費用。商務邏輯改變時,不必改變整個頁面源代碼,只需調整中間層相應的COM組件。即可靈活適應商務邏輯的變化。這種應用模式能夠提高系統的運營效率和安全性。
為有效地管理和利用COM組件,微軟推出Microsoft Transaction Server,(簡稱MTS)。MTS為構建和分發基于COM/DCOM技術的三層應用提供一個Server端的運行環境。在這種應用中業務邏輯層的組件在Server上MTS的控制下運行。
4 Windows DNA在金蝶K/3ERP系統三層體系結構的應用
1. 金蝶K/3 ERP簡介
K/3系統是一個三層結構的應用,系統安裝也可以分為多個部分來進行,包括客戶端、中間層、Web系統、數據庫端等部分。客戶端指的是基于Windwos的GUI桌面應用程序,需要安裝在業務系統使用人員的機器上;中間層包括所有業務系統的業務邏輯組件,這些組件會被客戶端所調用,是K/3系統的核心部分,對硬件環境的配置要求較高;Web系統則是用戶通過瀏覽器來完成日常的業務處理,客戶端不用安裝任何系統,只需要瀏覽器就可以了;數據庫端主要安裝數據庫產品和K/3系統的數據庫端組件,是存儲所有的業務數據的地方。
2. 金蝶K/3 ERP的Windows DNA架構
K/3系統是一個Windows環境下的典型的三層/多層分布式結構。
(1)表示層
根據需求分析及總體設計,表示層分為系統管理,系統工具,系統資料,采購管理,庫存管理,生產管理,銷售管理,成本管理,財務,綜合查詢等模塊。為了提高發效率,前臺程序設計力求做到構件、界面和代碼的標準化。
(2)中間層
該層主要功能一是起到數據通信的橋梁作用。把客戶端的數據傳送到數據庫,向數據庫發送SQL查詢,創建數據集,被動的把數據傳送到客戶端;此外,還起到業務規則的檢驗作用,負責對前臺傳回來的數據進行業務規則校驗,數據類型的驗證和合法性驗證。業務類都部署在應用服務器上,業務類實現的好壞直接關系到數據安全與合法,業務類的運行效率與直接影響到中間層應用服務器的運行效率。在系統中每一模塊業務共同編譯成一個動態鏈接庫文件。
(3)數據層
數據庫的業務數據流的最終表現,數據結構的合理與否直接影響到系統的運行效率可擴展性。因此在設計數據結構時應認真深入的分析業務需求、業務流程以及與其它業務的相關需求.充分考慮簡化業務類及前臺程序的編寫,務求達到數學模型與實現業務的高度統一,減少不必要網絡數據流量及單個業務的復雜度。
綜上所述,使用三層結構,對系統的開發及其性能提升方面均都擁有眾多優勢:通過對商業邏輯和業務規則的仔細分析,對組件的接口進行一致、完備的定義,可以在不同系統之間同享組件,從而提高了軟件的可利用復用度,節省大量開發時間;通過MTS/COM+運行環境提供的功能,如緩沖池、數據庫連接緩沖、JIT等,極大地提高了應用程序的性能,同時提供了比較好的延展性。
5 結束語
本文通過闡述DCOM技術的特點。按照Windows DNA論述了金蝶K/3 ERP系統的實現框架,特別是COM+技術是Windows DNA框架中的中間層技術,它擴展并增加了許多企業應用功能,如:事務服務、安全服務、同步服務、消息隊列組件、事件服務和集成的管理工具等。
參考文獻
[1]張濤.企業資源計劃原理與實踐[M].北京:機械工業出版社,2013.
[2]羅鴻.企業資源計劃教程[M].北京:電子工業出版社,2007.
[3]鄭毅,陳洪亮.Windows DNA架構在ERP軟件中的應用[J].開發應用,2004.
[4]盧彬,陳家琪.ERP中基于COM+的三層財務系統的設計與實現[J].儀器儀表學報,2006.
[5]張云勇,張智江,劉錦德,劉韻潔.中間件技術原理與應用[M].北京:清華大學出版社,2004.