文 / 辛穎
Java EE是由Java Platform,Enterprise Edition于2006年首次提出來的,后來以Java Platform,Enterprise Editio命名該軟件,即Java EE。自從Java EE 概念提出之后,Java EE 作為一種企業應用規范被正式啟用。Java EE能夠為系統設計開發帶來很大方便,因為它擁有很多遠程訪問技術,具有跨平臺性[1]。
用戶主要通過瀏覽器對需要錄入的文件進行輸入、刪改、收集、整理、編輯、查詢等各種操作。Java EE 軟件檔案管理系統主要由五部分組成,見圖1。

圖1 系統的總體架構
1.Web客戶端。此客戶端與傳統的C/S架構數字檔案管理系統有著明顯區別。此管理系統中沒有真實的客戶端,而指WEB界面。主作用是使用瀏覽器進行訪問。
2.文件服務器。此服務器重點對數字檔案的系統所對應的文本、文件等進行保存與收藏,以及配合前臺實現文件處理(包含上傳、下載與瀏覽等)。
3.數據庫服務器。此服務器功能是為項目提供相應的數據庫存儲,以便于幫助WEB服務器進行相應的查詢、修改、查找與儲存等實際操作。
4.Solr服務器。該服務器重點是借助數據庫服務器,再經過查找服務器中相應的數據,構建索引對系統檢索模塊全文檢測功能提供支持。
5.Web服務器。此服務器是Java EE 軟件檔案管理系統中關鍵的服務設備,重點是提供Web 服務。用戶經過前端Web客戶端向此服務器提出請求。此服務器依據不同的請求內容采取不同的操作方法,或者要求文件服務器提供相應的文件服務,最后把結果通過用戶界面顯示出來。
JAVA EE軟件檔案管理系統模塊主要包括檔案設置維護管理系統與檔案業務管理系統,而檔案業務管理文檔又包含收集整理管理系統、數據庫管理系統、開發利管理系統以及其它。
1.數據庫管理系統性能要求。數據庫管理系統設計的宗旨是為了使用戶在瀏覽器上能夠較好地完成與檔案工作有關的數據輸入、查詢、管理(增加、刪除、更改等)操作。為了能夠使相應的工作順利完成,從而達到用戶體驗要求,系統需要符合兩方面要求:
(1)用戶能夠對數字檔案管理系統數據進行較穩定的訪問,系統延遲在可接受范圍內容;
(2)數據庫管理系統需要對用戶高速查詢功能進行支持,對系統中信息檢索模塊加強優化,使其響應的時間得到降低,以滿足用戶體驗。
2.動態數據庫管理系統需求。檔案數據庫資料信息每天均會發生變化,檔案數據管理系統屬于動態管理系統。所設計的數據庫管理系統應含有動態變化,不能恒定不變。此動態變化范圍較廣,既有動態擴展性、管理內容動態變化性,又有應用權限操作的動態變化性。因此,在正式設計數據庫管理系統之前需要建立相關系統模型。建立模型的意義與作用是:使軟件編碼時的系統功能需求得到滿足;使得軟件編碼復雜性減弱;對數據結構進行優化。總之,這都是為了滿足系統動態性的需要[2]。
為了使系統設計目的能夠順利地實現,就應與用戶實際需求相結合。檔案數據庫管理系統設計要遵循實用性、對象性、可伸縮性、安全性以及可靠性等原則。
依據檔案信息一體化管理需要,可以把檔案數據庫信息管理系統分成以下版塊,見圖2。

圖2 檔案數據庫管理系統版塊構成
1.有關需求。面向對象的系統需求分析處于系統設計起初時期。它是此系統設計的基礎,在進行需求分析時不應受設計細節與技術方案的約束與影響,而應該重點考慮系統能夠實現哪些功能。
采用構建實例模型的方法應與系統設計實際需求相符,其所表述的均是外部執行者所理解的系統功能。在統一建模語言里,一個用例模型是由數個用例圖進行表述的。其模型分別由參與者、用例與系統邊界等部件構成,參與者主要對與系統功能有關的外部實體進行表述,用例主要對于每個系統功能需求進行描述,系統邊界則是對系統功能范圍進行描述[3]。
在使用例圖進行系統設計時,首先要對系統的參與者以及邊界進行相關定義界定,再找出系統用例。在對檔案數據庫管理系統需求進行分析的過程中,先要對系統邊界進行確定,再確定四個參與者:系統審批者(即領導)、系統管理員、檔案應用者(即用戶)、檔案管理者。這些系統參與者與系統均有著交互關系;還要對系統圖例的多方面操作如登陸、檔案管理、借閱檔案、續借、檔案查詢與統計等進行確定。
2.構建系統的靜態模型。構建系統靜態模型具體步驟為第一步——定義類;第二步——確定類名稱、操作與屬性;第三步——確定類與類相互之間關系;第四步——構建類圖。
(1)關于定義類的概述。定義類是面向對象系統的核心與對象,尋找類與對象是整個系統的基石,怎樣才能比較有效地對問題論域中的類與對象進行辨別?在這辨別過程中,目前學界提出多種解決措施,而用詞法分析來標識對象的措施得到學界的統一認可,應用較廣。眾多設計甄別均運用這種措施。此措施第一步就是從目標系統開始的,以用戶提供系統描述為立足點,從中尋覓相應的名詞作候選對象,尋覓相應的動詞作候選方法,從而產生原始類與措施分析結果,再由相關分析人員結合現實狀況,進行甄別,初步形成系統中的類與對象。
(2)對類的名字、屬性與操作進行確定。對問題域中的類標識辨別完成后,還要對此對象的相關屬性與操作進一步確認。因為在面向對象系統開發的過程中,并沒有具體界定系統分析與系統設計兩者之間的界限,對類的屬性也沒進行很好的標識,而是經過不間斷的迭代,先對較易甄別的類進行標識,然后在工作過程中,依據實際狀況,增加相應的屬性,直至與系統計要求相符。
(3)對類與類之間的關系進行確定,構建類圖。參照數據檔案管理實際狀況,對類圖進行確定。
3.構建系統動態模型。系統動態模型是與時間、變化有著非常密切關系的一種模型。“該模型是以對象的狀態與事件為出發點,對對象相互之間的行為具有較好的體現。系統的動態模型一般是采用狀態圖、交互圖與活動圖等來描述。順序圖是描述對象之間動態合作關系,合作圖是描述對象之間的協同合作關系,這兩者具有一定的相似地方,就是能夠對對象相互之間動態合作關系進行顯示。根據相關分析(動態與需求分析),建立動態模型,再與具體設計方案相互結合,表示本系統中某一操作詳細過程”[3]。
數據庫管理系統設計的宗旨是對一種易轉化成代碼的工作方案進行具體描述。數據庫管理系統設計主要包括登錄、檔案利用、檔案續借、檔案管理、檔案查詢、借閱管理、檔案統計、打印報表等模塊設計內容。
1.登錄模塊設計。這主要是指依據用戶資料等方面信息,為用戶設置賬號、用戶名與密鑰等。
2.檔案續借模塊設計。系統對能不能辦理續借手續進行判斷。如果能辦理,就需要更改數據庫與修改借閱記錄。
3.檔案管理模塊設計。倘若系統已經提示錄入用戶名與密碼,用戶在系統中錄入用戶名、密碼則會上交給系統,系統接到相關信息之后馬上做出是否正確的判斷。“如果判斷正確,就需要選擇增加、修改、清除等檔案處理記錄;假如選擇增加或修改就會提交給系統,系統就會自動更新;假如選擇清除就會讓檔案管理員重新確定后再決定是否清除還是保留,最后對數據庫進行更新”[3]。
4.關于利用檔案權限審批模塊設計。“系統首先對檔案有沒有存在進行相關判斷,如果存在系統中就會顯示關于檔案信息與審批人填寫審批意見,之后,再進行提交,而且還對審批記錄進行更新”[3]。由于篇幅關系對于檔案利用、檔案查詢、借閱管理、檔案統計、打印報表、檔案銷毀設計以及口令模塊等設計沒有展開分析。
目前,本系統開發目的主要是為適應My SQL、SQLServer、Oracle三類主流數據庫。此三類數據庫對于標準的SQL數據語言做了非常有效的支持。大部分SQL語句在此三種數據庫中均能正常工作,但不如意的地方就是不同數據庫相互之間存在差異。
依據不同類型的數據庫相互之間SQL語言的不同,本文開發的系統重點是以Sys Base類為基礎,在Sys Base 類中對數據相關處理進行操作,如數據增加、修改、查詢、刪除與修改等。為了使不同類型的數據適應Sys Base類,均要受Gene Sql And Param類的影響。Gene Sql And Params這類的重點功能是用來對目前系統所配置數據庫類進行獲取;對目前數據庫所對應的SQL語句進行解析,以便實現所對應的數據庫操作。Sys Base類數據庫包含了本系統中全部有關數據庫操作,以及系統各模塊的數據庫操作。[4]只要在各自的DAO層調用SYS Base且傳入比較合適的參數就可以了。圖3就是代表該系統的基類和對應的功能模塊DAO層對應類之間的關系類圖。

圖3 數據庫核心類
Gene Sql And Params 類是本系統實施多種數據應用最為重要的類。此類為不同的數據庫存在差異的SQL語句提供了針對不同數據庫SQL語句的實現。因此,在該系統設計過程中,主要是對Sys Base 類需要的參數進行深入了解,與具體數據庫和開發成本關系不是很大。