两层CS及三层四层的区别

更新时间:2023-09-30 15:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

两层C/S结构,及三层,四层的区别

一个功能强大的客户应用开发语言和一个多用途的用于传送客户请求到服务器的机构是整个两层结构的核心。描述只受客户机的唯一操纵,处理由客户机和服务器共同分担,数据由服务器实施存储和访问。在一个数据存取事件中,数据库引擎负责处理从客户机发来的请求。当今,这种请求所使用的语言大多类似于SQL语言。要把SQL语言从客户机传送到服务器必须能识别服务器的标识符或由一个应用程序接口来完成,还必须知道服务器的位置,数据组织形式以及数据如何定义。在服务器中,请求还将得到存储逻辑和处理上的优化,例如使用权限、数据完整性和保密性等,数据返回后会在客户机上得到处理,以适应进一步的查询、商业应用、预测分析和报表等各种要求。两层结构如图1所示,其主要的处理(逻辑和计算)存在于客户机层。

三层结构是一种先进的协同应用开发程序模型,这种开发模型将传统的两次结构系统中各种各样的部件划分为三层服务,共同组成一个应用程序。这三层分别是:表示层、业务逻辑层(应用服务层)、数据库服务层。这些层并不一定与物理上的分层相对应,而只是概念上的分层,借助这些概念可以开发出强大的应用程序。使用这种方法开发应用程序,开发人员在网络上部署进程和数据时可以有很大的灵活性,从而有利于实行更好的性能、更好的安全性和更方便的维护、升级。表示层(第一层)是客户端服务程序。提供系统的用户接口和各种操作界面,包括数据输入和结果显示,向业务逻辑层请求调用核心业务逻辑服务。业务逻辑层(中间层)即应用服务层。包括业务服务和其他中间服务的部件,是联系用户服务和数据库服务的桥梁,它响应用户发来的请求,执行业务任务,并对相应的数据进行处理,并把数据库返回的结果传给客户层,用户不需要直接与数据库打交道。在实际应用中,中间层可分为多层,因此,该应用模式也称为多层结构。数据库服务层(第三层)提供数据的定义、存储、检索、数据基本的一致性和完整性维护。这种三层结构如图2。

三层与两层的比较: (1)开发工具方面

两层结构的最大优点是开发速度快。多数情况下,利用两层结构可以在相当短的时间内开发出一个适用方便,但不是十分灵活的应用系统。而三层结构目前的开发工具相对而言还不够成熟,需要更复杂的第三代语言用于产生中间层代码。许多工具拥有对服务器不够完善的开发能力,这对信息系统组织进行简化维护工作和促进代码重用的努力来说,是一个潜在的障碍。(2)在网络的流量和系统的反应速度方面由于两层结构主要的处理(逻辑和计算)存在于客户机层,客户端往往过于庞大、负载太重,相当FAT(肥),而服务器一端则相当THIN(瘦),为了完成系统的各种功能,往往不得不从服务器上将大量的数据传送到客户端上再进行各种处理(逻辑和计算),另外,客户与服务器所用到的SQL操作也会加重网络的负担,在这种FAT(肥)Client情况下,系统的反应速度较慢。而三层结构由于数据在发送到局域网之前首先由功能性服务器过滤,网络通信量会因此而下降;多服务请求和复杂数据访问,分散地来自中间层而不是来自客户端,进一步降低了网络的通信量;再者,由于目前个人计算机客户端被定位为描述层的最低端,使得对内存和外存容量的需求得到缓解。(3)可移植性方面由于两层结构的客户机开发工具和SQL中间层软件也是高度专业化的,同时由于个人计算机开发工具市场正在爆炸性地增长,使得C/S工具市场正处在一种不稳定的成长状态之中。从一种专用技术向另一种专用技术的转移意味着原有投资的巨大浪费,因为不同的工具之间的代码是互不兼容的。而三层结构中按标准化设计的组件可以被多个应用重复使用。可重用逻辑降低了二次开发的劳动强度,减轻了维护工作的负担,并能节省当客户应用变化时的移值开支。(4)安全性方面 由于在两层结构中一个用户可以为每个SQL服务器存取申请一个独立的口令,这使得系统保密性在C/S环境中变得非常复杂。终端用户查询工具的增加也使得数据库服务器的保密性降低。而当今开发的大多数C/S的应用都没有设置复杂的中间层来提高保密性。取而代之的却是终端用户获得一个用户数据存取的密码。在大多数情况下,这样的密码可以用于不同的数据存取工具访问数据,而在三层结构中,使用了例如开放式软件组织的分布式计算环境(OSF/DCE),在中间层的功能服务器中提供的加密核心技术较好地克服了以上两层结构中的安全性问题。(5)灵活性和独立性方面 在三层结构中,从客户机到服务器RPC调用比两层结构SQL调用具有更大的灵活性。这是因为在RPC中,进行请求的客户端只需简单地传送基本要求给请求,并选择专用的机构来接收返回值就可以了。不像大多数两层结构那样,三层结构的描述层客户机不需要使用SQL。因此,后端数据的组织、命名、甚至所有的结构,都可以直接转换而无须转化成基于个人机的形式。由于SQL不再必不可少,数据可以组织成层次型、关系型或对象型格式,并使新数据库技术的学习变得简单易行。由于整个处理被高度分离到三层逻辑组成部分中,改变任一层的逻辑都不会影响到其它二层的逻辑变化,这种分离为GUI的设计带来了极大的灵活性,并使软件具有很高的独立性

(Softw:LreIndePendenee)。(6)资源的动态定位及其它方面三层结构提供了比两层结构更灵活的资源定位。中间层功能性服务器具有高度的可移植性,可以被动态地定位,并随着组织需求的改变而变化。

本文来源:https://www.bwwdw.com/article/kofd.html

Top