徐烈英
(唐山职业技术学院 宣传部,唐山 063004)
计算机网络在人民生活和社会发展中扮演着越来越重要的角色。WWW网站运行作为互连网的重要应用之一已成为具有最广泛用户的首要应用。Web网站是直接向用户或潜在的客户提供产品信息和服务信息的一种途径,其内容是由超文本的文本、声音、图形图像甚至电影等形式组成,它们能够有机地关联并可被浏览器识别,是通过HTML语言实现的。同时,CGI又使Web具有交互功能。Web网站能指引用户浏览该站点或其他站点上的分页信息,可以通过表单或电子邮件的连接提供双向交互方式。
网站是未来开展电子商务与远程教育的基础设施和信息平台,它是知识经济的制高点,企业的网址犹如企业的品牌和商标一样,是反映企业形象和文化的巨大的无形资产。Web网站的设计犹如报纸中设计的一页篇幅,又像电视中设计的一个片段,能给读者或观众留下深刻的印象,从而产生广告效应。Web网站的管理与维护不单要对网站的内容进行修改与更新,还要与浏览者通过各种因特网方式进行互动,从而产生“客户群”等作用。本文主要介绍了数据库软件系统在网站的设计和维护等方面的作用。
网站是宣传的工具,是一个组织的形象窗口,不论是商业性还是非商业性网站,都希望以最小的投入达到最好的运行效果。通过合理的网站设计,可以获得一个更好的模式和更好的运行效果。目前,基于数据库的运行和管理的网站运行模式就是一种典型设计。
整个设计开发过程,都是本着技术先进、界面友好、功能全面、维护性好的设计目标,以软件工程学的观点和方法系统的研究了整个开发过程,有计划、有步骤地分模块进行软件开发,以提高其效率,保证质量。当前,动态模式是将编程脚本技术(SCRIPT)、层迭样式技术(CSS)和文本对象技术(DOM)应用于网站设计,从而实现生动、丰富的页面效果。在信息化的今天,页面内容更新速度的增快,直接加大了网站运行维护的成本。因此,越来越多的网站使用了基于数据库的网站设计技术,即B/S结构的网站设计技术。
B/S结构是一种具有二级的Client/Server模式(亦即三层C/S结构),如图1所示。
图1 B/S结构模型示意图
第一级C/S结构是给Web服务器提供的WWW服务,同时又给客户端浏览器提供浏览服务。在Web Server上安装着预先建立的网页文件,这些页面描述语言可以包括运行在客户端的HTML、DHTML标注语言,VBscript、Javascript脚本语言和运行在服务器上的ASP、PHP、JSP 等多种编程语言。服务器将执行结果转换成对应的HTML语言文本传送到客户端,再由客户端软件解释运行,产生显示结果。第二级C/S结构则是将Web服务器作为客户机,进行以数据库系统为服务器的C/S运行模式。客户端以编程语言C++、ASP、PHP、JSP等的程序作为客户端软件进行数据库的访问操作。通过CGI或者其他方式实现Web服务器端与客户端实现信息互动。服务器端同时使用第三方数据库系统(如Ac2cess、SQL Server、Oracle等)作为数据库的支持与管理系统来提供第二级C/S结构的数据库服务。
早期的不少的网站设计主要只包含第一级C/S结构。这样的网站缺乏互动成分,且更新速度慢。这也是许多非商业性网站存在的弱点。即使是有些商业性网站,数据库的应用也主要体现在用户的注册登录,信息检索等方面,而在信息的更新、编辑仍然需要大量熟练工程技术人员参与。这毫无疑问会大大增加网站的运行成本。而B/S结构的网站设计技术,就能很好的解决这一问题。
当网站建设有了一定规模以后,尤其是对于那些流量较大、内容较多的网站,每天更新站点成了网站管理员维护网站的首要任务之一。然而,往往是有了资料以后,还要先做出与其相关的页面,然后才能对网站进行更新,这对于那些流量小,且时间充裕的管理员来说问题不大;但当站点是一个企业网站,有较大规模,每天的新闻或公告等信息发布较多,这样的更新就成了一项繁重的任务。根据制作网站的经验,将信息动态存入数据库,并利用ASP技术,及时把数据库信息显示到页面上。这样就不用每一条信息都做一幅静态页面,然后再链接到网页条目中,而让页面能保持自动更新和自动生成浏览页面。下面重点介绍在网站的动态设计过程中如何建立数据库连接和数据库记录的添加、修改、检索和删除。
一个真正的、完整的站点离不开数据库。利用数据库管理数据,可使查询和更新方便、快捷。数据库有很多种,如Fox数据库( .dbf )、Access数据库( .mdb)、Informix、Oracle和SQL Server等等。下面以Mi2crosoft Access数据库和SQL Server 2000为例来说明如何访问数据库。访问数据库首先要连接数据库,这要用到ADO对象,下面简单介绍ADO的概念,然后给出具体数据库连接的例子。
浏览器为客户端的操作平台,Web服务器可以基于IIS服务器或PWS的个人服务器。为了使数据更新方便,现代Web网站大量使用动态网页,这类网页的数据一般通过数据库来管理, 因此应设置后台数据库来存放所有数据。Web服务器要访问数据库中的数据,需通过ASP文件的ADO对象来实现。如图2所示。
图2 原理模型
ADO是以ActiveX技术为基础的数据存取方法,其特点是使用简单、访问速度快。此外,还可以通过具有远程数据服务功能的RDS,在一次循环中就能把服务器端的数据传送到客户端的应用程序或Web页面中,在客户端对数据进行处理后,便能立即更新服务器端的数据。ASP是一种动态服务器主页,利用它可以建立和运行动态的、高效的、交互的Web服务器的应用程序。Web服务器能自动将ASP程序解读成标准的HTML格式的网页内容,并送到用户的浏览器得以显示。因此,用户只要使用支持HTML代码的浏览器,就可以浏览所有用ASP设计的网页。若客户的浏览器向Web服务器请求下载文件时,Web服务器会在提取文件后,随即判断该文件的类型,如果是HTML文件,就可直接将文件下载给客户。若是ASP文件,IIS、PWS则会先予以解读,在解读的过程中,如遇到HTML标记或一般文字,会直接将有关内容下载给客户浏览器;如遇到< % % >的标记,则将其中内容视为程序,按下述步骤予以解释执行:
1)使用ASP程序中的ADO对象发送SQL指令,从数据库中取出所需数据。
2)由ASP程序的ADO对象发出指令,把从数据库中取出的数据传送给Web服务器。
3)通过HTTP传输协议将有关数据下载到客户端,送往浏览器显示。
在上述过程中,ASP程序是直接在服务器上解释执行,其源代码不用下载到客户端,进一步保证了源程序的安全。
2.3.1 模块组成
Web网站维护方法可以分为以下三个模块予以编程实现。
1)数据编辑模块
此模块主要是实现对数据库内容的添加、删除与修改。用户只需通过客户端的浏览器进入网站的主页,即可调用维护程序进行操作。如果是添加内容操作,只需按界面提示填写内容后提交即可。如果是进行修改或删除操作,则应先从数据库中读取数据后,再按界面提示逐一操作,之后再将处理结果予以提交。为防止非法用户随意更改网站 内容,除了使用网络系统平台的安全体系对用户进行一般的身份认证外,在此模块的界面上还采取了页面加密措施,包括在IIS和在有关文件夹中设立权限等。此外,此模块还自动识别用户所提交数据的格式是否正确,不正确时将要求用户重新填写。
2)数据的存储
将用户通过数据编辑模块提交的结果按要求入库,是数据存储模块的主要功能。该模块使用ASP程序接收用户的提交请求,通过ADO对象发送相应的SQL指令,将相应数据存入数据库。
3)用户浏览器接口
客户端浏览器必须通过该接口才能浏览数据库中的数据,该接口同时还能提高网页的浏览速度。当接口收到用户的浏览请求时,将先通过ASP程序所提供的对象到库中提取数据,然后由Web服务器送给浏览器。
2.3.2 开发环境
1)系统平台
可以在Windows NT 和IIS服务器系统平台,也可以基于Unix或PWS个人服务器等平台上开发。
2)数据库的选择
目前可用的数据库系统有很多,如Oracle、Sybase、Access等都是很好的产品。但Oracle数据库对系统的软硬件环境、使用及维护等方面要求较高, 且投资大;Sybase主要适合与PowerBuilder配套使用;Access则是小型数据库。根据系统规模和所需处理数据的容量,以及与系统平台的无缝集成等综合因素,选取恰当的数据库系统。
3)开发工具的选择
Java Script、VBScript、CGI与ASP都是可用于动态网页脚本制作的工具。但是,JavaScript和VBScript在执行时,需要先把程序下载到客户端,再由浏览器进行解释执行,这样会导致源代码被公开,从而影响网络安全性。ASP程序则是CGI程序的改进版,它跟CGI程序一样是在Web服务器端执行,因此安全性较好。相对而言, 在收集网页数据时,ASP比CGI的解析速度快、解析效果好, 因而选用ASP最为合适。
数据库在WWW服务应用中能帮助Web站点更好地运行,但同时也有一定的负面影响。主要问题表现为:
1)用户在对页面进行访问时,如果同时要进行大量的数据库查询与读取工作,会对用户的访问速度有一定的影响。
2)由数据库系统是与Web服务器共同完成Web服务的,这便使Web服务器增加对系统的依赖性,也增加了它被攻击的潜在因素。
3)对编程技术具有更高的要求。若对数据库编程不当,可能使得数据库因负载过重而出现故障,从而影响系统的稳定性。然而,这些问题都可以通过恰当的方式加以解决。
4)解决办法
对问题1)和2)可以采用双以太结构方式加以改善。如图3(a)和(b)分别为单以太结构和双以太结构设计的逻辑结构。
图3 连接数据库服务器的两种网络结构
双以太结构可以有效的进行数据流负载分流,改善以太负载曲线。同时隐藏数据库,保障其安全。对于问题3),主要是通过软件设施加以解决。例如选用适当的数据库,加强程序缓冲能力,及时关闭链接,增强程序坚固性等。
由于网络具有传播信息容量极大、形态多样、迅速方便、覆盖面广、自由和交互的特点,已成为新的传播媒体。随着网络技术的突飞猛进,各行各业都渴望加入到IT行业中来。如何设计出达到用户目的的网站,吸引尽可能多的人参观访问是网站设计人员值得研究的课题。不断探索,将越来越多的网站建设中的新技术应用到“科学数据库网站”中来。
[1] 马莉,王歌.基于Web网企业动态信息发布系统[J].计算机工程与应用,2002,38(5):166 -171.
[2] 郑源,王加阳.基于ASP技术的Web数据库远程维护[J].计算机工程与应用,2002,38 (11):193-195.
[3] 王剑钊,陈萍.数据库技术在网站设计中的应用[J].技术交流,2003(8):46-49.
[4] 董丽.WEB网站的设计与维护[J].石油工业计算机应用,2007,15(1)45-47.