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