- 9
- 0
- 约5.93千字
- 约 9页
- 2018-04-18 发布于湖北
- 举报
【doc】基于Web的三层C/S模型及其实现
基于Web的三层C/S模型及其实现
1引言
在二层c/s(Client/Server)体系结构中,客户端央
现用户界面和应用逻辑,服务器端实现数据库系统的管
理.与基于主机的体系结构相比,这种二层结构具有许
多优点,但随着系统
规模的不断扩展和应用复杂程度的增加,也逐渐显
露出以下不足
(1】由于应该由各个客户端共同遵守的系统应用逻辑
只能在客户端程序中实现,导致客户端庞大,适应系统
应用逻辑调整的灵活性降低.
(2)因为客户端与数据库服务器的连接只能在各个客
户端单独配置和维护,当客户机数量增大时系统的维
护管理将变得困难.
多层C/S体系结构较好地解决r这些『题.多层结构
的基本思想是在客户端和数据库服务器端之间增加适当得
中间层,将系统应用逻辑以及与远程数据库服务器的旌接
封装在这些中间层中,从而避免了二屡体系结构中由各个
客户端程序单独实现应用逻辑而产生的冗余,使得客户瑞
程序不仅瘦小,而且因不用涉及数据库连接配置等设置问
题而更容易发布和安装应用逻辑在应用服务器卜实现,
减少了网络数据的传输量,降低了网络的负荷.
一
个典型的三层c/s数据库应用程序通常划分为以
下三个层次:
①客户端程序(ClientApplication);提供客户端的
用户界面.
@应用服务器(ApplicationServer)向所有的客
户端提供公共的数据服务(实现公共的应用逻辑,实
与远程数据库的连接和访问等).
③远程数据库服务器(RemoteDatabaseServer)
提供关系式数据库管理系统.
2基于Web的三层客户机/服务器模型
lntemet的WWW服务采用的是浏览器,服务器(B,
S)模型,如果只是从w曲服务器返回静态的贞面,刚它
实质上也是一种二层的C/S模型.一端是Web客户,另
一
端是Web服务器,客户通过浏览器向w曲服务器发出
HTTP请求,服务器响应客户的请求并把HTIPI~N应的结
果返回给客户
但在许多实际的Web应用中,需要Web客户与w曲
服务器进行交互,Web服务器能够根据客户的请求访问
数据库服务器,井把结果以动态页面的方式反馈给客户
这就需要把三层C/S模型与Web技术结合起来,使Web
服务器同时具有应用服务器的功能,建立如图l所示的基
于w曲技术的三层结构C/S模型:
客户层应用逻辑层敲据层
图l基于w曲的三层C/S模型
第一层:Web社I览器,实现客户界面.
第二层兼有应用服务器功能的Web服务器,响应
客户请求,实现应用逻辑,完成对数据库的连接和访问.
第三层数据库服务器,实现数据库的管理.
在这种基于Web技术的三层结构C/S模型中,客户
端由于统一采用Web浏览器(正或Navigatorj而成为真
正的瘦客户,系统的应用逻辑需要调整时,只要对Web
服务器进行升级,对客户端和数据库服务器儿乎没有影
响.从而极大地提高了系统的灵话性和可维护性
3基于Web的三层客户机/服务器的实现
实现上述模型的关键在于使用ISAPI对web服务器
的功能进行扩展,使之同时承担应用服务器的职能.
31ISAPI的基本结构和工作机理
在Delphi环境中,利用Microsoft的ISAPI([ntemet
ServerAPI)可方便地实现对web服务器的扩展.ISAPI
是以DLL的方式在第一个客户请求服务时加载到Webl~
务器的进程空间,从而成为Web服务器软件的个有机
组成部分一个ISAPI的DLL可以处理多个客户请求,多
个ISAPI的DLL可以同时加载到web服务器的进程空间,
这些特征使它I:LCGI具有更高效率图2给出了在Delphi
5中利用ISAP[对Web服务器进行扩展后的结构.
,
罔2利用ISAPI对w曲服务器进行扩展后的
应用屠逻辑结构
Delphi5建立的ISAPIDLL主要由WebApplication
和WebModule两大模块组成.
WebApplication是TWebApplication类的对象,它的
主要功能是管理客户的请求信息和Web眼务的l旦1应信
息.在收到一个客户的HTML请求时WebApplication
刨建一个存储这些请求信息的TWebRequest对象和一个
准备存储回应信息的TWebResponse对象,然后将这两个
对象传递给WebModule.
WebModule是TWebModule类的对象,其主要功能
是调度控制ISAPI执行流及实现应用逻辑.它管理着为
实现业务规则及数据库访问而添加的各种对象,特别要
强调的是WebModule含有一组TWebActionltem对象,每
个TWebActionhem对象负责响应和处理一种客户的请求
服务,它的Pathlnfo属性给出了提供这个特定服务的人
口.}}j此一个ISAPIDLL能够处理多个
原创力文档

文档评论(0)