王慶民
摘要為了使圖書館更好地服務于讀者和提高工作人員工作效率,文章王要使用了J2EE框架技木,研冤了數(shù)字圖書館的相關(guān)技木,給出了系統(tǒng)設(shè)計的功能模塊和體系結(jié)構(gòu),以及簪統(tǒng)實現(xiàn)的關(guān)鍵技木。數(shù)字圖書館的構(gòu)建萬便了讀者對赍源的有效使用和提高了辦公效率,使系統(tǒng)的安全性、可維護性和操作便捷性都有很大的提高。
關(guān)鍵詞J2EE,數(shù)字圖書館,模塊,體系結(jié)構(gòu)
中圖分類號TP311文獻標志碼A文章編號1006-8228(2012)01-57-02
O引言
隨著信息技術(shù)的發(fā)展,需要存儲和傳播的信息越來越多,信息的種類和形式越來越豐富,傳統(tǒng)圖書館的機制顯然也不能滿足這些需要,因此,人們提出了數(shù)字圖書館的設(shè)想。數(shù)字圖書館是一個電子化信息的倉儲,能夠存儲大量各種形式的信息,并且其信息存儲和用戶訪問不受地域限制用戶可以通過網(wǎng)絡方便地訪問它,以獲得這些信息。目前我館利用網(wǎng)絡優(yōu)勢和數(shù)據(jù)存儲中心。把圖書館網(wǎng)站、電子資源(本地、遠程)、OA辦公系統(tǒng)、信息咨詢與服務、管理服務等內(nèi)容較好地連接到一起,構(gòu)成了一個小型的數(shù)字圖書館。
1J2EE相關(guān)技術(shù)
目前,J2EE采用Struts2+Sprmg+Hlbemate技木,可用以進行整合開發(fā)。它是最為流行的開發(fā)平臺,這種開發(fā)平臺也稱為輕量級Java EE企業(yè)應用平臺。
(1)MVC設(shè)計模式
MVC(Model-Vmw-Controller),即模型一視圖一控制器。模型層是指業(yè)務邏輯的處理和數(shù)據(jù)的存儲,它接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。通??梢杂肑avaBean或EJB來實現(xiàn)。視圖層用于與用尸的交互,通常用JSP來實現(xiàn),是用戶和系統(tǒng)進行交互的界面??刂茖邮且粋€控制分發(fā)器,是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇晗當?shù)囊晥D以用于顯示,同時它也可以解釋用尸的輸入并將它們映射為模型層可執(zhí)行的操作。
使用MVC設(shè)計模式,可以將模型、視圖與控制器分離,使應用程序的輸入、處理和輸出分開。使用MVC,應用程序破分成三個核心部件模型、視圖、控制器,它們各自處理自己的任務。
(2)Struts2框架
Struts2是一種全新的MVC框架技術(shù),對模型層、視圖層和控制層都提供了對應的組件支持。Struts2使用了WebWork的設(shè)計核心。Struts2中大量使用攔截器來處理用戶的請求,允許用尸的業(yè)務邏輯控制器與Servlet APl分離,從而提供了更加靈活的Web 2.0開發(fā)平臺。Struts2框架中的模型層部分由Actmn組成,Acnon可以用來調(diào)用業(yè)務邏輯處理請求,并可以進行數(shù)據(jù)的傳遞,處理完畢后,返回一個邏輯視圖。Struts的視圖層部分主要采用了JSP、Velomty、FreeMarker和標簽庫實現(xiàn),當視圖接收到Acaon返回的邏輯視圖后,查找對應的物理視圖資原.返回給客戶端??刂茖硬糠种饕荈flterDispatcher,當有請求時,經(jīng)過FfiterDlspatcher的過濾,由FdterDtspatcher決定由哪個Acuon處理當前請求,然后將請求轉(zhuǎn)發(fā)給Acuon處理。
(3) Spnng框架
Spnng為應用開發(fā)提供了一個容器,它實現(xiàn)了控制反轉(zhuǎn)(IoC)、非侵入式的框架,并提供了AOP(面向切面編程)概念的實現(xiàn)方式,提供對持久層和事務的支持。Spring提供了MVCWeb框架的解決方案,用戶可以很好地使用Spring提供的IoC和AOP的功能。
(4)Hibemate框架
Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲地使用對象編程思維來操縱數(shù)據(jù)庫。它采用對象/關(guān)系映射(ORM,Object/Relattonal Mapping)的解決方案,也就是將Java對象與對象關(guān)系映射為關(guān)系型數(shù)據(jù)庫中的表格與表格之間的關(guān)系。在基于MVC設(shè)計模式中,Hibernate一般用于數(shù)據(jù)訪問層,通過配置文件(baberaate cfg xml)和數(shù)據(jù)表映射文件(hbm xml)把Java對象或持久化對象(PO)映射到數(shù)據(jù)庫的表,然后操作PO對數(shù)據(jù)表中的數(shù)據(jù)進行增、刪、查、改等操作。
2系統(tǒng)主要功能與架構(gòu)
系統(tǒng)主要由圖書館網(wǎng)站、電子資源、OA辦公系統(tǒng)三部分組成,其中,電子資源又分為本地鏡像數(shù)據(jù)庫、遠程資源、視頻資源數(shù)據(jù)庫、特色資源數(shù)據(jù)庫。OA辦公系統(tǒng)主要負責圖書館內(nèi)部管理部分,主要功能包括圖書館工作人員管理、文件管理、沒備管理、打印管理等。圖書館網(wǎng)站負責把電子資源和OA系統(tǒng)鏈接起來,通過圖書館網(wǎng)站可以訪問電子資源和OA系統(tǒng)。并具有館內(nèi)動態(tài)發(fā)布、資源公告、文獻檢索、信息咨詢、資料下載等功能。系統(tǒng)的主要結(jié)構(gòu)如圖1所示。
3系統(tǒng)關(guān)鍵技術(shù)
我們在設(shè)計中,軟件開發(fā)平臺主要使用MyEchpse85,服務器采用WmdowsServer2003+Tomcat6.0。OA辦公系統(tǒng)的設(shè)計采用相對獨立的模塊設(shè)計和電子資源訪問,圖書館網(wǎng)站整合了兩者功能。每個模塊功能在設(shè)計上采用了J2EE技術(shù),其中MVC沒計中主要使用了Struts2框架技術(shù),業(yè)務邏輯層主要由Spring IoC容器管理組件組成,數(shù)據(jù)持久層由H~bemateSession管理PO完成數(shù)據(jù)庫訪問,數(shù)據(jù)庫服務層使用了SQLServer數(shù)據(jù)庫存儲持久化數(shù)據(jù),同時使用Struts2、I-hbemate及Spnng整合技術(shù)。
3.1Struts、Hrbernate、Spnng的整合技術(shù)
Struts+Spnng的整合運用Struts的插件方法,添加struts-congxfxml的