摘要:詳盡地闡述了一個(gè)基于Linux操作系統(tǒng)、采用J2EE技術(shù)架構(gòu)的跨平臺(tái)、穩(wěn)定實(shí)用、功能強(qiáng)大的社區(qū)網(wǎng)站軟件平臺(tái)的開發(fā)和建設(shè),并對(duì)該系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)說明。
關(guān)鍵詞:網(wǎng)站建設(shè);社區(qū)信息化;J2EE;XML
0 引言
社區(qū)信息化作為社會(huì)信息化的基本組成元素之一,不僅體現(xiàn)了整個(gè)社會(huì)的信息化水平,也是對(duì)國(guó)民進(jìn)行信息化教育最直接有效的基礎(chǔ)平臺(tái)。目前,在我國(guó)的社區(qū)信息化建設(shè)中,表現(xiàn)出重基礎(chǔ)設(shè)施建設(shè),輕信息資源建設(shè)的狀況。信息資源建設(shè)的滯后,不僅造成了信息基礎(chǔ)設(shè)施的閑置,也嚴(yán)重制約了社區(qū)信息化的發(fā)展進(jìn)程。本文從網(wǎng)站功能性的角度出發(fā),詳細(xì)介紹了社區(qū)信息平臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
1 系統(tǒng)設(shè)計(jì)
1.1系統(tǒng)需求分析
(1)根據(jù)互聯(lián)網(wǎng)技術(shù)的最新發(fā)展,社區(qū)門戶網(wǎng)站信息服務(wù)平臺(tái)必須具有:內(nèi)容類型可定義、協(xié)作處理和工作流、可視化模板制作、跨平臺(tái)支持、XML標(biāo)準(zhǔn)、版本控制、可定義的安全策略、個(gè)性化、可擴(kuò)展、多語(yǔ)言支持等技術(shù)特征。
(2)網(wǎng)站軟件平臺(tái)應(yīng)該具有如下基本功能:
①?gòu)母鞣N信息源(稿源)采集、引入數(shù)據(jù)(sources Man-agement)。
②構(gòu)建信息倉(cāng)庫(kù),引入文本挖掘手段,加強(qiáng)信息重用和關(guān)聯(lián)引用(Info Center)。
③泛內(nèi)容管理,可以管理、加工和輸出各種媒體格式的內(nèi)容或信息(Publishing Service)。
圖1 社區(qū)信息平臺(tái)總體架構(gòu)圖
④引入新的管理手段,支援管理流程重組(BusinessProcess Management),支持內(nèi)容的協(xié)同開發(fā)。
⑤支持移動(dòng)互聯(lián)網(wǎng)應(yīng)用和移動(dòng)增值服務(wù)。
⑥高效的運(yùn)營(yíng)支撐平臺(tái),完整的支持內(nèi)容的組織、加工、生產(chǎn)與銷售體系,支持各種電子商務(wù)應(yīng)用,統(tǒng)一的用戶資源管理與支付平臺(tái)。
⑦系統(tǒng)使用效率和發(fā)布效率高,內(nèi)容更新速度快。
⑧先進(jìn)的系統(tǒng)體系結(jié)構(gòu),具備強(qiáng)大的二次開發(fā)能力和應(yīng)用集成能力,本身提供支持硬件的平滑升級(jí)。
1.2系統(tǒng)架構(gòu)
根據(jù)以上需求分析,確定社區(qū)網(wǎng)站系統(tǒng)平臺(tái)是基于J2EE技術(shù)架構(gòu),采用Java編碼語(yǔ)言,采用B/S模式設(shè)計(jì)開發(fā)的,其核心包括內(nèi)容管理平臺(tái)和運(yùn)營(yíng)管理平臺(tái)兩大系統(tǒng)??傮w架構(gòu)圖如圖1所示。
2 系統(tǒng)實(shí)現(xiàn)
2.1系統(tǒng)實(shí)現(xiàn)模式
該軟件平臺(tái)采用基于模板的靜態(tài)網(wǎng)頁(yè)生成技術(shù),將信息的采編,頁(yè)面模板制作以及信息發(fā)布分開,操作者的分工和角色更加清晰。其業(yè)務(wù)模式如下:
系統(tǒng)的工作模式 采用基于模板的靜態(tài)網(wǎng)頁(yè)發(fā)布技術(shù)。采編人員將資料輸入系統(tǒng)數(shù)據(jù)庫(kù)后,系統(tǒng)套用設(shè)計(jì)好的模板將資料發(fā)布成靜態(tài)的網(wǎng)頁(yè),在發(fā)布人員確認(rèn)發(fā)布無誤后,將其上傳到Web服務(wù)器供用戶瀏覽。其過程如圖2所示:
圖2 系統(tǒng)工作模式
信息處理模式系統(tǒng)可以針對(duì)不同的信息定義其處理的流程,如圖3所示。區(qū)分不同信息類型的標(biāo)準(zhǔn)是信息所屬的欄目(即信息分類)。對(duì)信息的操作有嚴(yán)格的權(quán)限限制,不同人員定義不同的信息訪問權(quán)限。
信息發(fā)布模式信息發(fā)布分為兩個(gè)階段,第一個(gè)階段通過模板將資料發(fā)布成適合Web訪問的HTML頁(yè)面和相關(guān)的視頻、音頻、圖片等文件;第二個(gè)階段是將發(fā)布生成的文件上傳到Web服務(wù)器上,供上網(wǎng)用戶瀏覽。這兩個(gè)階段都需要相關(guān)的授權(quán)。授權(quán)方式分為:手動(dòng)授權(quán)(即人工操作授權(quán))和自動(dòng)授權(quán)(即通過配置自動(dòng)賦予相關(guān)的授權(quán))。
圖3 信息處理模式
2.2系統(tǒng)特色
完善的信息管理功能網(wǎng)站的資料將通過系統(tǒng)的采集并發(fā)布為頁(yè)面供瀏覽。在各個(gè)重要的環(huán)節(jié)上,都有嚴(yán)格的權(quán)限控制。管理員可以控制系統(tǒng)用戶的操作行為,并追蹤問題信息的操作人員,從而有效維護(hù)網(wǎng)站信息的嚴(yán)肅性??梢酝ㄟ^系統(tǒng)發(fā)布信息,也可以通過系統(tǒng)刪除發(fā)布的信息。
方便的網(wǎng)站改版能力系統(tǒng)支持模板技術(shù),頁(yè)面通過模板進(jìn)行發(fā)布。系統(tǒng)允許進(jìn)行復(fù)雜的模板配置,以保證發(fā)布版面樣式的多樣性。當(dāng)需要改版時(shí),只需要制作新的模板并完成配置即可實(shí)現(xiàn)網(wǎng)站的改版。
多層次欄目分類系統(tǒng)支持樹型的網(wǎng)站欄目分類。層次深度和數(shù)量不受限制。
軟件結(jié)構(gòu)的先進(jìn)性網(wǎng)站軟件系統(tǒng)基于J2EE體系的三層結(jié)構(gòu)設(shè)計(jì),應(yīng)用層、數(shù)據(jù)層和中間件完全分離,擴(kuò)展容易且安全性好,是目前世界最先進(jìn)的設(shè)計(jì)體系結(jié)構(gòu)之一。
網(wǎng)站的安全性 由于內(nèi)容管理系統(tǒng)可以部署從互聯(lián)網(wǎng)上無法攻擊的企業(yè)內(nèi)網(wǎng)上,因此,對(duì)于數(shù)據(jù)庫(kù)和資料的安全保護(hù)來說都是很好的。另外,該系統(tǒng)還可以安全地運(yùn)行在目前所有的主流操作系統(tǒng)平臺(tái)之上,包括Windows,Linux,Soloris等。企業(yè)可以選擇自己認(rèn)為最安全的平臺(tái)進(jìn)行安裝。
網(wǎng)站的可靠性 由于采用靜態(tài)發(fā)布,網(wǎng)站由靜態(tài)網(wǎng)頁(yè)組成。提供服務(wù)的軟件如Apache、IIS等,通常情況下,能承受數(shù)以百萬計(jì)的訪問,被證明是安全,高效的軟件。
網(wǎng)站的可維護(hù)性 網(wǎng)站中絕大部分的資料都由系統(tǒng)進(jìn)行管理,發(fā)布,刪除信息也直接通過系統(tǒng)就能完成,因此,維護(hù)網(wǎng)站的工作也變得很簡(jiǎn)單。
網(wǎng)站的可擴(kuò)展性 隨著網(wǎng)站的發(fā)展,應(yīng)用及支撐環(huán)境都會(huì)發(fā)生變化。由于J2EE多層體系結(jié)構(gòu)的特點(diǎn),本系統(tǒng)能運(yùn)行在多種操作系統(tǒng)上,為將來平臺(tái)的移植創(chuàng)造了條件;同時(shí),組件化的多層軟件設(shè)計(jì),為系統(tǒng)功能的擴(kuò)充也創(chuàng)造了很好的條件。
2.3主要功能模塊
社區(qū)信息服務(wù)系統(tǒng) 該系統(tǒng)包括了政務(wù)信息、網(wǎng)絡(luò)繳費(fèi)一卡通、市民信箱、生活資訊、社區(qū)論壇和呼叫中心等基本服務(wù)模塊。
站點(diǎn)資料檢索系統(tǒng) 該系統(tǒng)是社區(qū)網(wǎng)站的一個(gè)功能擴(kuò)展子系統(tǒng),適合大型網(wǎng)站的資料檢索服務(wù)。它提供常用的標(biāo)題搜索,關(guān)鍵詞搜索,作者名稱搜索,時(shí)間段搜索,文章分類(分欄目)搜索,全文搜索,以及以上幾種方式的組合搜索等。
網(wǎng)站流量監(jiān)控系統(tǒng) 流量分析系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)是功能最為強(qiáng)大的Oracle數(shù)據(jù)庫(kù),具有處理海量數(shù)據(jù)的強(qiáng)大能力?;贠racle數(shù)據(jù)庫(kù)的流量分析系統(tǒng)提供了完整的數(shù)據(jù)流量分析功能,包括流量分析、來路分析、排行榜等,并以彩色柱狀圖形式顯示其結(jié)果。
網(wǎng)上調(diào)查系統(tǒng)是一個(gè)基于J2EE架構(gòu)的網(wǎng)上調(diào)查系統(tǒng)。能安裝在Solaris、Linux、NtServer等不同的操作系統(tǒng)上,結(jié)合Oracle數(shù)據(jù)庫(kù)使用。主要作用是協(xié)助企業(yè)在網(wǎng)上開展調(diào)查,用來了解客戶的消費(fèi)心理,及時(shí)掌握客戶需求和市場(chǎng)走向,從而更好地改善服務(wù)。
文章評(píng)論系統(tǒng) 是社區(qū)網(wǎng)站的一個(gè)功能擴(kuò)展子系統(tǒng)。它用于記錄和顯示網(wǎng)友閱讀一篇文章后的感受,促成網(wǎng)友之間的互動(dòng)和交流。一個(gè)完善的文章評(píng)論系統(tǒng),可以給網(wǎng)站增加很多活力,提高訪問量,促進(jìn)網(wǎng)站的發(fā)展和普及。
3 關(guān)鍵技術(shù)
3.1基于J2EE的三層B/S軟件架構(gòu)
該信息平臺(tái)建立在J2EE架構(gòu)之上。J2EE是一種利用Java 2平臺(tái)來簡(jiǎn)化諸多與多級(jí)企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。其軟件架構(gòu)圖如圖4所示。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如“編寫一次、到處運(yùn)行”的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì)EJB(Enterprise JavaBeans)、Java Servlet API、JSP(JavaServer Pages)以及XML技術(shù)的全面支持。
圖4 基于J2EE的B/S模式軟件架構(gòu)
J2EE提供了一個(gè)企業(yè)級(jí)的計(jì)算模型和運(yùn)行環(huán)境用于開發(fā)和部署多層體系結(jié)構(gòu)的應(yīng)用。它通過提供企業(yè)計(jì)算環(huán)境所必需的各種服務(wù),使得部署在J2EE平臺(tái)上的多層應(yīng)用可以實(shí)現(xiàn)高可用性、安全性、可擴(kuò)展性和可靠性。
3.2采用XML/XSL技術(shù)標(biāo)準(zhǔn)
XML是可擴(kuò)展標(biāo)志語(yǔ)言(eXtensible Markup Language)的簡(jiǎn)稱。象HTML一樣,XML是從所有標(biāo)志語(yǔ)言的元語(yǔ)——標(biāo)準(zhǔn)通用標(biāo)志語(yǔ)言SGML(Standard Generalized Markup Language)那里派生出來的。SGML是一種元語(yǔ)言,也可以稱為一個(gè)定義諸如HTML等標(biāo)志語(yǔ)言的系統(tǒng)。XML也是一種元語(yǔ)言,一個(gè)定義Web應(yīng)用的SGML的子集。隨著Web應(yīng)用的不斷發(fā)展,HTML的局限性也越來越明顯地體現(xiàn)出來了。而那些基于HTML的內(nèi)容管理平臺(tái)CMS,特別是那些基于HTML的模板技術(shù),已經(jīng)不能適應(yīng)新一代CMS的要求。新一代CMS的技術(shù)內(nèi)核應(yīng)該支持XML/XSL。XML/XSL是將內(nèi)容本身和表現(xiàn)形式分離的有效途徑,也是網(wǎng)絡(luò)媒體創(chuàng)作和出版的基礎(chǔ)技術(shù)。應(yīng)用XML/XSL,可以處理多樣化的內(nèi)容,同時(shí)做到內(nèi)容重用,即同樣的內(nèi)容可以發(fā)布成多種媒體形式。
3.3內(nèi)置工作流引擎
根據(jù)WfMC的定義,工作流(Workflow)就是自動(dòng)運(yùn)作的業(yè)務(wù)過程部分或整體,表現(xiàn)為參與者對(duì)文件、信息或任務(wù)按照規(guī)程采取行動(dòng),并令其在參與者之間傳遞。簡(jiǎn)單地說,工作流就是一系列相互銜接、自動(dòng)進(jìn)行的業(yè)務(wù)活動(dòng)或任務(wù)。
4 結(jié)束語(yǔ)
新一代CMS能提供可視化的工作流定義工具。通過創(chuàng)建節(jié)點(diǎn)和節(jié)點(diǎn)之間的連線,并定義連線的方向和轉(zhuǎn)移條件,就可以定義簡(jiǎn)單的工作流程。一個(gè)節(jié)點(diǎn)往往還需要定義其輸入和輸出,以及節(jié)點(diǎn)對(duì)應(yīng)的動(dòng)作,這個(gè)動(dòng)作可以由腳本語(yǔ)言來描述,也可以是一段處理程序。工作流定義工具在創(chuàng)建節(jié)點(diǎn)時(shí),需要指定操作者,作為這個(gè)節(jié)點(diǎn)動(dòng)作的發(fā)出者。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。