文 / 辛穎
Java EE是由Java Platform,Enterprise Edition于2006年首次提出來的,后來以Java Platform,Enterprise Editio命名該軟件,即Java EE。自從Java EE 概念提出之后,Java EE 作為一種企業(yè)應(yīng)用規(guī)范被正式啟用。Java EE能夠為系統(tǒng)設(shè)計開發(fā)帶來很大方便,因為它擁有很多遠(yuǎn)程訪問技術(shù),具有跨平臺性[1]。
用戶主要通過瀏覽器對需要錄入的文件進(jìn)行輸入、刪改、收集、整理、編輯、查詢等各種操作。Java EE 軟件檔案管理系統(tǒng)主要由五部分組成,見圖1。
圖1 系統(tǒng)的總體架構(gòu)
1.Web客戶端。此客戶端與傳統(tǒng)的C/S架構(gòu)數(shù)字檔案管理系統(tǒng)有著明顯區(qū)別。此管理系統(tǒng)中沒有真實的客戶端,而指WEB界面。主作用是使用瀏覽器進(jìn)行訪問。
2.文件服務(wù)器。此服務(wù)器重點對數(shù)字檔案的系統(tǒng)所對應(yīng)的文本、文件等進(jìn)行保存與收藏,以及配合前臺實現(xiàn)文件處理(包含上傳、下載與瀏覽等)。
3.數(shù)據(jù)庫服務(wù)器。此服務(wù)器功能是為項目提供相應(yīng)的數(shù)據(jù)庫存儲,以便于幫助WEB服務(wù)器進(jìn)行相應(yīng)的查詢、修改、查找與儲存等實際操作。
4.Solr服務(wù)器。該服務(wù)器重點是借助數(shù)據(jù)庫服務(wù)器,再經(jīng)過查找服務(wù)器中相應(yīng)的數(shù)據(jù),構(gòu)建索引對系統(tǒng)檢索模塊全文檢測功能提供支持。
5.Web服務(wù)器。此服務(wù)器是Java EE 軟件檔案管理系統(tǒng)中關(guān)鍵的服務(wù)設(shè)備,重點是提供Web 服務(wù)。用戶經(jīng)過前端Web客戶端向此服務(wù)器提出請求。此服務(wù)器依據(jù)不同的請求內(nèi)容采取不同的操作方法,或者要求文件服務(wù)器提供相應(yīng)的文件服務(wù),最后把結(jié)果通過用戶界面顯示出來。
JAVA EE軟件檔案管理系統(tǒng)模塊主要包括檔案設(shè)置維護管理系統(tǒng)與檔案業(yè)務(wù)管理系統(tǒng),而檔案業(yè)務(wù)管理文檔又包含收集整理管理系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、開發(fā)利管理系統(tǒng)以及其它。
1.數(shù)據(jù)庫管理系統(tǒng)性能要求。數(shù)據(jù)庫管理系統(tǒng)設(shè)計的宗旨是為了使用戶在瀏覽器上能夠較好地完成與檔案工作有關(guān)的數(shù)據(jù)輸入、查詢、管理(增加、刪除、更改等)操作。為了能夠使相應(yīng)的工作順利完成,從而達(dá)到用戶體驗要求,系統(tǒng)需要符合兩方面要求:
(1)用戶能夠?qū)?shù)字檔案管理系統(tǒng)數(shù)據(jù)進(jìn)行較穩(wěn)定的訪問,系統(tǒng)延遲在可接受范圍內(nèi)容;
(2)數(shù)據(jù)庫管理系統(tǒng)需要對用戶高速查詢功能進(jìn)行支持,對系統(tǒng)中信息檢索模塊加強優(yōu)化,使其響應(yīng)的時間得到降低,以滿足用戶體驗。
2.動態(tài)數(shù)據(jù)庫管理系統(tǒng)需求。檔案數(shù)據(jù)庫資料信息每天均會發(fā)生變化,檔案數(shù)據(jù)管理系統(tǒng)屬于動態(tài)管理系統(tǒng)。所設(shè)計的數(shù)據(jù)庫管理系統(tǒng)應(yīng)含有動態(tài)變化,不能恒定不變。此動態(tài)變化范圍較廣,既有動態(tài)擴展性、管理內(nèi)容動態(tài)變化性,又有應(yīng)用權(quán)限操作的動態(tài)變化性。因此,在正式設(shè)計數(shù)據(jù)庫管理系統(tǒng)之前需要建立相關(guān)系統(tǒng)模型。建立模型的意義與作用是:使軟件編碼時的系統(tǒng)功能需求得到滿足;使得軟件編碼復(fù)雜性減弱;對數(shù)據(jù)結(jié)構(gòu)進(jìn)行優(yōu)化??傊@都是為了滿足系統(tǒng)動態(tài)性的需要[2]。
為了使系統(tǒng)設(shè)計目的能夠順利地實現(xiàn),就應(yīng)與用戶實際需求相結(jié)合。檔案數(shù)據(jù)庫管理系統(tǒng)設(shè)計要遵循實用性、對象性、可伸縮性、安全性以及可靠性等原則。
依據(jù)檔案信息一體化管理需要,可以把檔案數(shù)據(jù)庫信息管理系統(tǒng)分成以下版塊,見圖2。
圖2 檔案數(shù)據(jù)庫管理系統(tǒng)版塊構(gòu)成
1.有關(guān)需求。面向?qū)ο蟮南到y(tǒng)需求分析處于系統(tǒng)設(shè)計起初時期。它是此系統(tǒng)設(shè)計的基礎(chǔ),在進(jìn)行需求分析時不應(yīng)受設(shè)計細(xì)節(jié)與技術(shù)方案的約束與影響,而應(yīng)該重點考慮系統(tǒng)能夠?qū)崿F(xiàn)哪些功能。
采用構(gòu)建實例模型的方法應(yīng)與系統(tǒng)設(shè)計實際需求相符,其所表述的均是外部執(zhí)行者所理解的系統(tǒng)功能。在統(tǒng)一建模語言里,一個用例模型是由數(shù)個用例圖進(jìn)行表述的。其模型分別由參與者、用例與系統(tǒng)邊界等部件構(gòu)成,參與者主要對與系統(tǒng)功能有關(guān)的外部實體進(jìn)行表述,用例主要對于每個系統(tǒng)功能需求進(jìn)行描述,系統(tǒng)邊界則是對系統(tǒng)功能范圍進(jìn)行描述[3]。
在使用例圖進(jìn)行系統(tǒng)設(shè)計時,首先要對系統(tǒng)的參與者以及邊界進(jìn)行相關(guān)定義界定,再找出系統(tǒng)用例。在對檔案數(shù)據(jù)庫管理系統(tǒng)需求進(jìn)行分析的過程中,先要對系統(tǒng)邊界進(jìn)行確定,再確定四個參與者:系統(tǒng)審批者(即領(lǐng)導(dǎo))、系統(tǒng)管理員、檔案應(yīng)用者(即用戶)、檔案管理者。這些系統(tǒng)參與者與系統(tǒng)均有著交互關(guān)系;還要對系統(tǒng)圖例的多方面操作如登陸、檔案管理、借閱檔案、續(xù)借、檔案查詢與統(tǒng)計等進(jìn)行確定。
2.構(gòu)建系統(tǒng)的靜態(tài)模型。構(gòu)建系統(tǒng)靜態(tài)模型具體步驟為第一步——定義類;第二步——確定類名稱、操作與屬性;第三步——確定類與類相互之間關(guān)系;第四步——構(gòu)建類圖。
(1)關(guān)于定義類的概述。定義類是面向?qū)ο笙到y(tǒng)的核心與對象,尋找類與對象是整個系統(tǒng)的基石,怎樣才能比較有效地對問題論域中的類與對象進(jìn)行辨別?在這辨別過程中,目前學(xué)界提出多種解決措施,而用詞法分析來標(biāo)識對象的措施得到學(xué)界的統(tǒng)一認(rèn)可,應(yīng)用較廣。眾多設(shè)計甄別均運用這種措施。此措施第一步就是從目標(biāo)系統(tǒng)開始的,以用戶提供系統(tǒng)描述為立足點,從中尋覓相應(yīng)的名詞作候選對象,尋覓相應(yīng)的動詞作候選方法,從而產(chǎn)生原始類與措施分析結(jié)果,再由相關(guān)分析人員結(jié)合現(xiàn)實狀況,進(jìn)行甄別,初步形成系統(tǒng)中的類與對象。
(2)對類的名字、屬性與操作進(jìn)行確定。對問題域中的類標(biāo)識辨別完成后,還要對此對象的相關(guān)屬性與操作進(jìn)一步確認(rèn)。因為在面向?qū)ο笙到y(tǒng)開發(fā)的過程中,并沒有具體界定系統(tǒng)分析與系統(tǒng)設(shè)計兩者之間的界限,對類的屬性也沒進(jìn)行很好的標(biāo)識,而是經(jīng)過不間斷的迭代,先對較易甄別的類進(jìn)行標(biāo)識,然后在工作過程中,依據(jù)實際狀況,增加相應(yīng)的屬性,直至與系統(tǒng)計要求相符。
(3)對類與類之間的關(guān)系進(jìn)行確定,構(gòu)建類圖。參照數(shù)據(jù)檔案管理實際狀況,對類圖進(jìn)行確定。
3.構(gòu)建系統(tǒng)動態(tài)模型。系統(tǒng)動態(tài)模型是與時間、變化有著非常密切關(guān)系的一種模型?!霸撃P褪且詫ο蟮臓顟B(tài)與事件為出發(fā)點,對對象相互之間的行為具有較好的體現(xiàn)。系統(tǒng)的動態(tài)模型一般是采用狀態(tài)圖、交互圖與活動圖等來描述。順序圖是描述對象之間動態(tài)合作關(guān)系,合作圖是描述對象之間的協(xié)同合作關(guān)系,這兩者具有一定的相似地方,就是能夠?qū)ο笙嗷ブg動態(tài)合作關(guān)系進(jìn)行顯示。根據(jù)相關(guān)分析(動態(tài)與需求分析),建立動態(tài)模型,再與具體設(shè)計方案相互結(jié)合,表示本系統(tǒng)中某一操作詳細(xì)過程”[3]。
數(shù)據(jù)庫管理系統(tǒng)設(shè)計的宗旨是對一種易轉(zhuǎn)化成代碼的工作方案進(jìn)行具體描述。數(shù)據(jù)庫管理系統(tǒng)設(shè)計主要包括登錄、檔案利用、檔案續(xù)借、檔案管理、檔案查詢、借閱管理、檔案統(tǒng)計、打印報表等模塊設(shè)計內(nèi)容。
1.登錄模塊設(shè)計。這主要是指依據(jù)用戶資料等方面信息,為用戶設(shè)置賬號、用戶名與密鑰等。
2.檔案續(xù)借模塊設(shè)計。系統(tǒng)對能不能辦理續(xù)借手續(xù)進(jìn)行判斷。如果能辦理,就需要更改數(shù)據(jù)庫與修改借閱記錄。
3.檔案管理模塊設(shè)計。倘若系統(tǒng)已經(jīng)提示錄入用戶名與密碼,用戶在系統(tǒng)中錄入用戶名、密碼則會上交給系統(tǒng),系統(tǒng)接到相關(guān)信息之后馬上做出是否正確的判斷?!叭绻袛嗾_,就需要選擇增加、修改、清除等檔案處理記錄;假如選擇增加或修改就會提交給系統(tǒng),系統(tǒng)就會自動更新;假如選擇清除就會讓檔案管理員重新確定后再決定是否清除還是保留,最后對數(shù)據(jù)庫進(jìn)行更新”[3]。
4.關(guān)于利用檔案權(quán)限審批模塊設(shè)計?!跋到y(tǒng)首先對檔案有沒有存在進(jìn)行相關(guān)判斷,如果存在系統(tǒng)中就會顯示關(guān)于檔案信息與審批人填寫審批意見,之后,再進(jìn)行提交,而且還對審批記錄進(jìn)行更新”[3]。由于篇幅關(guān)系對于檔案利用、檔案查詢、借閱管理、檔案統(tǒng)計、打印報表、檔案銷毀設(shè)計以及口令模塊等設(shè)計沒有展開分析。
目前,本系統(tǒng)開發(fā)目的主要是為適應(yīng)My SQL、SQLServer、Oracle三類主流數(shù)據(jù)庫。此三類數(shù)據(jù)庫對于標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言做了非常有效的支持。大部分SQL語句在此三種數(shù)據(jù)庫中均能正常工作,但不如意的地方就是不同數(shù)據(jù)庫相互之間存在差異。
依據(jù)不同類型的數(shù)據(jù)庫相互之間SQL語言的不同,本文開發(fā)的系統(tǒng)重點是以Sys Base類為基礎(chǔ),在Sys Base 類中對數(shù)據(jù)相關(guān)處理進(jìn)行操作,如數(shù)據(jù)增加、修改、查詢、刪除與修改等。為了使不同類型的數(shù)據(jù)適應(yīng)Sys Base類,均要受Gene Sql And Param類的影響。Gene Sql And Params這類的重點功能是用來對目前系統(tǒng)所配置數(shù)據(jù)庫類進(jìn)行獲?。粚δ壳皵?shù)據(jù)庫所對應(yīng)的SQL語句進(jìn)行解析,以便實現(xiàn)所對應(yīng)的數(shù)據(jù)庫操作。Sys Base類數(shù)據(jù)庫包含了本系統(tǒng)中全部有關(guān)數(shù)據(jù)庫操作,以及系統(tǒng)各模塊的數(shù)據(jù)庫操作。[4]只要在各自的DAO層調(diào)用SYS Base且傳入比較合適的參數(shù)就可以了。圖3就是代表該系統(tǒng)的基類和對應(yīng)的功能模塊DAO層對應(yīng)類之間的關(guān)系類圖。
圖3 數(shù)據(jù)庫核心類
Gene Sql And Params 類是本系統(tǒng)實施多種數(shù)據(jù)應(yīng)用最為重要的類。此類為不同的數(shù)據(jù)庫存在差異的SQL語句提供了針對不同數(shù)據(jù)庫SQL語句的實現(xiàn)。因此,在該系統(tǒng)設(shè)計過程中,主要是對Sys Base 類需要的參數(shù)進(jìn)行深入了解,與具體數(shù)據(jù)庫和開發(fā)成本關(guān)系不是很大。