【摘要】在分析校園網(wǎng)絡(luò)中數(shù)據(jù)存在的問(wèn)題,針對(duì)數(shù)據(jù)的特點(diǎn),以數(shù)據(jù)為核心, 通過(guò)對(duì)現(xiàn)有的整合平臺(tái)和整合技術(shù)的對(duì)比,從而結(jié)合Java 語(yǔ)言自身的優(yōu)勢(shì)和特點(diǎn)提出基于Hibernate框架結(jié)構(gòu)的整合技術(shù)校園網(wǎng)絡(luò)的數(shù)據(jù)整合方案。
【關(guān)鍵詞】校園網(wǎng);數(shù)據(jù)整合;中間件整合技術(shù)
1.引言
伴隨著網(wǎng)絡(luò)的迅猛發(fā)展,信息技術(shù)得到了前所未有的發(fā)展和應(yīng)用,在信息技術(shù)發(fā)展中,開(kāi)發(fā)者和使用者逐步認(rèn)識(shí)到,數(shù)據(jù)是信息技術(shù)中的應(yīng)用核心,沒(méi)有數(shù)據(jù)的系統(tǒng),是沒(méi)有任何意義的硬件和軟件的疊加如同沒(méi)有生命的軀體,只有加上了數(shù)據(jù)在上面流通,如軀體有了血液,才有實(shí)際意義。同時(shí)為了保證系統(tǒng)的未定性和可用性,數(shù)據(jù)就需要有完整性、準(zhǔn)確性、安全性、完整性等。
校園信息化從上世紀(jì)90年代開(kāi)始快速發(fā)展,由于早期對(duì)數(shù)據(jù)預(yù)期不足,開(kāi)發(fā)人員個(gè)體差異等各種原因,數(shù)據(jù)重復(fù),凌亂、冗余、關(guān)聯(lián)性不夠等相關(guān)問(wèn)題接踵而至。就長(zhǎng)江職業(yè)技術(shù)學(xué)院來(lái)說(shuō),經(jīng)過(guò)多年的信息化建設(shè),學(xué)院在不同階段因?yàn)椴煌瑯I(yè)務(wù)的需求,搭建了大量不同業(yè)務(wù)的系統(tǒng),伴隨著系統(tǒng)也產(chǎn)生了大量的數(shù)據(jù),在開(kāi)發(fā)過(guò)程宏由于技術(shù)、需求的原因,從單個(gè)軟件系統(tǒng)的應(yīng)用的角度看,這些數(shù)據(jù)均具有較高的完整性、準(zhǔn)確性、安全性、一致性、可用性都不成問(wèn)題,但整個(gè)學(xué)院的校園網(wǎng)絡(luò)來(lái)看,對(duì)于不同的領(lǐng)導(dǎo)、部門(mén)、科室,多個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)存在交叉,數(shù)據(jù)存在著種類(lèi)多、關(guān)聯(lián)性差、無(wú)同步性。整體表現(xiàn)為缺少統(tǒng)一規(guī)劃和集中管理,標(biāo)準(zhǔn)化不高,大量無(wú)效冗余等問(wèn)題。相關(guān)數(shù)據(jù)只為單個(gè)系統(tǒng)提供服務(wù),無(wú)法實(shí)現(xiàn)全局同步、共享等,數(shù)據(jù)孤島現(xiàn)象明顯,由此產(chǎn)生形式上的數(shù)據(jù)冗余。因此如何從全局角度出發(fā),對(duì)數(shù)據(jù)的完整性、準(zhǔn)確性、安全性、一致性可用性,進(jìn)行處理成了大量企事業(yè)單位面臨的一大困難,數(shù)據(jù)集成的必要性和迫切性就不言而喻,不斷被推至信息發(fā)展的首要位置。
2.數(shù)據(jù)現(xiàn)狀
經(jīng)過(guò)學(xué)院多年的信息化發(fā)展,目前學(xué)院已開(kāi)始使用,不包括正在開(kāi)發(fā)的各種業(yè)務(wù)系統(tǒng)有20個(gè),開(kāi)發(fā)系統(tǒng)大部分屬于不同的開(kāi)發(fā)人員、開(kāi)發(fā)階段和不同的業(yè)務(wù)要求,每個(gè)應(yīng)用系統(tǒng)均自己的數(shù)據(jù)庫(kù)。
這些系統(tǒng)都是學(xué)院在不同的階段為解決不同的業(yè)務(wù)需求而建設(shè)的,各系統(tǒng)之間沒(méi)有考慮關(guān)聯(lián),產(chǎn)生的數(shù)據(jù)相互之間也沒(méi)有關(guān)聯(lián)。這造成了目前多頭存放的數(shù)據(jù)之間存在著無(wú)效冗余。
數(shù)據(jù)系統(tǒng)主要存在以下問(wèn)題:
(1)數(shù)據(jù)共享差
隨著學(xué)院的發(fā)展,不同時(shí)期產(chǎn)生的系統(tǒng)種類(lèi)繁,學(xué)院各部門(mén)、科室相互溝通較少,大多數(shù)系統(tǒng)基本上是針對(duì)學(xué)院某一單一管理業(yè)務(wù),累積的數(shù)據(jù)也僅限于部門(mén)或科室內(nèi)部使用,系統(tǒng)之間即使相同的數(shù)據(jù)也無(wú)法進(jìn)行有效關(guān)聯(lián)與更新,缺乏信息的充分融合,不能實(shí)現(xiàn)信息互動(dòng),在實(shí)際使用中如:查詢學(xué)生是否滿足畢業(yè)條件都需查詢兩個(gè)系統(tǒng)以上可以得出結(jié)論;
(2)數(shù)據(jù)缺乏規(guī)劃
不同時(shí)期不同人員不同軟件開(kāi)發(fā)的數(shù)據(jù)庫(kù)種類(lèi)多、雜。學(xué)院數(shù)據(jù)但缺少統(tǒng)一規(guī)劃和集中管理,相關(guān)數(shù)據(jù)時(shí)效性不強(qiáng),標(biāo)準(zhǔn)化不高,并有大量無(wú)效冗余,大量的學(xué)生及教師數(shù)據(jù)庫(kù)無(wú)法在全局內(nèi)共享服務(wù),操作人員需多處修改數(shù)據(jù),數(shù)據(jù)孤島現(xiàn)象明顯;
(3)數(shù)據(jù)可用性低
在眾多系統(tǒng)中,同一人員進(jìn)入學(xué)院的不同應(yīng)用系統(tǒng)需不同的密碼和身份標(biāo)示,應(yīng)用無(wú)法有效的統(tǒng)計(jì)分析現(xiàn)有數(shù)據(jù),提供決策支持信息。
3.數(shù)據(jù)整合
由于數(shù)據(jù)資源不能夠很好地共享,從而不能滿足各單位對(duì)信息資源整體開(kāi)發(fā)利用的需求,因此需要對(duì)數(shù)據(jù)進(jìn)行必要的整合。目前在數(shù)據(jù)整合領(lǐng)域,通常采用聯(lián)邦數(shù)據(jù)庫(kù)技術(shù)、數(shù)據(jù)倉(cāng)庫(kù)、中間件技術(shù)等方法來(lái)構(gòu)造集成的系統(tǒng),這三種方法在不同的著重點(diǎn)和應(yīng)用上解決數(shù)據(jù)問(wèn)題。
聯(lián)邦數(shù)據(jù)庫(kù)是由Hammer和MvLeod于1979首先提出,在1985年進(jìn)行了完善,在聯(lián)邦數(shù)據(jù)庫(kù)中數(shù)據(jù)源相互獨(dú)立,為了實(shí)現(xiàn)整合,將各個(gè)不同數(shù)據(jù)源之間用于交換的數(shù)據(jù)格式進(jìn)行一一映射,提供訪問(wèn)結(jié)構(gòu),分享數(shù)據(jù),其有點(diǎn)事,整合的數(shù)據(jù)源保留在原有的存儲(chǔ)文職,減少了一定資源的浪費(fèi),缺點(diǎn)是擴(kuò)展性差、查詢反饋較慢,由于其是基礎(chǔ)IBM的DB2數(shù)據(jù)庫(kù)系統(tǒng),對(duì)于不用數(shù)據(jù)庫(kù)資源整合極大不利。
數(shù)據(jù)倉(cāng)庫(kù)就是一種信息集合,要將處理后的數(shù)據(jù)資源存儲(chǔ)在相同的物理問(wèn)題,使用戶訪問(wèn)的復(fù)雜度得到簡(jiǎn)化,提高訪問(wèn)速度。缺點(diǎn)是功能邏輯復(fù)雜,開(kāi)發(fā)成本較高系統(tǒng)運(yùn)行開(kāi)銷(xiāo)較大。
4.數(shù)據(jù)整合方案-中間件整合技術(shù)
中間件技術(shù)即當(dāng)客戶端需要查詢某些數(shù)據(jù)時(shí),相關(guān)數(shù)據(jù)或服務(wù)存在于不同的操作系統(tǒng)服務(wù)器上,服務(wù)器應(yīng)用程序長(zhǎng)得查詢模塊只需要調(diào)用中間件系統(tǒng)就能夠獲得數(shù)據(jù)或服務(wù),并將結(jié)果返回給客戶端。其優(yōu)點(diǎn)是可以較好應(yīng)付不同平臺(tái)的數(shù)據(jù)資源整合,使程序的結(jié)構(gòu)層次清晰,降低程序設(shè)計(jì)的復(fù)雜度,同時(shí)又大大節(jié)約成本。
在聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)技術(shù)、中間件技術(shù)三類(lèi)數(shù)據(jù)整合技術(shù)中,功能和實(shí)現(xiàn)方式上各有所長(zhǎng),校園網(wǎng)絡(luò)發(fā)展多年,在保證大部分系統(tǒng)正常運(yùn)行的情況,采取有效的措施解決信息孤島來(lái)實(shí)現(xiàn)校園網(wǎng)絡(luò)信息整合是關(guān)鍵所在,中間件整合技術(shù)在校園數(shù)據(jù)整合中,不但可以降低成本,還可以兼容多個(gè)數(shù)據(jù)平臺(tái),是實(shí)現(xiàn)校園數(shù)據(jù)整合的關(guān)鍵所在首先重新設(shè)計(jì)數(shù)據(jù)庫(kù)開(kāi)發(fā)周期長(zhǎng),花費(fèi)高是不可取的。
開(kāi)發(fā)中在不改變?cè)袘?yīng)用系統(tǒng)的前提下,每個(gè)系統(tǒng)獨(dú)立運(yùn)行,對(duì)局部進(jìn)行變動(dòng)使用中間件技術(shù),使得各應(yīng)用系統(tǒng)可以通過(guò)這個(gè)中間件相互訪問(wèn),查詢各自信息資源,實(shí)現(xiàn)資源共享和信息傳輸,同時(shí)保證數(shù)據(jù)的一致性和完整度。其次統(tǒng)一開(kāi)發(fā)結(jié)構(gòu)和數(shù)據(jù)庫(kù)建設(shè)方案對(duì)后續(xù)開(kāi)發(fā)的系統(tǒng)學(xué)校統(tǒng)一開(kāi)發(fā)結(jié)構(gòu),對(duì)個(gè)數(shù)據(jù)元素按照用途劃分類(lèi)別,按業(yè)務(wù)環(huán)節(jié)和流程劃分?jǐn)?shù)據(jù)類(lèi)、數(shù)據(jù)子類(lèi)、數(shù)據(jù)項(xiàng),并進(jìn)行標(biāo)準(zhǔn)化統(tǒng)一編號(hào)。規(guī)劃設(shè)計(jì)完成后,起實(shí)施可分為轉(zhuǎn)換和統(tǒng)一兩個(gè)階段,逐步實(shí)施。
對(duì)象關(guān)系映射(Object Relation Mapping,簡(jiǎn)稱(chēng)ORM),面向?qū)ο蟮拈_(kāi)發(fā)方法是當(dāng)前商業(yè)開(kāi)發(fā)應(yīng)用軟件的主流開(kāi)發(fā),其注重利用元數(shù)據(jù)將數(shù)據(jù)在對(duì)象數(shù)據(jù)庫(kù)表格之間來(lái)回映射,從而確保訪問(wèn)代碼不直接侵入域或?qū)ο?,ORM系統(tǒng)一般是以中間件的形式存在,主要實(shí)現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)的映射。就好比是程序中業(yè)務(wù)實(shí)體對(duì)象魚(yú)數(shù)據(jù)庫(kù)中關(guān)系數(shù)據(jù)之間的紐帶,主要作用是管理處于持久化狀態(tài)的域?qū)ο?,提供通用?shù)據(jù)訪問(wèn)方法,優(yōu)化數(shù)據(jù)訪問(wèn)性能,極大簡(jiǎn)化和優(yōu)化了發(fā)雜的數(shù)據(jù)持久化問(wèn)題,數(shù)據(jù)庫(kù)操作對(duì)業(yè)務(wù)邏輯編程透明,可以使編程人員更專(zhuān)注開(kāi)發(fā)業(yè)務(wù)邏輯功能,提高了開(kāi)發(fā)效率。
我們?cè)谛@數(shù)據(jù)整合中采用目前最為廣泛使用的 Hibernate作為中間整合件,它是使用最為廣泛的開(kāi)源框架,它成功第實(shí)現(xiàn)透明持久化,一面向?qū)ο蟮腍QL封裝SQL,提供了一個(gè)簡(jiǎn)單靈活且面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)接口。對(duì)象持久化就是把數(shù)據(jù)同步保存到數(shù)據(jù)庫(kù)或某些存儲(chǔ)設(shè)備中。在傳統(tǒng)的三層結(jié)構(gòu)中業(yè)務(wù)邏輯層要負(fù)責(zé)業(yè)務(wù)邏輯和訪問(wèn)數(shù)據(jù)庫(kù), 對(duì)于純面向?qū)ο笳Z(yǔ)言來(lái)說(shuō),三層結(jié)構(gòu)沒(méi)有達(dá)到MVC 框架所要求的目標(biāo),因而演變出四層結(jié)構(gòu),在四層結(jié)構(gòu)中實(shí)現(xiàn)了邏輯層和對(duì)象持久化層的分離。目前大多數(shù)校園網(wǎng)的業(yè)務(wù)系統(tǒng)都是獨(dú)立的,特別在持久化層,經(jīng)過(guò)整合之后可以把所有系統(tǒng)數(shù)據(jù)層抽象為一個(gè)整體,由Hibernate 框架完成,結(jié)構(gòu)如圖1所示。同時(shí)當(dāng)我們只對(duì)數(shù)據(jù)庫(kù)MySQL 和SQL2000有需求時(shí),這樣數(shù)據(jù)庫(kù)就可以保持不變,學(xué)生處或者教務(wù)處的系統(tǒng)進(jìn)行代碼修改就可以了由于Hibernate對(duì)SQL 語(yǔ)句的封裝,對(duì)于這樣的改進(jìn)是很容易的實(shí)現(xiàn)的,大大簡(jiǎn)化了開(kāi)發(fā)難度。在這種結(jié)構(gòu)下可以采用XML 文件的方式來(lái)配置異構(gòu)數(shù)據(jù)庫(kù)。
5.結(jié)語(yǔ)
對(duì)校園網(wǎng)絡(luò)的數(shù)據(jù)整合的整合能有效的加大對(duì)數(shù)據(jù)的利用率,同時(shí)也能減少業(yè)務(wù)系統(tǒng)升級(jí)或開(kāi)發(fā)的時(shí)間和周期,它在數(shù)據(jù)持久層給開(kāi)發(fā)者提供統(tǒng)一異構(gòu)數(shù)據(jù)源接口,使得校園網(wǎng)的資源和業(yè)務(wù)系統(tǒng)的利用率能達(dá)到最好的效果。它具有個(gè)性化展現(xiàn)、業(yè)務(wù)和應(yīng)用集成等功能;通過(guò)數(shù)據(jù)整合,大大加強(qiáng)了校園網(wǎng)絡(luò)的應(yīng)用力度,極大地提升了工作效率,提高了高校的教學(xué)和管理水平,為高校實(shí)現(xiàn)跨越式發(fā)展提供了基礎(chǔ)和保障。