基于B-S体系结构开发应用系统
- 格式:doc
- 大小:74.00 KB
- 文档页数:4
宁波工程学院学年论文
- 1 -
基于B/S体系结构开发应用系统
摘 要: 本文介绍了B/S构架的定义,分析了Browser/Server体系结构开发应用软件的
特点和不足。提出了克服该不足的一种方法,以及对编写B/S的一些建议。
关键词:应用软件 服务器 B/S
1. 引 言
由于客户服务器两层结构存在灵活性差、升级困难、维护工作量大等缺陷,已较难适应
当前信息技术与网络技术发展的需要。随着WEB技术的日益成熟,Browse/Server(简称B/S)
结构已成为取代Client/Server(简称C/S)结构的一种全新技术。采用该结构软件的优势在
于:(1)无须开发客户端软件,维护和升级方便;(2)可跨平台操作,任何一台机器只要装有
WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采
用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此
该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结
构。
2. 基于B/S体系结构开发应用系统
2.1 B/S三层体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务
器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,
客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程
序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动
态网页生成等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务
处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这
样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图1所示。
宁波工程学院学年论文
- 2 -
图2.1三层体系结构图
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技
术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能
服务器,使客户机一下子"苗条"了许多,不再负责处理复杂计算和数据访问等关键事务,只
负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力
放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变
不会影响其它层的功能。
2.2 B/S三层体系结构的不足
经过近一两年的应用,B/S体系结构也暴露出了许多不足地方,具体表现在以下几个方
面:
(1) 由于浏览器只是为了进行WEB浏览而设计的,当其应用于WEB应用系统时,许多
功能不能实现或实现起来比较困难。比如通过浏览器进行大量的数据输入,或进行报表的应
答都是比较困难和不便的。
(2) 复杂的应用构造困难。虽然可以用ActiveX、Java等技术开发较为复杂的应用,
但是相对于发展已非常成熟C/S的一系列应用工具来说,这些技术的开发复杂,并没有完全
成熟的技术供使用。
(3) HTTP可靠性低有可能造成应用故障,特别是对于管理者来说,采用浏览器方式
进行系统的维护是非常不安全与不方便的。
(4) WEB服务器成为对数据库的唯一的客户端,所有对数据库的连接都通过该服务器
实现。WEB服务器同时要处理与客户请求以及与数据库的连接,当访问量大时,服务器端负
载过重。
(5) 由于业务逻辑和数据访问程序一般由JavaScript、VBScript
等嵌入式小程序实现,分散在各个页面里,难以实现共享,给升级和维护也带来了不便。同时
由于源代码的开放性,使得商业规则很容易暴露,而商业规则对应用程序来说则是非常重要
的。
为克服以上不足,在原有B/S体系结构基础上,采用一种新的体系结构,如图2所示。
宁波工程学院学年论文
- 3 -
图2.2新的体系结构图
在该种结构体系中,一些需要用WEB处理的,满足大多数访问者请求的功能界面(如信
息发布查询界面)采用B/S结构。后台只需少数人使用的功能应用(如数据库管理维护界面)
采用C/S结构。组件位于WEB应用程序中,客户端发出HTTP请求到WEB SERVER。WEB SERVER
将请求传送给WEB应用程序。WEB应用程序将数据请求传送给数据库服务器,数据库服务器
将数据返回WEB应用程序。然后再由WEB SERVER将数据传送给客户端。对于一些实现起来
困难的功能或一些需要丰富的HTML页面,通过在页面中嵌入ActiveX控件来实现。
采用这种结构优点在于:(1)充分发挥了充分了B/S与C/S体系结构的优势,弥补了二
者不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简
单灵活,易于操作。(2)信息发布采用B/S结构,保持了瘦客户端的优点。装入客户机的软
件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都是基于工业
标准,可以在所有的平台上工作。(3)数据库端采用C/S结构,通过ODBC/JDBC连接。这
一部分只涉及到系统维护、数据更新等,不存在完全采用C/S结构带来的客户端维护工作量
大等缺点。并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多
B/S存在的固有的缺点。(4)对于原有基于C/S体系结构的应用,可以非常容易地升级到这
种体系结构,只需开发用于发布的WWW界面,可以保留原有的C/S结构的某些子系统,
充分地利用现有系统的资源。使得现有系统或资源无需大的改造即可以连接使用,保护了用
户以往的投资(5)通过在浏览器中嵌入ActiveX控件可以实现在浏览器中不能实现或实现
起来比较困难的功能。比如通过浏览器进行报表的应答。另外,在客户端ActiveX控件的加
盟,可以丰富HTML页面,产生另人惊奇的效果。(6)将服务器端划分为WEB服务器和
WEB应用程序两部分。WEB应用程序采用组件技术实现三层体系结中的商业逻辑部分,达
到封装源代码,保护知识产权的目的。Internet应用程序大部分属于分布式应用程序,采用
组件技术一个重要特点就是它的处理能力能够随着用户数量、数据量所需性能的提高而增
加。COM的无逢扩展集COM+,有着如内存数据库、负载平衡等强大的功能。
2.3. 三层结构编程要点
在开发三层结构的系统时,应该养成一种好习惯,就是在系统分析或者设计报告中,较
为详细地描述如何解决商业逻辑、如何有效降低数据传递量,以及只使用必要的Round Trip。
只有这样,别人才能与你一起探讨你的解决方案是否合理,是否有更有效的实现方式。同时,
经过不断归纳,提高自己的系统分析能力。
在开发大量用户连接的应用服务器时,多线程技术是必要的,否则当应用服务器在处理
一个用户的请求时,另一用户只能等待,如果这种等待的时间太长了,用户就会对软件失去
宁波工程学院学年论文
- 4 -
信心。还有一个是分布式的概念,你可以根据商业逻辑来切分,开发并发布多个应用服务器
解决不同的商业逻辑;或者你可以将运行应用服务器的多个进程分布在不同的服务器中,并
根据访问流程自动引导用户到合理的应用服务器中。
正是因为三层结构比C/S复杂,所以你要成为三层结构的高手,一定要经过一段较长的
时间和大量项目的锻练。但三层结构体现了一个开发人员与系统人员的专业素质,因为它涉
及太多东西: 技术工具的选型、模块化和组件化思想、前后台功能的分割等等。从真正意义
上来讲,只有三层结构的项目才能完整反映软件项目的每个过程。
4. 结论
本文给出了随着INTERNET普及,基于B/S体系结构开发应用程序变为流行的方式。将组件
技术应用到B/S体系结构中,实现业务逻辑封装,提高软件的可重性和可维护性。
参考文献
[1] 余英 ,梁刚 VC实践与提高COM和COM+篇. 中国铁道出版社。
[2] 林子禹等 基于WEB与组件技术的企业应用系统设计模型 计算机工程与应用 2000.6。
[3] 夏骄雄等 基于Intranet的管理信息系统 小型微型计算机系统 2001、4 。
[4] 楼伟进,应飚.COM/DCOM/COM+组件技术 :计算机应用2000、4。
[5] 张震,张曾科 一种新的WEB数据库系统结构 小型微型计算机系统 2001、5。
Based on B / S architecture development and application
system
Abstract
In this paper, B / S framework for the definition of Browser / Server software architecture development
and application of the characteristics and shortcomings. Made to overcome the lack of a method, and
the preparation of B / S some of the recommendations.
Keywords: Application software servers B / S