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

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

  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結語

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

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

最近訪問