基于數(shù)據(jù)庫設計的中英文雙語網(wǎng)站開發(fā)模式
摘 要: 傳統(tǒng)的中英文網(wǎng)站開發(fā)采用兩套代碼兩個數(shù)據(jù)庫或者一套代碼兩套資源文件的開發(fā)模式,在軟硬件開銷、代碼與信息分離和系統(tǒng)的維護性方面均存在不同程度的缺陷。針對這一問題,把頁面設計與數(shù)據(jù)庫設計結合起來,利用編程技術,用一套代碼一個數(shù)據(jù)庫實現(xiàn)中英文雙語網(wǎng)站的開發(fā),以提高開發(fā)及維護效率,降低軟件成本。
關鍵詞: 雙語網(wǎng)站;內容管理系統(tǒng);數(shù)據(jù)庫;靜態(tài)內容;動態(tài)內容
我國一些具有國際戰(zhàn)略眼光的企業(yè),不僅建立了企業(yè)品牌中文網(wǎng)站,而且還建設了網(wǎng)站外文版[1]。英語是當今世界上主要的國際通用語言之一,為了逾越系統(tǒng)使用者中文要求的限制以及滿足企業(yè)業(yè)務的需要,建立中英文雙語管理信息系統(tǒng)網(wǎng)站是企業(yè)實現(xiàn)國際化管理的有效途徑[1]。
目前通常采用的方法有以下兩種[2]:第一種是開發(fā)兩套系統(tǒng),即中英文系統(tǒng)自成體系,用兩套程序和兩個數(shù)據(jù)庫分別實現(xiàn);第二種是使用一套程序,針對每個頁面分別生成中英文兩個資源文件以實現(xiàn)兩種語言之間的切換,數(shù)據(jù)庫可以用兩個,也可以用一個。第一種方法實現(xiàn)容易,但是其開發(fā)、測試及維護效率均很低下;第二種方法開發(fā)效率相對較高,但由于存放中英文靜態(tài)內容的資源文件與代碼密不可分,不利于系統(tǒng)的維護。為克服上述開發(fā)模式的不足,本文選擇Microsoft Visual Studio.Net平臺的C#,提出一套基于C#的雙語網(wǎng)站設計模式,設計一個靜態(tài)信息表,將中英文靜態(tài)內容存放于該表的不同字段,系統(tǒng)啟動時一次性讀出中英文靜態(tài)內容并存放于DataTable對象中,各頁面啟動時依據(jù)頁面編號和語言標志從DataTable中讀取并顯示靜態(tài)內容;對頁面動態(tài)內容,在各信息表中設計兩個字段分別存放需要顯示的中英文內容,根據(jù)頁面的語言標志來讀取對應字段內容動態(tài)顯示于頁面。即用一套代碼一個數(shù)據(jù)庫實現(xiàn)中英文雙語網(wǎng)站的開發(fā)。
1 系統(tǒng)需求
本文以某企業(yè)的法律規(guī)章制度的管理信息系統(tǒng)為例來說明雙語網(wǎng)站的實現(xiàn)。
(1)在業(yè)務需求方面,該系統(tǒng)旨在通過各地區(qū)(不同國家或區(qū)域)工作人員將各地區(qū)與本企業(yè)產品相關的產品安全標準和法律規(guī)章制度提取出來,按本企業(yè)的管理方式以中英文雙語錄入系統(tǒng),經過主管部門確認后,向本企業(yè)各部門及業(yè)務往來公司公開,使企業(yè)產品在不違反銷售對象國家及區(qū)域的法律制度的條件下進行合法營銷。而目前的管理完全是通過手工制作Html文件的方式實現(xiàn)信息共享,這種方式既繁瑣且工作量大。為了優(yōu)化系統(tǒng)管理,本文提出利用數(shù)據(jù)庫及網(wǎng)站開發(fā)平臺來進行系統(tǒng)的設計及開發(fā)。
(2)在功能需求方面,該系統(tǒng)用來管理與企業(yè)相關產品的法律規(guī)章制度,類似于一般管理信息系統(tǒng)的功能:法律規(guī)章制度的追加、修改、刪除、查詢及報表的制作。此外,由于規(guī)章制度類信息篇幅較長,以電子文檔方式保存的較多,因此,本系統(tǒng)還涉及電子文檔的追加、修改、刪除、查詢功能,即上傳、下載及文件瀏覽功能。
(3)在環(huán)境需求方面,由于雙語網(wǎng)站面向的用戶的多樣性,要求客戶端在以下4種組合的環(huán)境下能正常動作,因此,集成測試及系統(tǒng)測試也必須在這4種組合環(huán)境下進行:①中文WindowsXP、中文IE6;②英文WindowsXP、英文IE6;③中文WindowsVista、中文IE7;④英文WindowsVista、英文IE7。
(4)在安全需求方面,只有獲得本系統(tǒng)用戶名和密碼的用戶通過登錄頁面驗證方可進入主菜單頁面,但進入主菜單的用戶權限各不相同,即不是進入主菜單的用戶就能進入所有菜單項,通過對用戶進行使用權限的設置及檢查,控制不同用戶對不同菜單項的使用權限;同時需要有效防止不經過菜單頁面權限檢查,在IE地址欄直接輸入IP地址非法進入各業(yè)務頁面訪問。
2 雙語對應設計
為了提高雙語網(wǎng)站的可維護性,利用一套代碼、一個數(shù)據(jù)庫實現(xiàn)雙語網(wǎng)站的構建。其主要實現(xiàn)技術主要包括頁面設計、數(shù)據(jù)庫表的設計和文件管理設計三個方面。
2.1 頁面設計
利用C#進行網(wǎng)站開發(fā),其頁面顯示的內容主要包含靜態(tài)內容和動態(tài)內容兩類。在設計中,頁面靜態(tài)內容并非像通常設計那樣設置為固定值,而是從數(shù)據(jù)庫的“靜態(tài)信息表”讀??;頁面中同一控件的顯示屬性可以根據(jù)不同環(huán)境分別顯示為中文與英文。為了便于設計及編程實現(xiàn),將各頁面的控件按統(tǒng)一方式進行編號設計,本文用5位符號字符對控件進行編號,編號規(guī)則如下:
第1位:用@表示所有頁面共同的顯示項,用#表示各頁面專用的顯示項。
第2、3位:按控件種類劃分,用字符表示:
ID:頁面名;
NV:向導文字;
LI:文字+鏈接;
FL:文字+輸入(文本框,單、復選按鈕,組合框等);
NA:僅顯示文字;
BT:按鈕名;
IM:畫像文件名。
第4、5位:同種類控件按序編號,用數(shù)字表示。
頁面設計中的上述編號,對應數(shù)據(jù)庫的“靜態(tài)信息表”的字段“頁面控件編號”,不同頁面的控件編號基本一致,以“頁面編號”和“頁面控件編號”為主鍵來區(qū)分不同記錄。
設計示例如圖1所示(假設頁面編號為WWDG001),圖中DA01和DA02為動態(tài)內容項,其編號不存放于數(shù)據(jù)庫表的某一字段,只作為設計和編程中動態(tài)項目的對照依據(jù)。
2.2 數(shù)據(jù)庫相關表的設計
本系統(tǒng)雙語功能的實現(xiàn)主要借助于數(shù)據(jù)庫設計。首先定義了一個“靜態(tài)信息表”,在該表中定義了頁面編號、頁面控件編號、中英文名稱等字段,主鍵為頁面編號和頁面控件編號,該表用來存放各個頁面所有靜態(tài)內容的中英文顯示內容。針對WWDG001頁面,靜態(tài)信息表內容如表1所示。