单层、双层、三层、多层
IT行业的一大特点是经常创造一些新名词,单层和双层这两个概 念就是在三层结构出现之后才创造出。
单层结构是80年代以来小型应用的结构,典型的是基于Dbase、Foxbase等小型数据库的应用。
双层结构的同义词可以理解为传统的客户/服务器结构,是目前占统治地位的结构,典型是基于Oracle、Infomix等大型数据库的应用。
三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web下的应用。
多层结构和三层结构的含义是一样的,只是细节有所不同。
之所以会有双层、三层这些提法,是因为应用程序要解决三个层面的问题。
一:界面层
界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户有会看到机密的信息。
二:逻辑层
逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。
三:数据层
数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等。
三层架构的优势
从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。
三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对机器的要求太高。我的机器是奔腾133、32M内存、2.5G硬盘,装了IE4.0之后,感觉机器慢子很多,硬盘也只有300多M的空余空间了,已打算将硬盘扩充到4G。试想如果今后还是以单层或双层峁刮主流的话,硬件的更新费用将会有多大,尽管现在电脑价格下降很多,对个人用户已可以承受,但对于企业而言,频繁的台旧机器淘汰,换新机器,这是一笔多么大的费用。
三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。美国人曾利用分式计算解密,几个月就破解了据称永远都破不了的密码。
三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
如何开发三层应用
支持三层应用开发的工具很多,VC 5.0、Delphi 3.0、VB 5.0都是不错的选择,而Delphi是其中功能强大而有相对容易的开发工具。
Delphi 3针对3层结构,提出了三种代理(Broker)和新一代的数据库引擎,来适应它。
第一种叫Remote Data Broker, Remote Data Broker结构的精髓是让每一个客户端不再需要BDE,取面代之的是中央化的BDE,以集中管理的方式降低每一个客户在BDE上所须调整的开销和复杂度。第二种叫Constraint Broker,它所扮演的角色就是保证所有客户数据的一致性和数据的完整性。第三种是Business Object Broker,它的目的是提供给一些关键性的商业应用程序一个快速而且可信赖的使用环境。为了达成这种高层次的要求,BusinessObjectBroker会自动的将应用程序做适当的划分,并复制重要的业务规则到第一个区间,以达到速度的要求
总结
伴随着企业自身的发展和外部环境的复杂化,企业的需求也越来越复杂,应用程序的开发也更加困难。三层客户/服务器架构将有助于解决这一问题。