博文谷

位置:首頁 > 實用範文 > 論文

論文:對多層資訊系統的分析

論文3.2W

1系統分析

論文:對多層資訊系統的分析

多層資訊系統的思想,是在表示層、業務邏輯層、數據訪問層的三層結構基礎上,根據需要擴展出控制器層、持久化層等新層級,每一層的注重點不同,有利於更好的分解系統結構.以下就幾個關鍵層級的功能與結構進行分析.

1.1多層資訊系統的控制器層

早期軟件模型的系統業務和介面融合一起,使得管理和維護十分艱難.新系統模型結構分離出控制器層,控制器是該層核心,控制器連接介面和系統業務,二者爲鬆耦合,鬆耦合後的系統對於集羣部署後的維護和管理更加輕鬆.控制器採用MVC實現,即模型(Model)、視圖(View)、控制(Controller)模式.控制器的組成部分包括:前端控制器、映射表工廠、動作處理工廠、動作處理部件、視圖轉發部件.前端控制器處理所有從介面提交過來的相關請求,並集中了控制邏輯,避免邏輯的重複,完成主要的請求處理操作,同時也扮演應用程序控制器的角色.系統需要一個集中的訪問點來處理請求.如果沒有集中訪問點,多個請求的共用控制代碼會重複出現,降低模組化程度.該層實現兩個主要功能:首先,對於表示層的請求,根據用戶的配置,定位需要的業務邏輯並執行,這是操作管理;其次,對於業務邏輯的執行結果,根據用戶的配置,定位對應的視圖,這是視圖管理.映射表工廠是一個操作和視圖配置的解釋和管理的工廠.當從映射表工廠中得到該請求對應的處理動作關係表後,即可向動作處理工廠獲取該具體動作處理類,然後交由該類處理,動作處理工廠負責定位並獲取所需要的操作.最後把結果返回給用戶並轉發到對應的介面去.控制器把系統用例和介面鬆耦合地連接起來,可以更輕鬆地擴展和配置新的系統用例和介面,並可以讓多種用戶介面共享同一個系統用例.即使增加新的訪問方式或新的用戶介面,也可以方便地整合並繼續應用現有的系統用例模型.

1.2多層資訊系統的控業務邏輯層

業務邏輯層用於實現業務模型的特定功能.業務代表模式封裝對業務服務的訪問,抽象並隱藏業務服務層的實現細節,例如對於服務遠程調用(RMI)所需要的尋址等;把底層的.錯誤或異常轉換爲程序級別的錯誤資訊,便於用戶理解;當調用服務的時候發生錯誤或異常,業務代表可以直接進行一定次數的重試;對服務數據進行快取,提高執行效率.以上這些對於客戶端是透明的,因此,採用業務代表可以降低客戶端和業務邏輯層之間的耦合.服務門面的作用是控制客戶端對業務服務的訪問,降低遠程客戶端和業務服務組件的交互所造成的網絡負載.一般採用EnterpriceJavaBean實現,客戶端對其進行遠程調用,在不同容器上相同的服務門面的集羣可以使得網絡負載均衡.業務邏輯層使用服務定位器透明而統一地實現對業務服務或業務組件的尋址.服務定位器能夠隱藏尋址機制的實現細節,封裝這一機制對不同實現的依賴.系統透過服務定位器實現重用,降低代碼的複雜性,提供唯一的控制點,提供對業務組件或服務的快取機制,改善系統性能.服務定位器也採用單一模式實現,因爲通常一個系統中只採用一個服務定位器.

1.3多層資訊系統的控持久化層

持久化,就是將對象儲存到可以永久性儲存的存儲媒介中.持久化層是在面向對象結構中一個專門負責對象持久化的類層次,將數據使用者和數據實體相互關聯.持久化層使得對象的存貯對於程序設計者是透明的,設計者可以專注於應用邏輯的開發,不必考慮如何存貯對象,也不用知道存貯在何種持久化機制中.持久器屬於持久化層,系統底層採用的是關係型數據庫,持久器須實現對象-關係型數據映射,對系統的對象模型和數據庫可以存儲的關係模型實現相互轉化.持久器包括客戶端工廠、映射表配置工廠、SQL語句翻譯器等主要部件.客戶向客戶端工廠發送消息,獲取一個客戶端,客戶執行客戶端的某個具體操作,客戶端向映射表配置工廠獲取該操作對應映射配置,根據預先配置好的映射表對業務對象進行操作,利用SQL語句翻譯器提供對用戶配置的SQL語句和參數進行翻譯的方法,得到可供數據庫直接執行的SQL語句.持久化層把內部的業務邏輯和數據處理邏輯分離開來,降低系統的耦合度,提高系統的靈活性,由於持久器所需要的配置都採用檔案形式,所以持久器使得系統具有良好的可移植性、可維護性和可擴展性.

2系統實施

以常見的進銷存資訊管理系統爲例,將系統簡化爲資訊維護、進貨管理、銷售管理、報損管理等模組.資訊維護負責商品分類資訊和供應商資訊的維護;進貨管理負責商品的進貨;銷售管理負責商品的銷售;報損管理負責商品的報損工作.透過分析進銷存系統的結構以及業務角色的劃分,可以將進存銷系統擴展爲六個層次結構.每一層所專注的目的不同:表示層以網頁形式展示系統介面的相關內容,收集用戶的輸入,與用戶對話,處理系統用戶之間及業務之間進行交互的各種程序邏輯,向用戶顯示結果輸出等.介面可應用HTML、JSP、ASP、PHP實現;控制器層用於連接介面與進存銷系統用例,提供連接關係配置功能,該層可採用開源框架實現,例如Struts、Spring等;業務邏輯層建立進存銷系統需要的所有業務用例,集中對數據業務邏輯進行處理,接收表示層發出的請求,進行有效性驗證,應用業務規則調用數據訪問層,以獲取響應表示層請求所需的資訊.採用配置檔案的方式連接表示層和業務層,使得擴展和配置簡單輕鬆,新的業務及介面可以採用“熱插拔”的方式融入原系統;持久化層是進存銷系統用例對象數據持久器,作用在於作用在於實現對象和關係的映射,提供映射關係的配置和管理,使得下層的用例對象持久化.映射操作的處理邏輯置於此層,把數據處理邏輯與業務對象相分離,降低業務對象模型和關係模型耦合度;連接池扮演中間件的角色,用於解決系統頻繁連接數據庫造成的高負載.將數據庫連接作爲中間件,透過數據庫連接池,應用程序可以重用池中已有的連接,減少用戶申請與數據庫建立或釋放連接的開銷,從而提高數據庫訪問的併發量;數據訪問層採用MySQL數據庫作支援,對系統數據進行管理,執行數據的查詢、添加、修改、刪除等功能.系統以實際的業務爲中心進行單元劃分,當其中某一個業務需要更改,只要接口沒有改變,可以直接替換.J2EE技術中的EJB針對這方面提供了良好的支援,每個業務都封裝在一個EJB中,所有的業務可以以“熱插拔”的形式提供.更改某個業務,只需要將其“拔”下來,把新的業務“插”回去即可.這對於用戶來說是完全透明的,而且也使得業務之間鬆耦合,鬆耦合後的進存銷系統具備更好的穩定性和可擴展性.

3結語

應用對象組件的多層級資訊系統,雖然需要管理更多的檔案,甚至更高的開發成本.但透過細化層次、分解結構、應用對象組件,降低了系統複雜度和模組的耦合度,提高了業務的擴展能力和開發效率.由此建立的資訊系統,能夠更自如地應對業務規則的變化,便於擴展和配置新的系統用例和介面,從而擁有更好的軟件可維護性.

作者:饒浩 單位:韶關學院