C/S、B/S架构模式的三层结构特点分析
C/S架构和B/S架构:
C/S(Client/Server)结构分为客户端和服务端两部分。服务端存储数据库内容,并在客户端上安装相应软件。C/S 结构按照架构分为双层结构和三层结构。
双层结构中的表示层和业务逻辑层部署在客户端,主要提供用户界面,接受用户提交的请求,并将用户请求发送至服务端,申请数据库服务。数据层则部署在服务端,负责数据库的业务处理,包括查询数据库、排序、索引等操作,对数据进行处理后将结果返回客户端。随着信息技术的发展,软件复杂性也在不断提高,传统的双层 C/S 结构存在很多局限性,如客户端负载重、服务器的性能无法满足要求等。此外,一旦系统需求发生变化,客户端和服务端的应用程序都需要变更,给维护和升级带来极大不便。
B/S(Browser/Server)架构,即浏览器/服务器结构。Browser客户端是指Web浏览器。在
B/S架构中,主要业务逻辑在服务器端实现,极少数事务逻辑在浏览器中实现,减轻了客户端的压压力。因此,B/S架构被认为是瘦客户端。B/S架构的系统无须特别安装,只有Web浏览器即可。同时,B/S架构较C/S架构的应用维护和升级有较大的便利。
三层架构:
为了满足更大规模的客户机群和服务器群的业务需求,开发了一个三层体系结构,分为表示层、业务逻辑层、数据层,将双层结构中客户端的业务逻辑层迁移出来,客户端只保留表示层。
表示层:主要完成用户与应用程序之间的交互,包括接受用户输入的数据,显示应用的输出结果。在此层中,通常不包括系统的业务逻辑,逻辑代码仅与界面元素有关。如分页显示、图片轮播等。
业务逻辑层:负责实现应用/业务的主要功能,当前端需要进行数据访问和其他操作时,前端向业务逻辑层发送请求,由业务逻辑层向数据库发送请求完成数据查询等,并在前端和服务端之间传输数据。
数据访问层:是系统的持久层,负责对数据库的读写及管理。
三层架构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被页面显示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在页面显示层。在三层架构之间,通过派生类去实现接口;通过调用派生类的方法和属性,三层之间实现相互调用。三层设计的优势为:高内聚低耦合、标准定义、逻辑复用、分散关注。高内聚低耦合降低了层与层之间的依耐性,提高了复用性。同事,明确了开发人员的分工,提高了软件项目的开发速度。
B/S三层架构的特点:
随着网络技术的发展,特别随着 Web 技术的不断成熟,B/S 这种软件体系结构出现了。
B/S(Browser/Server)架构也被称为浏览器/服务器体系结构,这种体系结构可以理解为是对 C/S
体系结构的改变和促进。由于网络的快速发展,B/S 结构的功能越来越强大。这种结构可以进行信息分布式处理,可以有效降低资源成本,提高设计的系统性能。
B/S 的特征和基本结构:在 B/S 结构中,每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际物理网络进行不同的物理划分。
浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。
服务器端:提供数据服务,操作数据,然后把将结果返回中间层,结果显示在系统界面上。
中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。
C/S 结构作为目前比较成熟的技术,虽然有着能处理大量数据、响应速度快和交互性强等优点,但其在很多方面依然有所局限性。比如,每台客户端都需要安装相应的客户端程序,无法实现快速部署的安装和配置,缺乏通用性。此外,其结构的方案需要有针对性的开发,且变更不够灵活,难以维护和管理。
相比之下 B/S 架构是有更广的应用范围,在处理模式上大大简化了客户端,用户只需安装浏览器即可,而将应用逻辑集中在服务器和中间件上,可以提高数据处理性能。在软件的通用性上,
B/S 架构的客户端具有更好的通用性,对应用环境的依赖性较小,同时因为客户端使用浏览器,在开发维护上更加便利,可以减少系统开发和维护的成本。