三层体系
1.0 定义和目的
3层体系的程序是指那些通过3个分离的层次组织起来的应用程序。这三个层次分别被称为:
• 表示层
• 逻辑层
• 数据层
其中的每一层都可以配置在同一个网络中的地理上分离的计算机上。有些架构师为了增加系统的灵活性和透明度,将逻辑层划分为两个子层:业务应用子层和数据访问子层。这两层也可以分别配置在不同的机器上。层间交互有一个特点,每个层都只能与和它相邻的层进行通讯。例如,表示层只能与业务应用层直接通讯,而不能与数据访问层或者数据层直接通讯。 
图 1  (一个典型的3层体系)图1描绘了一个典型的3层体系。我认为,我们应该回顾一下程序架构的历史,这样有助于理解3层体系的优点。
在上一世纪80年代,大型机统治着IT领域。单层架构的主要特点就是应用程序和数据库运行在同一台主机上,用户使用一个不友好的终端同主机交互。但是,这种大块头的单层架构不支持分布式计算(主机上的应用程序不能连接到其它机器上的数据库),而且,一些管理者们发现开发这样一个程序花费了太多的时间和金钱,因此,人们提出了C/S(客户/服务器)模式,希望能克服这些缺点。