多層信息系統(tǒng)分析論文

時間:2022-05-23 03:07:29

導(dǎo)語:多層信息系統(tǒng)分析論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

多層信息系統(tǒng)分析論文

1系統(tǒng)分析

多層信息系統(tǒng)的思想,是在表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層的三層結(jié)構(gòu)基礎(chǔ)上,根據(jù)需要擴展出控制器層、持久化層等新層級,每一層的注重點不同,有利于更好的分解系統(tǒng)結(jié)構(gòu).以下就幾個關(guān)鍵層級的功能與結(jié)構(gòu)進行分析.

1.1多層信息系統(tǒng)的控制器層

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

1.2多層信息系統(tǒng)的控業(yè)務(wù)邏輯層

業(yè)務(wù)邏輯層用于實現(xiàn)業(yè)務(wù)模型的特定功能.業(yè)務(wù)代表模式封裝對業(yè)務(wù)服務(wù)的訪問,抽象并隱藏業(yè)務(wù)服務(wù)層的實現(xiàn)細節(jié),例如對于服務(wù)遠程調(diào)用(RMI)所需要的尋址等;把底層的錯誤或異常轉(zhuǎn)換為程序級別的錯誤信息,便于用戶理解;當(dāng)調(diào)用服務(wù)的時候發(fā)生錯誤或異常,業(yè)務(wù)代表可以直接進行一定次數(shù)的重試;對服務(wù)數(shù)據(jù)進行緩存,提高運行效率.以上這些對于客戶端是透明的,因此,采用業(yè)務(wù)代表可以降低客戶端和業(yè)務(wù)邏輯層之間的耦合.服務(wù)門面的作用是控制客戶端對業(yè)務(wù)服務(wù)的訪問,降低遠程客戶端和業(yè)務(wù)服務(wù)組件的交互所造成的網(wǎng)絡(luò)負載.一般采用EnterpriceJavaBean實現(xiàn),客戶端對其進行遠程調(diào)用,在不同容器上相同的服務(wù)門面的集群可以使得網(wǎng)絡(luò)負載均衡.業(yè)務(wù)邏輯層使用服務(wù)定位器透明而統(tǒng)一地實現(xiàn)對業(yè)務(wù)服務(wù)或業(yè)務(wù)組件的尋址.服務(wù)定位器能夠隱藏尋址機制的實現(xiàn)細節(jié),封裝這一機制對不同實現(xiàn)的依賴.系統(tǒng)通過服務(wù)定位器實現(xiàn)重用,降低代碼的復(fù)雜性,提供唯一的控制點,提供對業(yè)務(wù)組件或服務(wù)的緩存機制,改善系統(tǒng)性能.服務(wù)定位器也采用單一模式實現(xiàn),因為通常一個系統(tǒng)中只采用一個服務(wù)定位器.

1.3多層信息系統(tǒng)的控持久化層

持久化,就是將對象保存到可以永久性保存的存儲媒介中.持久化層是在面向?qū)ο蠼Y(jié)構(gòu)中一個專門負責(zé)對象持久化的類層次,將數(shù)據(jù)使用者和數(shù)據(jù)實體相互關(guān)聯(lián).持久化層使得對象的存貯對于程序設(shè)計者是透明的,設(shè)計者可以專注于應(yīng)用邏輯的開發(fā),不必考慮如何存貯對象,也不用知道存貯在何種持久化機制中.持久器屬于持久化層,系統(tǒng)底層采用的是關(guān)系型數(shù)據(jù)庫,持久器須實現(xiàn)對象-關(guān)系型數(shù)據(jù)映射,對系統(tǒng)的對象模型和數(shù)據(jù)庫可以存儲的關(guān)系模型實現(xiàn)相互轉(zhuǎn)化.持久器包括客戶端工廠、映射表配置工廠、SQL語句翻譯器等主要部件.客戶向客戶端工廠發(fā)送消息,獲取一個客戶端,客戶執(zhí)行客戶端的某個具體操作,客戶端向映射表配置工廠獲取該操作對應(yīng)映射配置,根據(jù)預(yù)先配置好的映射表對業(yè)務(wù)對象進行操作,利用SQL語句翻譯器提供對用戶配置的SQL語句和參數(shù)進行翻譯的方法,得到可供數(shù)據(jù)庫直接執(zhí)行的SQL語句.持久化層把內(nèi)部的業(yè)務(wù)邏輯和數(shù)據(jù)處理邏輯分離開來,降低系統(tǒng)的耦合度,提高系統(tǒng)的靈活性,由于持久器所需要的配置都采用文件形式,所以持久器使得系統(tǒng)具有良好的可移植性、可維護性和可擴展性.

2系統(tǒng)實施

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

3結(jié)語

應(yīng)用對象組件的多層級信息系統(tǒng),雖然需要管理更多的文件,甚至更高的開發(fā)成本.但通過細化層次、分解結(jié)構(gòu)、應(yīng)用對象組件,降低了系統(tǒng)復(fù)雜度和模塊的耦合度,提高了業(yè)務(wù)的擴展能力和開發(fā)效率.由此建立的信息系統(tǒng),能夠更自如地應(yīng)對業(yè)務(wù)規(guī)則的變化,便于擴展和配置新的系統(tǒng)用例和界面,從而擁有更好的軟件可維護性.

作者:饒浩單位:韶關(guān)學(xué)院