三层架构的优点和缺点
3 层应用程序架构是一种模块化的客户端-服务器架构,它由表示层、应用层和数据层组成。表示层是一个与其他两个层交互的图形用户界面 (GUI);数据层存储信息;应用层管理逻辑。
3 层架构在提高水平可扩展性、性能和可用性方面具有优势。当存在三个层时,每个组件都可以由一个单独的程序员团队使用与其他层开发人员不同的编程语言同时生成。3 层范式使组织或软件打包商能够更轻松地随着新需求和机会的出现不断扩展应用程序,因为可以修改或重新定位一层中的编程而不会影响其他层。
三层架构的优点
以下是三层架构的主要优点
数据完整性得到增强。在这里,第二层是所有更新的信息传递的地方。它可以确保只有关键数据才能被允许在数据库中更改,从而消除不可靠的客户端应用程序破坏数据的可能性。
由于客户端无法直接访问数据库,因此安全性得到增强,因为客户端更难以收集未经授权的数据。由于业务逻辑保存在安全的中央服务器上,因此它更安全。
应用程序可以使用易于扩展的组件来利用启用系统的模块化架构,从而提高可用性。
由于任务的分离,网页设计师处理表示,软件工程师处理逻辑,而数据库管理员处理数据模型。
每个层都独立于其他层,允许进行更新或更改而不会影响整个程序。
在业务层中定义的任何代码都可以被表示层中的任意多个组件共享,只要存在业务层组件即可。
只有必要的业务层方法可以在表示层中显示。
在更新数据库之前,可以在应用程序层检查或确认呈现的数据。
请求者通常看不到数据库的实际结构,这使得任何数据库更改都变得透明。因此,即使底层数据库结构发生更改,与其他应用程序交换数据的中间层进程也可以保持其当前的用户界面。
三层架构的缺点
以下是三层架构的缺点
三层结构使得开发人员难以以满足移动用户需求以及运营团队按需扩展或缩减服务所需的敏捷性和灵活性来更新应用程序。
具有三层设计的应用程序在应用程序开发过程的不同阶段的敏捷性较差。尽管应用程序的功能可能被分解成模块,但更改其中任何一个模块都意味着需要重建和测试整个应用程序。这可能需要大量工作。
需要对面向对象的概念有深入的了解。
由于创建 3 层应用程序比创建 2 层应用程序需要更多工作,因此它比 2 层客户端-服务器计算模型更复杂。有两个额外的通信来源。
可能需要一个单独的代理服务器。
不支持对数据工具的分布式或远程访问。
有时代码的单片性质会增加维护部分。
在构建 3 层应用程序时,通常应实现更多工作,因为接触点数量增加。
提高性能需要更多工作,而 2 层模型可以使用自动化工具处理特定任务。
由于大部分应用程序逻辑由客户端控制,因此在管理软件版本和分发更新版本时会出现问题。