三层网络体系结构的特点

时间:2024-03-10 16:27:00

   一、前    言
  随着网络技术在各行各业的深入应用,IT行业又出现了一种低费用、低管理开销、并享有Client/Server计算模式优点的新型体系结构———三层网络体系结构。如果把C/S体系结构称为“胖客户机/服务器”计算模式,那么三层体系结构可以称之为“瘦客户机/服务器”计算模式。
  二、技术特点
  三层(或多层)结构的特点是在两层结构的基础上加入一个(或多个)中间件层。它将 C/S体系结构中原本运行于客户端的应用程序移到了中间件层,客户端只负责显示与用户交互的界面及少量的数据处理(如数据合法性检验)工作。客户端将收集到的信息(请求)提交给中间件服务器,中间件服务器进行相应的业务处理(包括对数据库的操作),再将处理结果反馈给客户机。
  与传统的C/S体系结构相比,三层体系结构存在如下优点:
  1.客户端零维护
  在三层体系结构中,几乎所有的业务处理都是在中间件Web Server上完成的,客户端只需要安装支持Java的浏览器即可,不用做任何其它安装和配置工作,所以也就不存在客户端维护的问题,真正实现了“客户端零维护”。处理业务时,操作员可以直接通过Web浏览器访问Web Server进行业务处理工作。
  2.可扩展性好
  三层体系结构的可扩展性好体现在以下四个方面:
  第一,工作节点的可扩展性好。由于三层体系结构的客户端零维护的特点,使增加一个工作节点的工作简单到了只需增加一台装有Web 浏览器的PC机即可。
  第二,应用系统的可扩展性好。好的应用系统应该能方便地实现一定程度上业务的变化和业务单元的增加。三层体系结构采用面向对象的分析和设计模式,将业务模块都封装到了业务类和服务类中,所以如果一个业务流程变了,或需要增加一个新的业务模块,只需替换或增加新的业务类和服务类即可。
  第三,业务逻辑与用户界面及数据库分离,使得当用户业务逻辑发生变化时只需更改中间层的控件/组件/JB/EJB即可。
  第四,便于数据库移植。由于客户端不直接访问数据库,而是通过一个中间层进行访问,所以在改变数据库、驱动程序或存储方式时无需改变客户端配置,只要集中改变中间件上的持久化层的数据库连接部分即可。3.安全性好
  在三层体系结构中,客户端只能通过Web Server而不能直接访问数据库,这大大提高了系统的安全性。如果对系统提出更高的安全性要求的话,还可以通过防火墙进行屏蔽。
  4.资源重用性好
  由于将业务逻辑集中到Web Server统一处理,三层体系结构可以更好地利用共享资源。例如数据库连接是一项很消耗系统资源、影响响应时间的事件,在三层体系结构中可以将数据库连接放在缓冲池中统一管理,由不同应用共享,并有效控制连接的数量。
  三、组成结构
  三层结构主要由如下三部分组成:
  1.客户端
  客户端的主要任务是显示用户界面,接收用户事件。三层体系结构中,用户界面通过浏览器显示,Web Server将应答最终以HTML为载体下载到客户端浏览器,经浏览器(如IE、NetScape)进行解释,得到最终的用户界面。从技术的角度划分,客户端程序由以下几部分组成:
  (1)HTML
  HTML是所有界面元素的载体,标题、正文、Table、Form、Script程序段、Applet、ActiveX Control……所有这些都是通过<标识></标识>嵌在HTML中的。HTML是各种浏览器的通用语言,界面上的一切对象都要嵌入到HTML中才能被浏览器所解释。
  (2)CSS
  对CSS的翻译,国内不同文献有不同的解释,比较通用的解释是"层叠风格表单"。层叠风格表单的标准是由W3C组织制定的,目前市面上各个浏览器普遍支持的是CSS1标准。
层叠风格表单定义了一个文档元素的显示特性。HTML标识符所包含的每一个元素都可以被定义到一个或多个内容显示的设置。从功能上讲,CSS可以细分为CSS1/2和CSS-P(层叠风格表单定位)。

CSS1/2的作用是设置文档元素的颜色、字体等显示特性;CSS-P的作用是设置文档元素在页面上的精确位置。
  对于创建一个中型或大型企业的管理信息系统,这样大规模的基于Web Server的系统来说,使用CSS是一个理想的选择。它可以有效地保证所有页面呈现统一的显示风格,同时也能减少大量编码工作。
  (3)Script
  Script是指某一种脚本语言,目前主要有JavaScript和VBScript两种通用的脚本语言。由于网景的Netscape不支持VBScript,所以要想编写跨浏览器的脚本程序,JavaScript是唯一的选择。从功能上讲,Script可以分为客户端脚本和服务端脚本,由于在三层体系结构中,服务端的控制和应答由Servlet和JSP完成,所以系统只使用客户端脚本。
客户端脚本的主要作用是:
      1)检查录入数据的合理性,充当过滤器的作用,保证提交给Web Server的数据是合法的;
      2)结合业务规则,控制界面元素的显示特性;
      3)在必要情况下进行cookie操作。
  (4)Object
  Object是嵌入HTML中的外来对象,常用的Object有两种:Java Applet和MS ActiveX Control。当系统对界面的灵活性及功能的需求超出了HTML和Script的实现范围时,开发者往往会考虑到Object技术。
  Applet是运行于客户端的Java小应用程序,随包容它的页面一起下载到客户端,由支持Java的浏览器(带有Java虚拟机)解释并运行。
ActiveX Control的作用类似于Applet,所不同的是它只能运行于Windows平台的客户端,而且只在第一次访问包容ActiveX Control页面时下载并安装ActiveX Control,直到服务端的ActiveX Control版本升级了才会下载第二次。
  2.中间件服务器
  中间件服务器由Web Server和Java Application Server两部分组成,有的中间件将这两部分集成到了一起。
  (1)Web Server
  HTTP Server使用基本的服务器构架,它在启动时创建自己的服务处理线程池。在线程处理池中的线程进入循环,监听来自客户端的HTTP请求,并使用HTTP协议,对来到的HTTP请求进行处理。所有的HTTP连接都传给它们。HTTP请求到来后,服务处理线程根据URL和Server的配置信息进行必要的授权检查,决定调用哪个Servlet来处理请求,然后将Servlet处理之后的结果作为应答反馈给客户端。
  在HTTP Server中有几个处于核心地位的Servlet,它们提供标准的HTTP功能。这几个核心的Servlet分别是:
  File Servlet:用于处理对文件服务的请求;
  Cgi Servlet:提供基本的CGI功能;
  Invoker Servlet:作为一个元Servlet(meta-servlet),负责其它Servlet的加载、击活和删除;Dispatcher Servlet:间离部分可信和完全可信的Servlet,使它们在各自安全的“沙箱”里执行。
  网络应用级协议有多种,如HTTP、FTP、SMTP等,其中HTTP协议是最安全、应用最广的协议,HTTP请求是被防火墙视为安全的请求。因此,三层结构中间件都带有HTTP Serv-er,它是三层结构中间件的门户,是联系客户端和真正处理业务的Application Server的桥梁和纽带。
  (2)Java Application Server
  Application Server是中间件的核心部分,是真正实现业务功能的服务,它接受HTTP Server分配的请求,做出相应处理,再将处理结果传递给HTTP Server,由HTTP Server形成HTTP应答反馈给客户端。
  3.数据库服务器
  数据库服务器是业务对象的属性得以永久性保存的载体。保证对象持久的最直接的方法是使用面向对象的数据库管理系统,它是专门为存储和共享对象而设计的。目前,大型三层体系结构应用系统中用的较多的关系型数据库有Or-cale、DB2、Sysbase等。