摘 要: 分析了高等院校構建網(wǎng)站時遇到的普遍問題,提出了文件分布存儲、數(shù)據(jù)集中存儲的設計思想,并且在Java EE平臺上設計和實現(xiàn)了分布式站群管理系統(tǒng),其站點分布式部署、高度的代碼共享、內嵌的網(wǎng)頁編輯器和多種類型的內容管理使得高??梢钥焖佟㈧`活、方便地構建自己的部門網(wǎng)站群,系統(tǒng)經(jīng)過一年多的運行和完善,具有較大的應用價值。
關鍵詞: 分布式站群; 內容管理; 代碼共享; FCKeditor
高等院校經(jīng)常需要構建多個網(wǎng)站,這些網(wǎng)站除了在欄目設置、頁面呈現(xiàn)風格和具體內容不同外,其他方面有很多共同之處,表現(xiàn)在欄目類型、內容類型、發(fā)布方式、數(shù)據(jù)和文件的存儲、程序代碼開發(fā)等方面。若這些網(wǎng)站分別開發(fā),需要投入較大的人力,而且不易于統(tǒng)一管理。本文介紹一種基于Java EE平臺的分布式站群管理系統(tǒng),它可以使高校更容易地構建自己的站群系統(tǒng),完成網(wǎng)站在多個物理服務器上的分布式部署。
1 系統(tǒng)特點
高校各部門的網(wǎng)站經(jīng)常部署在不同的物理服務器上,傳統(tǒng)的做法是每建立一個網(wǎng)站就要開發(fā)一套管理系統(tǒng),完成網(wǎng)站的用戶、權限和欄目管理,而且還要獨立開發(fā)網(wǎng)站內容的發(fā)布平臺。這種做法對于構建單站系統(tǒng)比較實用,若構建站群系統(tǒng)則需要較大的代碼開發(fā)量,而且不利于集中管理。本文完成的分布式站群管理系統(tǒng)可以解決上述問題。它有以下特點:
(1) 分布式部署
系統(tǒng)設計完成后,每構建一個新網(wǎng)站,其后臺管理端、內容發(fā)布端不需要重新開發(fā)代碼,只需要將相應的共享代碼發(fā)布成獨立的應用模塊直接部署,部署時根據(jù)需要可以選擇不同的物理服務器。
(2) 數(shù)據(jù)庫集中存儲
對于發(fā)布的文本內容,系統(tǒng)集中存放在一臺或多臺物理機的數(shù)據(jù)庫中,這樣方便數(shù)據(jù)的檢索,而且易于管理和實施數(shù)據(jù)備份。
(3) 文件分布式存儲
發(fā)布內容中上傳的圖片、文件、音視頻、Flash等附件會分布式地存放到網(wǎng)站對應的物理服務器中,這樣使得各個網(wǎng)站的內容發(fā)布者只能管理自己網(wǎng)站中上傳的內容,減少了由于文件誤刪帶來的數(shù)據(jù)不一致。
(4) 高度的代碼共享性
系統(tǒng)設計了代碼共享包,使用開發(fā)工具生成符合Java EE規(guī)范的WAR包,部署網(wǎng)站時只需要將WAR包上傳到應用服務器并進行簡單的配置即可,共享包中包含了網(wǎng)站后臺管理系統(tǒng)和發(fā)布平臺的所有代碼,使得開發(fā)者省去了冗繁的重復開發(fā)。
(5) 基于標簽的前臺開發(fā)
在開發(fā)網(wǎng)站前臺時,基本上不需要Java代碼開發(fā),本系統(tǒng)設計了一套自定義標簽,頁面設計人員只要熟悉標簽的功能和使用方法,在系統(tǒng)需要讀取數(shù)據(jù)庫數(shù)據(jù)的地方嵌入自定義標簽即可完成網(wǎng)站的動態(tài)內容顯示。
2 系統(tǒng)體系結構和功能概述
總體上,系統(tǒng)包含后臺管理模塊、內容管理模塊和各個部門的前臺網(wǎng)站。后臺管理模塊包括網(wǎng)站、欄目、用戶和權限管理;內容管理模塊包括內容發(fā)布、撤銷、修改和刪除等功能,它是整個系統(tǒng)設計的核心;前臺網(wǎng)站是向普通用戶呈現(xiàn)各個部門網(wǎng)站信息的平臺,所有發(fā)布的內容最終要正確地顯示到部門網(wǎng)站中才能供用戶正常瀏覽。系統(tǒng)功能模塊圖如圖1所示。