浅论无线校园网系统分析与设计

(整期优先)网络出版时间:2019-11-25
/ 3
【论文关键词】: 无线校园网;WEB数据库;数据库技术
  【论文摘要】:文章主要介绍了无线校园网的一些功能,并从体系结构、功能模块、实现技术等方面来对无线校园网进行了设计工作。
    
  一、无线校园网的一些功能
  
   1、群发电子邮件:教师和学生可以用手机在校园网上注册,一旦学校有需要集体通知的事情或者是突发事件需要让全校师生在最短时间内获得消息,则可以及时群发给每一个注册用户。如果07年四月份的弗吉尼亚理工大学枪击案中,学生们都是通过手机查询邮件的话,消息的获取会更及时,可能会避免一些不必要的事情发生。
   2、个人信息查询:包括最常见的课表、成绩查询等。大学里上课地点不固定,有很多同学在临上课或临考试时却记不清楚地点,这时可以打同学手机询问,如果别人都关机准备考试怎么办?有了无线网络和接入这个网络的智能手机就可以及时查询相关信息了。
   3、转帐:学校的一卡通可以和银行卡可相互转帐,使用移动网络和智能手机,就可以轻松解决转帐排队的麻烦。
   4、方便新生报到:通过信息化手段,将新生报到时所涉及的各个部门处理的新生数据进行有效的共享和集成,为新生提供更好的服务,同时为管理者提供一个随时随地统计查询报到状态的良好平台,有移动网络,也省去了到处拉线的麻烦。
   5、教室使用情况查询:学生常常要花费很多时间找教室上自习,利用笔记本或手机登陆学校教务管理系统,即时查询教室使用情况,可以极大地节省时间和体力。
  
  二、系统设计
  
   1. 系统分析
   (1)体系结构
   该系统为用户提供统一的界面,实现数据的透明访问和传输。使用当前WEB流行的三层BROWSER/SERVER 结构,极大的简化了客户机的工作,对数据库的访问、查询等工作均由服务器来完成。维护人员不必再为应用程序的维护升级等工作奔忙于各个客户机之间,可以把主要精力放在功能服务器的应用程序更新升级工作上来。
   从结构和功能上看,系统可以分为三部分:表示层、WEB中间层、数据库层。表示层位于客户端,即用户界面。 WEB中间层是数据查询的核心部分,主要负责处理HTTP 请求、与数据库的连接和交互等工作。各异构数据库管理员可通过WEB中间层的管理模块提交本部门数据库中需要共享的表、字段、以及表之间的关系并存储在WEB 中间层的数据库中。数据库层位于底层,是各部门早就存在的数据库系统,通过ADO.NET 访问相应的数据库,处理用户对数据库的查询、更新和筛选等请求。层与层之间相互独立,任意一层的改变不影响其他层的功能。
   (2)功能模块。系统主要包括以下模块
   系统登陆模块:完成身份认证,防止其他人对系统的破坏。系统维护管理模块:为管理员专用。网上查询模块:为用户提供了一个统一的界面,实现数据的透明访问和传输。用户可以在任何一个连网的机子上查询。
   (3)WEB 中间层的数据库设计
   Web中间层数据库主要有两个功能,一个是存储异构数据库的全局视图,即提供了信息资源目录,另外一个是在Web服务中间层实现对异构数据源有限制的局部数据的查询。中间层建立一个小型数据库用来存储每个数据源能够实现共享的表、字段以及表与表之间的关系等相关信息,这些信息一部分是软件自动搜索的,另一部分是由异构数据源的数据库管理员通过Web 方式进行提交到Web 中间层数据库的,各异构数据源管理员用户在Web 服务中间层数据库预先定义,为每个异构数据源分配相应的管理用户。
   在服务中间层的数据库中主要包含以下各表:
   数据库管理员信息表:记录能够使用维护管理模块的用户信息,这些信息应当包括用户名称、用户密码、部门标识等基础信息。部门标识对应有实际的部门信息。
   部门表包括部门编号和部门名称。
   数据库连接参数表:一个管理员对应一个部门,该用户可以定义本部门数据库的连接参数并提交到Web 服务中间层的数据库中,所以在Web 服务中间层应该有各异构数据库的连接参数表,该表包括部门编号、服务器名称、数据库名称、数据库登陆名、数据库连接提供者。
   共享信息表:连接参数表提供了各个异构数据源的连接参数,数据访问协议接口利用这些连接参数连接到一个或多个异构数据源,一旦建立连接就可以自由的读取数据,数据库访问过程中需要限制访问范围,该范围的限制是由各异构数据源管理员根据自身部门的数据安全要求,在Web 服务中间层数据库中定义本部门可以对外共享的数据表结构来实现的。在定义这些结构时,可能整个表,也可能是一个表的某些字段可以对外共享,同时还要提供表与表之间的关系(在这里所讨论的表与表之间的关系主要是外关键字链接情况)。建立共享信息表来保存各异构数据库可以共享的表、字段信息以及服务器名称。
   关联信息表:记录各异构数据库中表与表之间的关系。该表包括部门编号、服务器名称、表名、外部关键字、外部表、外部表关联字段。

   Web 中间层数据库主要是存储异构数据库的全局视图,对数据查询实现有限制的访问,该数据库中记录的相关信息在用户查询某数据时,由ASP.net 用来动态生成相关的sql数据查询语句,分别对各个异构数据库进行查询。
  
   2. 系统实现原理及主要技术
   (1)系统实现原理
   系统是基于WEB客户端系统,用户在任何一台连接了INTERNET 的机子上通过浏览器发出查询请求,WEB 中间件服务器接收到查询请求后,对照全局视图的资源目录判断用户是否有查询该数据的权限,有就将查询语言转换成标准的SQL 查询语句,并通过ADO。NET 访问接口访问响应的数据库,并返回结果,查询结果经过WEB 中间层服务器再转换成XML文档,XML文档经CSS 样式定义显示在用户的浏览器上。  ① 建立与WEB中间数据库的连接,
   在asp.net 中,选择c#作为脚本语言,用c#连接
   access 数据的代码如下:
   ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=路径\数据库名.mdb";
   OleDbConnection Conn=new OleDbConnection(ConnString);
   Conn.Open();
   创建了本地数据库的连接字符串,然后根据连接字符串OleDbConnection 连接对象,打开连接后,就可以使用OleDbCommand 对象对数据库进行查询、更新、删除操作。在各异构数据库管理员第一次登陆Web 中间层时,系统首先建立与access 数据库的连接,然后根据用户提供的用户名在管理员用户信息表中进行查询,返回用户密码和用户编号。返回的信息保存在SqlDataReader 对象中,下面的代码实现了
   把管理员用户信息表中的数据显示到控件上:
  OleDbCommand myCMD = new OleDbCommand ("select password,userid from 管理员用户信息 where username='"& 控件名 &"'",Conn);
   OleDbDataReader myReader = myCMD.ExecuteReader();
   myReader.Read();
   显示密码控件=myReader.GetString(0);
   显示用户编号控件= myReader.GetString(1)
   myReader.Close(); Conn.Close();
   ② 动态生成SQL语句
   用户取得共享系统的信息资源目录后,选择某个表或者多个表进行表中数据查询,提交查询请求后,系统的下一步工作就是根据用户的请求远程连接异构数据源,提交查询数据的请求并取得返回数据。
   在异构数据库信息共享系统中,当用户从中间层Web 服务端得到信息资源目录后,选择自己要查询的目标。在整个选择查询目标的过程中,系统记录下用户所选择的部门信息以及该部门数据库中所要查询的表的信息。在生成IRD 的过程中,ASP.net 连接访问的是本地数据库,即Web 中间层管理数据库。把各异构数据库管理员所定义的数据库共享结构呈现给用户。
   用户选择相应的数据表提交查询请求后,本地数据库连接的OleDbConnection 对象根据用户所选部门的部门编号DEPARTMENTID 到数据库连接参数表中取得该部门数据库的各项连接参数,下面的代码实现了对数据库参数的查询:
   OleDbCommand myCMD = new OleDbCommand ("selectservername,databasename,databaseuser,provider wheredepartmentid=用户所选部门的部门编号",Conn);
   OleDbDataReader myReader = myCMD.ExecuteReader();
   当获得连接参数之后,就可以对各个异构数据库进行连接了,连接所使用的数据提供程序一般来说有三种情况,即SQL Server NET 数据提供程序,OLE DB.NET 数据提供程序,ODBC.NET 数据提供程序。通过对连接字符串属性的各项参数动态赋值,来实现用户期望的数据库连接。在这些参数中"Provider"参数说明了所要连接的数据库系统是哪一种服务,不同的数据库系统提供的服务名称不一样,通过对该参数赋予不同的值,OLE DB NET 就可以连接不同类型的数据库,从而实现异构数据库的连接。
   ③ 生成XML页面显示结果
   关系数据源转换为XML 数据源不是静态的生成XML 文档,而是有asp.net 动态生成的。这样,XML 数据源会随着数据库数据的更新而更新,通过asp.net,把sql 语句的查询结果转化成XML 数据源,这时的数据源是aspx 文件,aspx 文件可以用来创建html 页面也可以是XML 数据源,这两者的区别是页面的结构一个是html 页面,一个是XML 页面。

   在asp.net 中生成html 类型的页面还是生成XML 类型的页面, 关键是设置response 对象的ContentType , 当ContentType 属性值是text/XML 时,生成的动态页面是XML页面,当ContentType 属性值是text/html 时,生成的动态页面是html 页面。
  
   (2)主要技术
   ① 查询技术:采用了动态sql 语句的生成技术,客户端的需求是动态变化的,因此需要根据客户对数据库和表等信息的选择动态生成sql语句。这对access 和sqlserver2000 等数据库没什么问题,但如果查询的目标是oracle数据库,那么就会容易出错,因此今后工作的一个重点就是解决如何生成适应oracle 数据库的sql 语句。
   ② ADO.NET技术:数据库的操作采用ADO.NET 技术,对不同的数据源,选择不同的连接对象,如与access 数据连接采用OleDbConnection 对象,SQLServer 连接采SqlConnection对象,对数据库数据进行操作,使用了SqlCommand 和OleDbCommand对象。在ADO.NET中DataSet技术支持断开连接的数据库操作,提高了系统性能。
   ③ XML 编程模型:DOM(文档对象模型)是HTML 和XML文档的应用程序接口。它定义了文档的逻辑结构以及范围和操纵文档方法。利用DOM,可以创建XML 文档,浏览文档结构,增删内容等。从多个异构数据源中查询得到数据之后,需要用xml 文档来保存数据,由于xml 文档的数据是层次型结构的,这样就涉及到关系数据到层次型数据的转换,需要用程序实现xml 文档的生成,.net 支持DOM 模型,主要使用XmlReader 和XmlWriter 两个类对xml 文档进行操作。
   ④ XML显示:使用CSS 技术显示。xml 文档在客户端浏览器的正确显示,除了要求XML能够得到正确解析,还要定义XML 在客户端显示的风格样式。文档本身的数据源内容与显示控制是分离的。因此在XML 的应用中,同时包括XML 文档显示的控制。在动态生成的xml 文档中,标记也是动态生成的,因此在CSS 中定义每一个标记就成为一个难点,同时也知道在CSS 样式中有子元素同时继承父元素属性的特性,因此,规定每个xml 文档的根元素为,只要定义了根元素,就不需要定义每一个子元素了。