摘 要:隨著互聯(lián)網(wǎng)用戶的規(guī)模不斷增大,分布式管理系統(tǒng)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。本文詳細(xì)分析了分布式管理系統(tǒng)的三層架構(gòu),重點(diǎn)闡述了基于JavaBean組件的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)及其在分布式管理系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:JavaBean;分布式管理系統(tǒng);B/S體系架構(gòu)
中圖分類號(hào):TP311.52
隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)用戶數(shù)量大規(guī)模上升,促使分布式管理系統(tǒng)在網(wǎng)絡(luò)科技通訊、政企單位信息化辦公、金融信息處理等領(lǐng)域得到了廣泛的應(yīng)用。目前,分布式管理系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中,其系統(tǒng)架構(gòu)經(jīng)歷了三個(gè)時(shí)期,分別是脫機(jī)處理方式、C/S體系架構(gòu)和B/S體系架構(gòu),尤其是后兩種,在互聯(lián)網(wǎng)用戶規(guī)模上升的情況下,可以大幅度地提高分布式管理系統(tǒng)響應(yīng)速度,提高系統(tǒng)設(shè)計(jì)的模塊結(jié)構(gòu),有利于系統(tǒng)的運(yùn)行升級(jí)和維護(hù)[1]。
1 分布式管理系統(tǒng)架構(gòu)
1.1 三層分布式管理系統(tǒng)架構(gòu)
B/S體系架構(gòu)是瀏覽器服務(wù)器模式的簡(jiǎn)稱,其在C/S體系架構(gòu)的基礎(chǔ)上改進(jìn)而來(lái),采用三層分布式管理模式,客戶端采用瀏覽器進(jìn)行操作,無(wú)需安裝任何客戶端。在操作過(guò)程中,僅僅需要安裝一些簡(jiǎn)單的插件即可,只要用戶能夠上網(wǎng),即可使用IE瀏覽器登錄系統(tǒng)的登錄界面,進(jìn)入系統(tǒng),進(jìn)行各種管理操作。
B/S體系架構(gòu)將分布式管理系統(tǒng)分為三個(gè)邏輯獨(dú)立的層次結(jié)構(gòu),分別是客戶端、Web業(yè)務(wù)處理層和數(shù)據(jù)庫(kù)處理層,每個(gè)層次都可以獨(dú)立完成各自的工作。比如用戶期望查詢分布式管理系統(tǒng)的數(shù)據(jù),其可以在客戶端輸入相關(guān)的查詢請(qǐng)求信息,分布式管理系統(tǒng)將信息發(fā)送給Web業(yè)務(wù)處理層進(jìn)行解析,將查詢請(qǐng)求處理解析為數(shù)據(jù)庫(kù)事務(wù)處理程序,發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行數(shù)據(jù)庫(kù)操作處理,將查詢的結(jié)果反饋給Web業(yè)務(wù)處理層,該層再把相關(guān)的查詢結(jié)果反饋給客戶端,客戶端在瀏覽器上將查詢結(jié)果顯示處出來(lái),供系統(tǒng)用戶進(jìn)行操作,比如下載、打印、瀏覽等。
B/S體系架構(gòu)是一種輕量級(jí)的分布式管理系統(tǒng)架構(gòu),其為用戶提供了非常大的方便,無(wú)需專業(yè)的分布式系統(tǒng)管理員進(jìn)行任何操作,即能提供升級(jí)等功能。并且在開(kāi)發(fā)實(shí)現(xiàn)過(guò)程中,具有成本低、效率快等優(yōu)點(diǎn),方便快捷,適合分布式管理系統(tǒng)發(fā)展使用的方向。
1.2 系統(tǒng)架構(gòu)內(nèi)容
1.2.1 客戶端
在三層B/S體系架構(gòu)中,客戶端位于用戶處,直接為用戶提供輸入輸出的功能,是人機(jī)交互的接口。在分布式管理系統(tǒng)中,用戶可以在IE、360、火狐、百度等瀏覽器中輸入服務(wù)器地址,登錄客戶端,登錄進(jìn)去之后即可操作系統(tǒng),發(fā)送邏輯業(yè)務(wù)處理請(qǐng)求。比如將數(shù)據(jù)傳送到Web業(yè)務(wù)處理層,并且能夠接受中間層反饋的邏輯業(yè)務(wù)請(qǐng)求,將請(qǐng)求結(jié)果顯示出來(lái),以便為用戶提供瀏覽、打印、下載等操作。
使用三層B/S體系架構(gòu)后,客戶端無(wú)需安裝任何分布式管理系統(tǒng)軟件,并且在系統(tǒng)運(yùn)行過(guò)程中,如果需要升級(jí),也僅僅是自動(dòng)下載安裝部分插件即可。
1.2.2 Web業(yè)務(wù)處理層
Web業(yè)務(wù)處理層位于Web服務(wù)器上,其屬于分布式管理系統(tǒng)的中間層,其功能作用是處理來(lái)自客戶端瀏覽器發(fā)送的邏輯業(yè)務(wù)請(qǐng)求,并且檢查解析結(jié)果是否需要數(shù)據(jù)事務(wù)操作,以便能夠?qū)?shù)據(jù)事務(wù)請(qǐng)求發(fā)送數(shù)據(jù)庫(kù)處理層,由數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行處理;同時(shí),Web業(yè)務(wù)處理層也可以接收數(shù)據(jù)庫(kù)處理層的結(jié)果,將其與其他的邏輯業(yè)務(wù)請(qǐng)求結(jié)果進(jìn)行整合,一起發(fā)送給客戶端。
1.2.3 數(shù)據(jù)庫(kù)處理層
數(shù)據(jù)庫(kù)處理層是分布式管理系統(tǒng)最為重要的一層,通常情況下,分布式管理系統(tǒng)最為關(guān)鍵的功能是為用戶提供數(shù)據(jù)業(yè)務(wù)管理和處理功能。如果客戶請(qǐng)求的邏輯事務(wù)處理過(guò)程中需要數(shù)據(jù)結(jié)果,Web業(yè)務(wù)處理層將會(huì)發(fā)送數(shù)據(jù)處理請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器接受到數(shù)據(jù)業(yè)務(wù)請(qǐng)求后,可以啟動(dòng)數(shù)據(jù)庫(kù)管理軟件,如SQLSsever 2012數(shù)據(jù)庫(kù)管理系統(tǒng),將邏輯業(yè)務(wù)處理解析出來(lái)的數(shù)據(jù)庫(kù)處理語(yǔ)句進(jìn)行事務(wù)操作,如查詢數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)等更新操作,并且將查詢結(jié)果反饋給Web業(yè)務(wù)處理層。
2 Javabean組件應(yīng)用
在開(kāi)發(fā)分布式管理系統(tǒng)時(shí),訪問(wèn)數(shù)據(jù)庫(kù)是少不了的,通過(guò)訪問(wèn)數(shù)據(jù)庫(kù)的信息,進(jìn)行對(duì)數(shù)據(jù)的刪、增、查、改。這些數(shù)據(jù)代碼非常繁瑣,每次操作數(shù)據(jù)庫(kù)時(shí)都要編寫代碼很多次,JavaBean所起的作用就是實(shí)現(xiàn)一次性的更改,在哪個(gè)地方執(zhí)行,就可以在哪個(gè)地方重用,這就是為了解決工業(yè)上所要求解決的復(fù)雜問(wèn)題,這個(gè)解決方案既簡(jiǎn)單、優(yōu)秀而且緊湊,在開(kāi)發(fā)JSP時(shí)就可以使用JavaBean的方法解決。
Java語(yǔ)言是用來(lái)描述JavaBean的,簡(jiǎn)單易用,可以設(shè)計(jì)中用組件,開(kāi)發(fā)人員能夠把這些關(guān)鍵算法與核心功能提出后封裝為對(duì)象組件[2]。和微軟的com組件比較相似,封閉數(shù)據(jù)庫(kù)事務(wù)邏輯操作在JSP程序比較常見(jiàn),能夠使前臺(tái)程序和業(yè)務(wù)邏輯的分離很好地實(shí)現(xiàn)[3]。其實(shí),JavaBean是一種特殊的Java類,使用了某些特殊的設(shè)計(jì)規(guī)范與命名方法。
使用JSP技術(shù)實(shí)現(xiàn)的分布式管理系統(tǒng)中,JSP可以開(kāi)發(fā)前端顯示平臺(tái),顯示用戶請(qǐng)求系統(tǒng)處理的結(jié)果,后臺(tái)處理過(guò)程中要使用數(shù)據(jù)庫(kù)操作組件JavaBean,該組件是一個(gè)中間件,其可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)類的定義,包括定義數(shù)據(jù)庫(kù)操作的對(duì)象、數(shù)據(jù)庫(kù)連接狀態(tài),構(gòu)建數(shù)據(jù)庫(kù)操作方法等功能,同時(shí)能夠具有強(qiáng)大的可重用性。JavaBean數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程中,其最為常用的連接數(shù)據(jù)庫(kù)、操作數(shù)據(jù)庫(kù)的組件內(nèi)容具體如下:
2.1 連接數(shù)據(jù)庫(kù)的JavaBean組件
JavaBean連接數(shù)據(jù)庫(kù)的組件具有非常重要的作用,其可以有效地實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接操作,以便分布式管理系統(tǒng)能夠獲取數(shù)據(jù)庫(kù)的連接狀態(tài),同時(shí)能夠?yàn)橄到y(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)的用戶反饋結(jié)果集。Conn.java的執(zhí)行過(guò)程是:首先使用組件中的函數(shù)Class.forName()加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng),其次使用DriverManager類的函數(shù)getConnection()獲取數(shù)據(jù)庫(kù)的連接對(duì)象,此時(shí)就可以完成數(shù)據(jù)庫(kù)的連接操作。
2.2 操作數(shù)據(jù)庫(kù)的JavaBean組件
使用Conn.java組件實(shí)現(xiàn)數(shù)據(jù)連接之后,系統(tǒng)即可通過(guò)數(shù)據(jù)庫(kù)操作組件實(shí)施數(shù)據(jù)庫(kù)的插入、刪除、修改和查詢等操作。數(shù)據(jù)庫(kù)操作組件為Oper.java,該組件操作過(guò)程如下:連接組件創(chuàng)建完畢之后,數(shù)據(jù)庫(kù)操作組件收到數(shù)據(jù)庫(kù)的連接狀態(tài),保持連接狀態(tài)Statement stmt處于激活狀態(tài),同時(shí)使用操作結(jié)果變量ResultSetrs接受操作的結(jié)果,執(zhí)行各種數(shù)據(jù)庫(kù)操作。
3 結(jié)束語(yǔ)
隨著分布式管理系統(tǒng)的應(yīng)用和發(fā)展,其設(shè)計(jì)和開(kāi)發(fā)過(guò)程中必將引入更多的新技術(shù),比如近年來(lái)較為流行的混合體系架構(gòu)、云服務(wù)架構(gòu)等,同時(shí)為數(shù)據(jù)處理引入云計(jì)算、數(shù)據(jù)挖掘等算法,可以更好地為系統(tǒng)用戶提供快速響應(yīng)的功能,并且能夠?yàn)橄到y(tǒng)擴(kuò)展留下完善的接口。
參考文獻(xiàn):
[1]周云,余青松,敬宗儒.基于JSP/Servlet的Web應(yīng)用框架的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù),2013(04):41-43.
[2]李蘋.基于JSP與JavaBean技術(shù)的數(shù)據(jù)庫(kù)訪問(wèn)方法研究[J].楚雄師范學(xué)院學(xué)報(bào),2012(09):141-142.
[3]張力娜,李小林.JavaBean在Web數(shù)據(jù)庫(kù)訪問(wèn)中的應(yīng)用[J].甘肅聯(lián)合大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(05):34-35.
作者單位:山東商業(yè)職業(yè)技術(shù)學(xué)院,濟(jì)南 250103