三层结构主要由如下三部分组成:
  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等。

 节选自 《浅议三层网络体系结构的特点》 作者:许晓茹