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