三层C/S 结构及图书查询系统的开发

三层C/S 结构及图书查询系统的开发


曾 建 新    谭 娟 娟
(华南师范大学经济管理学院 广州 510631)




摘 要 介绍了三层C/S结构的优点及开发网络图书查询系统的一些主要技术方法,这对于图书馆特别是中小图书馆进一步开发和完善图书馆应用系统是有帮助的。
关键词 三层C/S结构 Web技术 图书查询系统

1 引言
   随着计算机网络技术和软硬件的发展水平不断提高,计算机体系结构从单机时代的集中式结构发展到局域网时代的两层C/S结构,互联网时代的三层C/S结 构,也就是当今Internet采用的体系结构。本文简述了三层C/S结构的优点,并讨论如何利用三层C/S结构和Web技术来开发网上图书查询系统。
2 两层C/S结构及其局限性
  20世纪80年代,随着人们对友好的人机界面的追求以及微机技术、网络技术的快速发展和成熟,C/S结构应用逐渐普及。传统的C/S结构一般分为两层:客户端和服务器端。其简单图示如图1:

图1 两层C/S结构图

   其基本工作原理是,客户程序向数据服务器发送SQL请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装了部分或全部的应用逻辑。服务器 端的数据库服务器主要提供数据存储功能,也可通过触发器和存储过程提供部分应用逻辑。两层C/S结构在规模较大的应用系统中运用时,其局限性显而易见: (1)效率低下。客户机通过网络连接访问远端数据,使网络通信繁忙,不仅降低了本机的性能,而且服务器必须保持同每个活动的客户机连接,也降低了服务器的 性能。(2)安全性差。客户端应用程序直接和数据库打交道,客户端拥有对数据库操作的足够权限,致使非法用户能够操作甚至破坏数据库。(3)维护困难。由 于应用逻辑部分或全部封装在客户端,因而不能对这些规则进行集中控制和管理。当应用逻辑被改动或更新时,需要每个最终用户重新分发,每次变动必须保证企业 内所有客户端能够及时更新,其时间和金钱花费巨大。(4)不可伸缩。两层C/S结构客户机和服务器都无法超越物理界限,因此很难进行伸缩。(5)共享性 低。由于程序的存储是依赖于特定数据库的,在不同数据库之间难于移植,对每一个客户机平台必须建立应用系统的不同的版本。为了克服两层C/S结构的种种局 限性,三层C/S结构应运而生。
3 三层C/S的结构及其优点
3.1 三层C/S的结构
  三层C/S结构分为三部分:客户、应用服务器和数据库服务器。其结构如图2所示:

图2 三层C/S结构图


   (1)客户。通常实现用户界面,它提供了一个可视化接口,用来显示信息和收集数据,它只与应用服务器打交道。(2)应用服务器。通常实现应用逻辑,是连 接客户与数据库服务器的桥梁。它响应用户发来的请求执行某种业务任务,并与数据库服务器打交道。在实际应用过程中,该层的组件通常可分为两个以上的层次, 因此这种结构也被称为多层次结构。(3)数据库服务器。实现数据的定义、维护、访问、更新以及管理,并响应应用服务器的数据请求。它的物理实现可以在某一 种数据库管理系统中,也可以是多个异种数据库的集合,这种数据库可以驻留在多种平台上。
3.2 三层C/S结构的优势
  三层C/S结构 与两层C/S结构相比,它的优势主要表现在:(1)安全性加强。应用服务器把客户与数据库服务器分开了,客户端不能直接访问数据库服务器。应用服务器可控 制哪些数据被改变和被访问,以及数据更改和访问方式。另外,对应用和数据的存储权限可以分层进行设定,这样,即使外部的入侵者突破了客户端的安全防线,若 在应用服务器和数据库服务器中备有另外的安全机构,系统也可以阻止入侵者进入其他部分。(2)效率提高。三层C/S结构中,客户端和应用服务之间的链接实 际上只是一些简单的通信协议,而和数据库服务器打交道所需要的设置或驱动程序,均由应用服务来承担,这既减轻了客户端的负担,也降低了数据库服务器的链接 代价,使数据库服务器专心于数据服务而不是频繁地和客户端的应用程序交流。各层的逻辑关系清晰明了,真正做到了“瘦客户”。(3)易于维护。由于应用逻辑 被封装到了应用服务器中,因此,当应用逻辑发生变化时,仅需修改应用服务器中的程序,客户端的应用程序不必更新,维护的代价大大降低。(4)可伸缩性。三 层结构是明确进行分割的,逻辑上各自独立,并且能单独实现。由于它们是逻辑划分的,与物理位置不一定相对应,因此它们的硬件系统构成是很灵活的,各部分可 以选择与其处理负荷和处理特性相适应的硬件。三层既可以在一台计算机上,也可以在两台甚至更多的计算机上,只要它们在体系上遵循三层C/S结构就可以了。 (5)可共享性。单个应用服务器可以为处于不同位置的客户应用程序提供服务,即应用系统只写一次就可以用于各个环境。(6)开放性。由于应用服务器的每个 组件都有标准的接口,用户可以重写自己的客户端程序和自己的浏览器程序。
  开发一个三层C/S结构的应用可以采用多种方式,如可以直接选用 支持三层C/S结构的数据库前台开发工具;也可以是自己选定的开发工具和高级语言来实现。此外,考虑到所有客户端界面的一致性和 Internet/Intranet应用,可采用基于Web的B/S(浏览器/服务器)结构:浏览器—Web服务器—数据库服务器。浏览器实现的是用户服 务功能;而应用服务则由Web服务器担当;各种数据库服务器则提供了数据服务的功能。这也是目前流行的互联网应用程序结构。
4 三层C/S结构在图书馆查询子系统中的应用
   图书馆信息化作为公共服务信息化的一个重要组成部分,它的发展无论是现在还是将来都有着十分重要的意义。随着信息化的发展,各个高校、中学、小学以及社 会公共图书馆的管理系统相继建立起来。图书馆的管理系统由于功能比较一致,业务流程也比较相似,所以通用的图书馆的管理系统易于实现、推广和应用。据了解 现有图书馆的应用系统大多是外购的,但是随着互联网的进一步发展,用户和图书馆应用系统的交互会进一步密切,用户的各种信息需求将日益增加。这样,要求各 图书馆能在外购图书馆的管理系统基础上进一步开发,满足图书馆信息化的进一步发展。图书查询系统是图书馆在网上与读者交互的窗口,是各图书馆进一步开发的 主要内容之一。下面介绍开发图书查询系统的一些主要技术方法。
4.1 图书查询系统的总体设计
  图书查询系统是一个基于Web的B/S 的网络交互式数据库图书系统,读者可以使用WWW浏览器通过Internet访问Web服务器,查询自己需要的图书信息和有关图书馆的各种信息,以及在条 件符合时进行预约图书,还可以留言、提问等。对数据库的查询实现分布式查询,包含单库查询和多库查询。查询系统的结构图见图3:

图3 图书查询系统结构图


  4.2 选用数据库服务器和创建数据库
   数据库服务器采用MS SQLSERVER7.0等。MS SQLSERVER7.0的最主要特点是功能强大,使用简便。它是微软公司发布的企业级的网络关系型数据库产品,它在产品的易用性、可缩放性和可靠性,以 及数据仓库等诸多方面有突出特点,使其在成为许多数据库产品中发展最快的产品之一。MS SQLSERVER7.0的许多先进技术,如单控制台管理、基于事件的作业执行和警报、集成化安全性及管理脚本、提供快速简单的编程模型等使它成为创建、 管理和部署商业应用程序最简便和高效的数据库之一。
  查询系统数据库结构可根据各自图书馆特点设计。一般可以有以下两类库:查询数据库和交流数 据库。前者存放着各种图书信息及各读者个人信息,主要是用来让读者查询图书信息,以及读者个人的借还书信息,同时在读者条件符合时可以进行图书预约等。后 者主要是用来让读者留言、反馈读者信息,如提问、回答,还可以发表一下自己读书心得等。
4.3 Web 服务器IIS 4.0
  解决应用系统对后台数据库的访问是三层C/S结构开发的核心问题,在本系统中我们选用IIS 4.0(Microsoft Internet Information Server 4.0)作为开发、运行的平台。
   IIS 4.0及其ASP(Active Server pages)技术的应用运行在Windows NT 平台上,用活动数据对象ADO(ActiveX Data Object)组件并通过ODBC(开放数据库互联)标准数据库界面访问多种数据库,解释并发布信息。
  (1)IIS 4.0:IIS 系列服务器是Microsoft公司在Internet信息发布领域的主要软件。IIS软件的安装、配置、管理简单,易于掌握;运行在Microsoft Windows NT操作系统平台上,具有很强的性能;兼容性好,支持标准的HTTP以及相关协议,支持CGI、WinCGI规范;与Microsoft公司的在其它相关 软件产品,如Internet Explore、SQL Server等产品实现无缝集合,有助于开发更复杂、更高效的应用系统;可以采用ActiveX控件技术扩充基本服务器的功能;提供IDC (Internet Database Connection)、ASP等高效开发工具等等。由于IIS优点突出,目前在很多领域中得到了广泛应用。
   (2)ASP:伴随着IIS所产生的ASP是一个Web服务器端的开发环境,在这个环境中,可以把HTML页面、Script语言及ActiveX服务 器组件结合起来,创建和运行动态的、交互式的、高性能的Web服务器应用程序。ASP是一个文本文件,用任何纯文本编辑器进行编辑,它包括文本、HTML 标记和ASP特有的脚本语句,通过扩展名为.asp文件来实现。ASP也可以由FrontPage自动生成,专业开发人员可使用微软推出的Visual InterDev工具。
  ASP是纯服务器技术,服务器先自动解释ASP程序代码为HTML格式的页面内容,再送到用户的浏览器显示出来。也就 是说,ASP的源程序码不会传到用户的浏览器上,因此保护了源程序不会外漏,也不用担心浏览器能否执行ASP程序。由于ASP集成于HTML,因此编译链 接可直接执行。ASP可支持任何脚本语言,只需提供相应的脚本引擎,ASP自身提供VBScript和Jscript两种脚本引擎。另外,ASP提供更方 便、更简单访问数据库的方法,使开发基于数据库驱动的Web应用程序更容易。ASP已经成为开发动态网站、构筑Internet 和Intranet的最佳工具。
  (3)ADO的数据存取:ADO是一种数据库访问工具,比起RDO(Remote Data Objects)和DAO(Data Access Objects)它更加容易使用,高速、而且占用较少的磁盘和内存空间。ADO提供了Connection、Recordset、Command、 Field、Property等对象。ADO与ASP结合使用,使用户可以在浏览器上对Web数据库记录进行查询、插入、更新、删除等操作。
4.4 Web数据库访问过程
  Web数据库访问过程如图4:

图4 Web数据库访问过程

用 户通过浏览器向Web服务器(IIS)提出请求,Web服务器会自动判断该请求是否是.asp文件,若不是就直接下载到浏览器上。若是.asp文件, Web服务器就会判断是否含有脚本程序(VB Script或Java Script),如果有,则加以解释并执行,把不是脚本程序的部分直接传送到浏览器上。若在执行中的脚本程序使用了ADO对象,Web服务器会根据ADO 对象所设置的参数来启动相应的ODBC驱动程序,启动后程序就可以直接利用ADO对象来访问数据库,或通过ADO对象来发送SQL指令,进而对数据库进行 存取。最后用户所需要的数据会由脚本程序通过ASP提供的Response对象送出,并由Web服务器传送到浏览器上显示。
4.5 FrontPage2000中文版在本系统中的应用
  FrontPage2000提供了各种强大的功能,而且使用方便、简单。FrontPage2000在本系统中并不是仅用设计用户界面,而是贯穿了本系统开发的始终。
  首先在FrontPage2000创建一个新站点,然后根据本系统的设计要求设计各个网页的风格、内容,可以利用Photoshop、Flash等工具制作各种图片、动画,使网站更具吸引力,当然还要创建好各个页面之间的超链接等。
  至于网络操作系统等软硬件平台的选择,不多繁述。
5 总结
   三层C/S结构具有高效率、高安全性、可伸缩性、联机用户数多等等优点,是开发网络应用程序的理想结构。随着计算机网络的飞速发展,用户和图书馆应用系 统的交互会进一步密切,各单位有必要对外购图书馆应用系统进一步开发,三层C/S结构及Web技术有众多优点且易学易用,为各图书馆特别是中小图书馆自己 开发图书馆应用系统后续功能提供了方便。

参考文献

1 王勇领. 系统分析与设计. 北京: 清华大学出版社, 1991
2 罗会涛. 精通MS SQL SERVER7.0.北京: 电子工业出版社,1999
3 周钧. ProntPage98实用手册. 北京: 清华大学出版社, 1998
4 齐长秀. ProntPage2000实用指南. 北京: 清华大学出版社,1998
5 李世杰. Active Server Pages2.0 网页设计手册. 北京: 清华大学出版社,1999
6 袁名敦. 图书馆自动化. 北京: 北京师范大学出版社, 1997

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值