- 相關(guān)推薦
淺論無(wú)線(xiàn)校園網(wǎng)系統分析與設計
【論文關(guān)鍵詞】: 無(wú)線(xiàn)校園網(wǎng);WEB數據庫;數據庫技術(shù)
【論文摘要】:文章主要介紹了無(wú)線(xiàn)校園網(wǎng)的一些功能,并從體系結構、功能模塊、實(shí)現技術(shù)等方面來(lái)對無(wú)線(xiàn)校園網(wǎng)進(jìn)行了設計工作。
一、無(wú)線(xiàn)校園網(wǎng)的一些功能
1、群發(fā)郵件:教師和學(xué)生可以用手機在校園網(wǎng)上注冊,一旦學(xué)校有需要集體通知的事情或者是突發(fā)事件需要讓全校師生在最短時(shí)間內獲得消息,則可以及時(shí)群發(fā)給每一個(gè)注冊用戶(hù)。如果07年四月份的弗吉尼亞理工大學(xué)槍擊案中,學(xué)生們都是通過(guò)手機查詢(xún)郵件的話(huà),消息的獲取會(huì )更及時(shí),可能會(huì )避免一些不必要的事情發(fā)生。
2、個(gè)人信息查詢(xún):包括最常見(jiàn)的課表、成績(jì)查詢(xún)等。大學(xué)里上課地點(diǎn)不固定,有很多同學(xué)在臨上課或臨考試時(shí)卻記不清楚地點(diǎn),這時(shí)可以打同學(xué)手機詢(xún)問(wèn),如果別人都關(guān)機準備考試怎么辦?有了無(wú)線(xiàn)網(wǎng)絡(luò )和接入這個(gè)網(wǎng)絡(luò )的智能手機就可以及時(shí)查詢(xún)相關(guān)信息了。
3、轉帳:學(xué)校的一卡通可以和卡可相互轉帳,使用移動(dòng)網(wǎng)絡(luò )和智能手機,就可以輕松解決轉帳排隊的麻煩。
4、方便新生報到:通過(guò)信息化手段,將新生報到時(shí)所涉及的各個(gè)部門(mén)處理的新生數據進(jìn)行有效的共享和集成,為新生提供更好的服務(wù),同時(shí)為者提供一個(gè)隨時(shí)隨地查詢(xún)報到狀態(tài)的良好平臺,有移動(dòng)網(wǎng)絡(luò ),也省去了到處拉線(xiàn)的麻煩。
5、教室使用情況查詢(xún):學(xué)生常常要花費很多時(shí)間找教室上自習,利用筆記本或手機登陸學(xué)校教務(wù)管理系統,即時(shí)查詢(xún)教室使用情況,可以極大地節省時(shí)間和體力。
二、系統設計
1. 系統分析
(1)體系結構
該系統為用戶(hù)提供統一的界面,實(shí)現數據的透明訪(fǎng)問(wèn)和傳輸。使用當前WEB流行的三層BROWSER/SERVER 結構,極大的簡(jiǎn)化了客戶(hù)機的工作,對數據庫的訪(fǎng)問(wèn)、查詢(xún)等工作均由服務(wù)器來(lái)完成。維護人員不必再為應用程序的維護升級等工作奔忙于各個(gè)客戶(hù)機之間,可以把主要精力放在功能服務(wù)器的應用程序更新升級工作上來(lái)。
從結構和功能上看,系統可以分為三部分:表示層、WEB中間層、數據庫層。表示層位于客戶(hù)端,即用戶(hù)界面。 WEB中間層是數據查詢(xún)的核心部分,主要負責處理HTTP 請求、與數據庫的連接和交互等工作。各異構數據庫管理員可通過(guò)WEB中間層的管理模塊提交本部門(mén)數據庫中需要共享的表、字段、以及表之間的關(guān)系并存儲在WEB 中間層的數據庫中。數據庫層位于底層,是各部門(mén)早就存在的數據庫系統,通過(guò)ADO.NET 訪(fǎng)問(wèn)相應的數據庫,處理用戶(hù)對數據庫的查詢(xún)、更新和篩選等請求。層與層之間相互獨立,任意一層的改變不影響其他層的功能。
(2)功能模塊。系統主要包括以下模塊
系統登陸模塊:完成身份認證,防止其他人對系統的破壞。系統維護管理模塊:為管理員專(zhuān)用。網(wǎng)上查詢(xún)模塊:為用戶(hù)提供了一個(gè)統一的界面,實(shí)現數據的透明訪(fǎng)問(wèn)和傳輸。用戶(hù)可以在任何一個(gè)連網(wǎng)的機子上查詢(xún)。
(3)WEB 中間層的數據庫設計
Web中間層數據庫主要有兩個(gè)功能,一個(gè)是存儲異構數據庫的全局視圖,即提供了信息資源目錄,另外一個(gè)是在Web服務(wù)中間層實(shí)現對異構數據源有限制的局部數據的查詢(xún)。中間層建立一個(gè)小型數據庫用來(lái)存儲每個(gè)數據源能夠實(shí)現共享的表、字段以及表與表之間的關(guān)系等相關(guān)信息,這些信息一部分是軟件自動(dòng)搜索的,另一部分是由異構數據源的數據庫管理員通過(guò)Web 方式進(jìn)行提交到Web 中間層數據庫的,各異構數據源管理員用戶(hù)在Web 服務(wù)中間層數據庫預先定義,為每個(gè)異構數據源分配相應的管理用戶(hù)。
在服務(wù)中間層的數據庫中主要包含以下各表:
數據庫管理員信息表:記錄能夠使用維護管理模塊的用戶(hù)信息,這些信息應當包括用戶(hù)名稱(chēng)、用戶(hù)密碼、部門(mén)標識等基礎信息。部門(mén)標識對應有實(shí)際的部門(mén)信息。
部門(mén)表包括部門(mén)編號和部門(mén)名稱(chēng)。
數據庫連接參數表:一個(gè)管理員對應一個(gè)部門(mén),該用戶(hù)可以定義本部門(mén)數據庫的連接參數并提交到Web 服務(wù)中間層的數據庫中,所以在Web 服務(wù)中間層應該有各異構數據庫的連接參數表,該表包括部門(mén)編號、服務(wù)器名稱(chēng)、數據庫名稱(chēng)、數據庫登陸名、數據庫連接提供者。
共享信息表:連接參數表提供了各個(gè)異構數據源的連接參數,數據訪(fǎng)問(wèn)協(xié)議接口利用這些連接參數連接到一個(gè)或多個(gè)異構數據源,一旦建立連接就可以自由的讀取數據,數據庫訪(fǎng)問(wèn)過(guò)程中需要限制訪(fǎng)問(wèn)范圍,該范圍的限制是由各異構數據源管理員根據自身部門(mén)的數據安全要求,在Web 服務(wù)中間層數據庫中定義本部門(mén)可以對外共享的數據表結構來(lái)實(shí)現的。在定義這些結構時(shí),可能整個(gè)表,也可能是一個(gè)表的某些字段可以對外共享,同時(shí)還要提供表與表之間的關(guān)系(在這里所討論的表與表之間的關(guān)系主要是外關(guān)鍵字鏈接情況)。建立共享信息表來(lái)保存各異構數據庫可以共享的表、字段信息以及服務(wù)器名稱(chēng)。
關(guān)聯(lián)信息表:記錄各異構數據庫中表與表之間的關(guān)系。該表包括部門(mén)編號、服務(wù)器名稱(chēng)、表名、外部關(guān)鍵字、外部表、外部表關(guān)聯(lián)字段。
Web 中間層數據庫主要是存儲異構數據庫的全局視圖,對數據查詢(xún)實(shí)現有限制的訪(fǎng)問(wèn),該數據庫中記錄的相關(guān)信息在用戶(hù)查詢(xún)某數據時(shí),由ASP.net 用來(lái)動(dòng)態(tài)生成相關(guān)的sql數據查詢(xún)語(yǔ)句,分別對各個(gè)異構數據庫進(jìn)行查詢(xún)。
2. 系統實(shí)現原理及主要技術(shù)
(1)系統實(shí)現原理
系統是基于WEB客戶(hù)端系統,用戶(hù)在任何一臺連接了INTERNET 的機子上通過(guò)瀏覽器發(fā)出查詢(xún)請求,WEB 中間件服務(wù)器接收到查詢(xún)請求后,對照全局視圖的資源目錄判斷用戶(hù)是否有查詢(xún)該數據的權限,有就將查詢(xún)轉換成標準的SQL 查詢(xún)語(yǔ)句,并通過(guò)ADO。NET 訪(fǎng)問(wèn)接口訪(fǎng)問(wèn)響應的數據庫,并返回結果,查詢(xún)結果經(jīng)過(guò)WEB 中間層服務(wù)器再轉換成XML文檔,XML文檔經(jīng)CSS 樣式定義顯示在用戶(hù)的瀏覽器上。
① 建立與WEB中間數據庫的連接,
在asp.net 中,選擇c#作為腳本,用c#連接
access 數據的代碼如下:
ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=路徑\數據庫名.mdb";
OleDbConnection Conn=new OleDbConnection(ConnString);
Conn.Open();
創(chuàng )建了本地數據庫的連接字符串,然后根據連接字符串OleDbConnection 連接對象,打開(kāi)連接后,就可以使用OleDbCommand 對象對數據庫進(jìn)行查詢(xún)、更新、刪除操作。在各異構數據庫員第一次登陸Web 中間層時(shí),系統首先建立與access 數據庫的連接,然后根據用戶(hù)提供的用戶(hù)名在管理員用戶(hù)信息表中進(jìn)行查詢(xún),返回用戶(hù)密碼和用戶(hù)編號。返回的信息保存在SqlDataReader 對象中,下面的代碼實(shí)現了
把管理員用戶(hù)信息表中的數據顯示到控件上:
OleDbCommand myCMD = new OleDbCommand ("select password,userid from 管理員用戶(hù)信息 where username='"& 控件名 &"'",Conn);
OleDbDataReader myReader = myCMD.ExecuteReader();
myReader.Read();
顯示密碼控件=myReader.GetString(0);
顯示用戶(hù)編號控件= myReader.GetString(1)
myReader.Close(); Conn.Close();
② 動(dòng)態(tài)生成SQL語(yǔ)句
用戶(hù)取得共享系統的信息資源目錄后,選擇某個(gè)表或者多個(gè)表進(jìn)行表中數據查詢(xún),提交查詢(xún)請求后,系統的下一步工作就是根據用戶(hù)的請求遠程連接異構數據源,提交查詢(xún)數據的請求并取得返回數據。
在異構數據庫信息共享系統中,當用戶(hù)從中間層Web 服務(wù)端得到信息資源目錄后,選擇自己要查詢(xún)的目標。在整個(gè)選擇查詢(xún)目標的過(guò)程中,系統記錄下用戶(hù)所選擇的部門(mén)信息以及該部門(mén)數據庫中所要查詢(xún)的表的信息。在生成IRD 的過(guò)程中,ASP.net 連接訪(fǎng)問(wèn)的是本地數據庫,即Web 中間層管理數據庫。把各異構數據庫管理員所定義的數據庫共享結構呈現給用戶(hù)。
用戶(hù)選擇相應的數據表提交查詢(xún)請求后,本地數據庫連接的OleDbConnection 對象根據用戶(hù)所選部門(mén)的部門(mén)編號DEPARTMENTID 到數據庫連接參數表中取得該部門(mén)數據庫的各項連接參數,下面的代碼實(shí)現了對數據庫參數的查詢(xún):
OleDbCommand myCMD = new OleDbCommand ("selectservername,databasename,databaseuser,provider wheredepartmentid=用戶(hù)所選部門(mén)的部門(mén)編號",Conn);
OleDbDataReader myReader = myCMD.ExecuteReader();
當獲得連接參數之后,就可以對各個(gè)異構數據庫進(jìn)行連接了,連接所使用的數據提供程序一般來(lái)說(shuō)有三種情況,即SQL Server NET 數據提供程序,OLE DB.NET 數據提供程序,ODBC.NET 數據提供程序。通過(guò)對連接字符串屬性的各項參數動(dòng)態(tài)賦值,來(lái)實(shí)現用戶(hù)期望的數據庫連接。在這些參數中"Provider"參數說(shuō)明了所要連接的數據庫系統是哪一種服務(wù),不同的數據庫系統提供的服務(wù)名稱(chēng)不一樣,通過(guò)對該參數賦予不同的值,OLE DB NET 就可以連接不同類(lèi)型的數據庫,從而實(shí)現異構數據庫的連接。
③ 生成XML頁(yè)面顯示結果
關(guān)系數據源轉換為XML 數據源不是靜態(tài)的生成XML 文檔,而是有asp.net 動(dòng)態(tài)生成的。這樣,XML 數據源會(huì )隨著(zhù)數據庫數據的更新而更新,通過(guò)asp.net,把sql 語(yǔ)句的查詢(xún)結果轉化成XML 數據源,這時(shí)的數據源是aspx 文件,aspx 文件可以用來(lái)創(chuàng )建html 頁(yè)面也可以是XML 數據源,這兩者的區別是頁(yè)面的結構一個(gè)是html 頁(yè)面,一個(gè)是XML 頁(yè)面。
在asp.net 中生成html 類(lèi)型的頁(yè)面還是生成XML 類(lèi)型的頁(yè)面, 關(guān)鍵是設置response 對象的ContentType , 當ContentType 屬性值是text/XML 時(shí),生成的動(dòng)態(tài)頁(yè)面是XML頁(yè)面,當ContentType 屬性值是text/html 時(shí),生成的動(dòng)態(tài)頁(yè)面是html 頁(yè)面。
(2)主要技術(shù)
① 查詢(xún)技術(shù):采用了動(dòng)態(tài)sql 語(yǔ)句的生成技術(shù),客戶(hù)端的需求是動(dòng)態(tài)變化的,因此需要根據客戶(hù)對數據庫和表等信息的選擇動(dòng)態(tài)生成sql語(yǔ)句。這對access 和sqlserver2000 等數據庫沒(méi)什么問(wèn)題,但如果查詢(xún)的目標是oracle數據庫,那么就會(huì )容易出錯,因此今后工作的一個(gè)重點(diǎn)就是解決如何生成適應oracle 數據庫的sql 語(yǔ)句。
② ADO.NET技術(shù):數據庫的操作采用ADO.NET 技術(shù),對不同的數據源,選擇不同的連接對象,如與access 數據連接采用OleDbConnection 對象,SQLServer 連接采SqlConnection對象,對數據庫數據進(jìn)行操作,使用了SqlCommand 和OleDbCommand對象。在A(yíng)DO.NET中DataSet技術(shù)支持斷開(kāi)連接的數據庫操作,提高了系統性能。
③ XML 編程模型:DOM(文檔對象模型)是HTML 和XML文檔的應用程序接口。它定義了文檔的結構以及范圍和操縱文檔方法。利用DOM,可以創(chuàng )建XML 文檔,瀏覽文檔結構,增刪內容等。從多個(gè)異構數據源中查詢(xún)得到數據之后,需要用xml 文檔來(lái)保存數據,由于xml 文檔的數據是層次型結構的,這樣就涉及到關(guān)系數據到層次型數據的轉換,需要用程序實(shí)現xml 文檔的生成,.net 支持DOM 模型,主要使用XmlReader 和XmlWriter 兩個(gè)類(lèi)對xml 文檔進(jìn)行操作。
④ XML顯示:使用CSS 技術(shù)顯示。xml 文檔在客戶(hù)端瀏覽器的正確顯示,除了要求XML能夠得到正確解析,還要定義XML 在客戶(hù)端顯示的風(fēng)格樣式。文檔本身的數據源內容與顯示控制是分離的。因此在XML 的應用中,同時(shí)包括XML 文檔顯示的控制。在動(dòng)態(tài)生成的xml 文檔中,標記也是動(dòng)態(tài)生成的,因此在CSS 中定義每一個(gè)標記就成為一個(gè)難點(diǎn),同時(shí)也知道在CSS 樣式中有子元素同時(shí)繼承父元素屬性的特性,因此,規定每個(gè)xml 文檔的根元素為
【淺論無(wú)線(xiàn)校園網(wǎng)系統分析與設計】相關(guān)文章:
關(guān)于無(wú)線(xiàn)校園網(wǎng)絡(luò )構建與應用03-16
淺論校園網(wǎng)的建設和管理03-19
淺論校園網(wǎng)在中小學(xué)的應用與建設03-26
淺論概念設計11-20
淺論制度設計倫理03-01