【doc】基于Web的三层C/S模型及其实现.docVIP

  • 9
  • 0
  • 约5.93千字
  • 约 9页
  • 2018-04-18 发布于湖北
  • 举报

【doc】基于Web的三层C/S模型及其实现.doc

【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)

1亿VIP精品文档

相关文档