論文:對(duì)多層信息系統(tǒng)的分析
1系統(tǒng)分析
多層信息系統(tǒng)的思想,是在表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層的三層結(jié)構(gòu)基礎(chǔ)上,根據(jù)需要擴(kuò)展出控制器層、持久化層等新層級(jí),每一層的注重點(diǎn)不同,有利于更好的分解系統(tǒng)結(jié)構(gòu).以下就幾個(gè)關(guān)鍵層級(jí)的功能與結(jié)構(gòu)進(jìn)行分析.
1.1多層信息系統(tǒng)的控制器層
早期軟件模型的系統(tǒng)業(yè)務(wù)和界面融合一起,使得管理和維護(hù)十分艱難.新系統(tǒng)模型結(jié)構(gòu)分離出控制器層,控制器是該層核心,控制器連接界面和系統(tǒng)業(yè)務(wù),二者為松耦合,松耦合后的系統(tǒng)對(duì)于集群部署后的維護(hù)和管理更加輕松.控制器采用MVC實(shí)現(xiàn),即模型(Model)、視圖(View)、控制(Controller)模式.控制器的組成部分包括:前端控制器、映射表工廠、動(dòng)作處理工廠、動(dòng)作處理部件、視圖轉(zhuǎn)發(fā)部件.前端控制器處理所有從界面提交過(guò)來(lái)的相關(guān)請(qǐng)求,并集中了控制邏輯,避免邏輯的重復(fù),完成主要的請(qǐng)求處理操作,同時(shí)也扮演應(yīng)用程序控制器的角色.系統(tǒng)需要一個(gè)集中的訪問(wèn)點(diǎn)來(lái)處理請(qǐng)求.如果沒(méi)有集中訪問(wèn)點(diǎn),多個(gè)請(qǐng)求的共用控制代碼會(huì)重復(fù)出現(xiàn),降低模塊化程度.該層實(shí)現(xiàn)兩個(gè)主要功能:首先,對(duì)于表示層的請(qǐng)求,根據(jù)用戶的配置,定位需要的業(yè)務(wù)邏輯并執(zhí)行,這是操作管理;其次,對(duì)于業(yè)務(wù)邏輯的執(zhí)行結(jié)果,根據(jù)用戶的配置,定位對(duì)應(yīng)的視圖,這是視圖管理.映射表工廠是一個(gè)操作和視圖配置的解釋和管理的工廠.當(dāng)從映射表工廠中得到該請(qǐng)求對(duì)應(yīng)的處理動(dòng)作關(guān)系表后,即可向動(dòng)作處理工廠獲取該具體動(dòng)作處理類,然后交由該類處理,動(dòng)作處理工廠負(fù)責(zé)定位并獲取所需要的操作.最后把結(jié)果返回給用戶并轉(zhuǎn)發(fā)到對(duì)應(yīng)的界面去.控制器把系統(tǒng)用例和界面松耦合地連接起來(lái),可以更輕松地?cái)U(kuò)展和配置新的系統(tǒng)用例和界面,并可以讓多種用戶界面共享同一個(gè)系統(tǒng)用例.即使增加新的訪問(wèn)方式或新的用戶界面,也可以方便地整合并繼續(xù)應(yīng)用現(xiàn)有的系統(tǒng)用例模型.
1.2多層信息系統(tǒng)的控業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層用于實(shí)現(xiàn)業(yè)務(wù)模型的特定功能.業(yè)務(wù)代表模式封裝對(duì)業(yè)務(wù)服務(wù)的訪問(wèn),抽象并隱藏業(yè)務(wù)服務(wù)層的實(shí)現(xiàn)細(xì)節(jié),例如對(duì)于服務(wù)遠(yuǎn)程調(diào)用(RMI)所需要的尋址等;把底層的.錯(cuò)誤或異常轉(zhuǎn)換為程序級(jí)別的錯(cuò)誤信息,便于用戶理解;當(dāng)調(diào)用服務(wù)的時(shí)候發(fā)生錯(cuò)誤或異常,業(yè)務(wù)代表可以直接進(jìn)行一定次數(shù)的重試;對(duì)服務(wù)數(shù)據(jù)進(jìn)行緩存,提高運(yùn)行效率.以上這些對(duì)于客戶端是透明的,因此,采用業(yè)務(wù)代表可以降低客戶端和業(yè)務(wù)邏輯層之間的耦合.服務(wù)門面的作用是控制客戶端對(duì)業(yè)務(wù)服務(wù)的訪問(wèn),降低遠(yuǎn)程客戶端和業(yè)務(wù)服務(wù)組件的交互所造成的網(wǎng)絡(luò)負(fù)載.一般采用EnterpriceJavaBean實(shí)現(xiàn),客戶端對(duì)其進(jìn)行遠(yuǎn)程調(diào)用,在不同容器上相同的服務(wù)門面的集群可以使得網(wǎng)絡(luò)負(fù)載均衡.業(yè)務(wù)邏輯層使用服務(wù)定位器透明而統(tǒng)一地實(shí)現(xiàn)對(duì)業(yè)務(wù)服務(wù)或業(yè)務(wù)組件的尋址.服務(wù)定位器能夠隱藏尋址機(jī)制的實(shí)現(xiàn)細(xì)節(jié),封裝這一機(jī)制對(duì)不同實(shí)現(xiàn)的依賴.系統(tǒng)通過(guò)服務(wù)定位器實(shí)現(xiàn)重用,降低代碼的復(fù)雜性,提供唯一的控制點(diǎn),提供對(duì)業(yè)務(wù)組件或服務(wù)的緩存機(jī)制,改善系統(tǒng)性能.服務(wù)定位器也采用單一模式實(shí)現(xiàn),因?yàn)橥ǔR粋(gè)系統(tǒng)中只采用一個(gè)服務(wù)定位器.
1.3多層信息系統(tǒng)的控持久化層
持久化,就是將對(duì)象保存到可以永久性保存的存儲(chǔ)媒介中.持久化層是在面向?qū)ο蠼Y(jié)構(gòu)中一個(gè)專門負(fù)責(zé)對(duì)象持久化的類層次,將數(shù)據(jù)使用者和數(shù)據(jù)實(shí)體相互關(guān)聯(lián).持久化層使得對(duì)象的存貯對(duì)于程序設(shè)計(jì)者是透明的,設(shè)計(jì)者可以專注于應(yīng)用邏輯的開(kāi)發(fā),不必考慮如何存貯對(duì)象,也不用知道存貯在何種持久化機(jī)制中.持久器屬于持久化層,系統(tǒng)底層采用的是關(guān)系型數(shù)據(jù)庫(kù),持久器須實(shí)現(xiàn)對(duì)象-關(guān)系型數(shù)據(jù)映射,對(duì)系統(tǒng)的對(duì)象模型和數(shù)據(jù)庫(kù)可以存儲(chǔ)的關(guān)系模型實(shí)現(xiàn)相互轉(zhuǎn)化.持久器包括客戶端工廠、映射表配置工廠、SQL語(yǔ)句翻譯器等主要部件.客戶向客戶端工廠發(fā)送消息,獲取一個(gè)客戶端,客戶執(zhí)行客戶端的某個(gè)具體操作,客戶端向映射表配置工廠獲取該操作對(duì)應(yīng)映射配置,根據(jù)預(yù)先配置好的映射表對(duì)業(yè)務(wù)對(duì)象進(jìn)行操作,利用SQL語(yǔ)句翻譯器提供對(duì)用戶配置的SQL語(yǔ)句和參數(shù)進(jìn)行翻譯的方法,得到可供數(shù)據(jù)庫(kù)直接執(zhí)行的SQL語(yǔ)句.持久化層把內(nèi)部的業(yè)務(wù)邏輯和數(shù)據(jù)處理邏輯分離開(kāi)來(lái),降低系統(tǒng)的耦合度,提高系統(tǒng)的靈活性,由于持久器所需要的配置都采用文件形式,所以持久器使得系統(tǒng)具有良好的可移植性、可維護(hù)性和可擴(kuò)展性.
2系統(tǒng)實(shí)施
以常見(jiàn)的進(jìn)銷存信息管理系統(tǒng)為例,將系統(tǒng)簡(jiǎn)化為信息維護(hù)、進(jìn)貨管理、銷售管理、報(bào)損管理等模塊.信息維護(hù)負(fù)責(zé)商品分類信息和供應(yīng)商信息的維護(hù);進(jìn)貨管理負(fù)責(zé)商品的進(jìn)貨;銷售管理負(fù)責(zé)商品的銷售;報(bào)損管理負(fù)責(zé)商品的報(bào)損工作.通過(guò)分析進(jìn)銷存系統(tǒng)的結(jié)構(gòu)以及業(yè)務(wù)角色的劃分,可以將進(jìn)存銷系統(tǒng)擴(kuò)展為六個(gè)層次結(jié)構(gòu).每一層所專注的目的不同:表示層以網(wǎng)頁(yè)形式展示系統(tǒng)界面的相關(guān)內(nèi)容,收集用戶的輸入,與用戶對(duì)話,處理系統(tǒng)用戶之間及業(yè)務(wù)之間進(jìn)行交互的各種程序邏輯,向用戶顯示結(jié)果輸出等.界面可應(yīng)用HTML、JSP、ASP、PHP實(shí)現(xiàn);控制器層用于連接界面與進(jìn)存銷系統(tǒng)用例,提供連接關(guān)系配置功能,該層可采用開(kāi)源框架實(shí)現(xiàn),例如Struts、Spring等;業(yè)務(wù)邏輯層建立進(jìn)存銷系統(tǒng)需要的所有業(yè)務(wù)用例,集中對(duì)數(shù)據(jù)業(yè)務(wù)邏輯進(jìn)行處理,接收表示層發(fā)出的請(qǐng)求,進(jìn)行有效性驗(yàn)證,應(yīng)用業(yè)務(wù)規(guī)則調(diào)用數(shù)據(jù)訪問(wèn)層,以獲取響應(yīng)表示層請(qǐng)求所需的信息.采用配置文件的方式連接表示層和業(yè)務(wù)層,使得擴(kuò)展和配置簡(jiǎn)單輕松,新的業(yè)務(wù)及界面可以采用“熱插拔”的方式融入原系統(tǒng);持久化層是進(jìn)存銷系統(tǒng)用例對(duì)象數(shù)據(jù)持久器,作用在于作用在于實(shí)現(xiàn)對(duì)象和關(guān)系的映射,提供映射關(guān)系的配置和管理,使得下層的用例對(duì)象持久化.映射操作的處理邏輯置于此層,把數(shù)據(jù)處理邏輯與業(yè)務(wù)對(duì)象相分離,降低業(yè)務(wù)對(duì)象模型和關(guān)系模型耦合度;連接池扮演中間件的角色,用于解決系統(tǒng)頻繁連接數(shù)據(jù)庫(kù)造成的高負(fù)載.將數(shù)據(jù)庫(kù)連接作為中間件,通過(guò)數(shù)據(jù)庫(kù)連接池,應(yīng)用程序可以重用池中已有的連接,減少用戶申請(qǐng)與數(shù)據(jù)庫(kù)建立或釋放連接的開(kāi)銷,從而提高數(shù)據(jù)庫(kù)訪問(wèn)的并發(fā)量;數(shù)據(jù)訪問(wèn)層采用MySQL數(shù)據(jù)庫(kù)作支持,對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行管理,執(zhí)行數(shù)據(jù)的查詢、添加、修改、刪除等功能.系統(tǒng)以實(shí)際的業(yè)務(wù)為中心進(jìn)行單元?jiǎng)澐?當(dāng)其中某一個(gè)業(yè)務(wù)需要更改,只要接口沒(méi)有改變,可以直接替換.J2EE技術(shù)中的EJB針對(duì)這方面提供了良好的支持,每個(gè)業(yè)務(wù)都封裝在一個(gè)EJB中,所有的業(yè)務(wù)可以以“熱插拔”的形式提供.更改某個(gè)業(yè)務(wù),只需要將其“拔”下來(lái),把新的業(yè)務(wù)“插”回去即可.這對(duì)于用戶來(lái)說(shuō)是完全透明的,而且也使得業(yè)務(wù)之間松耦合,松耦合后的進(jìn)存銷系統(tǒng)具備更好的穩(wěn)定性和可擴(kuò)展性.
3結(jié)語(yǔ)
應(yīng)用對(duì)象組件的多層級(jí)信息系統(tǒng),雖然需要管理更多的文件,甚至更高的開(kāi)發(fā)成本.但通過(guò)細(xì)化層次、分解結(jié)構(gòu)、應(yīng)用對(duì)象組件,降低了系統(tǒng)復(fù)雜度和模塊的耦合度,提高了業(yè)務(wù)的擴(kuò)展能力和開(kāi)發(fā)效率.由此建立的信息系統(tǒng),能夠更自如地應(yīng)對(duì)業(yè)務(wù)規(guī)則的變化,便于擴(kuò)展和配置新的系統(tǒng)用例和界面,從而擁有更好的軟件可維護(hù)性.
作者:饒浩 單位:韶關(guān)學(xué)院
【論文:對(duì)多層信息系統(tǒng)的分析】相關(guān)文章:
信息系統(tǒng)分析論文04-11
基于網(wǎng)絡(luò)的醫(yī)院信息系統(tǒng)的分析與設(shè)計(jì)論文04-22
礦井中通風(fēng)信息系統(tǒng)設(shè)計(jì)分析論文04-20
多層框架結(jié)構(gòu)優(yōu)化設(shè)計(jì)論文04-23
學(xué)生成績(jī)管理信息系統(tǒng)設(shè)計(jì)分析的論文07-02
信息系統(tǒng)的保護(hù)論文04-05
醫(yī)藥信息系統(tǒng)論文04-13