什么是三层架构?优缺点有哪些?

作者:fr

发布时间:2023.8.22

阅读次数:9,544 次浏览

什么是三层架构?

三层架构是一种在应用程序中用作特定类型的客户机——服务器系统的体系结构模式。它将体系结构分为三层:数据层、应用层和表示层。

三层架构是指逻辑三层系统,而不是物理3层系统。它在客户端和数据库之间添加了一个“中间层”。系统的主要功能和业务逻辑都在中间层处理,也就是应用层。

三层架构中的三层

表示层

表示层占据应用程序的顶层。它将内容发送到网络开发框架中的浏览器,如CSS、HTML或JavaScript,并以图形用户界面(GUI)的形式显示信息,允许用户直接访问。它通过API调用将结果输出到浏览器和其他层,从而与其他层进行通信。

应用层

应用层也称为业务逻辑层、逻辑层或中间层。通过处理应用程序的业务逻辑,它在表示层和数据层之间建立了一个桥梁,使表示层和数据层之间的通信更快。

应用层通常用C#、Java、C++、Python、Ruby等编写。

数据层

数据层由持久存储机制和数据层组成。它支持与数据库连接,并根据我们的输入的数据执行插入、更新、删除、从数据库获取数据等操作。

三层架构中的规则

核心规则:表示层只是一个外壳,不能包含任何biztalk的处理。

设计应该从应用层而不是表示层开始。应用层的应用编程接口应该以面向对象的方式在应用编程接口上实现所有的BizLogic。

无论数据层是简单的SqlHelper还是带有映射的类,都要确保它独立于抽象系统层。

无论你使用的是COM+(EnterpriseService)、Remoting还是像WebService这样的远程对象技术,无论你是否在服务器上部署它,你都必须考虑在你的设计中通过负载平衡来群集多个服务器

总而言之,在考虑一个项目是否符合三层或多层设计的应用程序时,有必要找到它是否符合项目的要求。

使用三层架构的优缺点是什么?

优点:

它减少了层与层之间的依赖性。因此,只要遵循接口标准,使用对象模型的相同实体类,就允许不同的开发人员在每一层上工作,可以显著提高系统的开发速度。

每一层都可以重新开发或现代化,而不会影响三层架构中的其他层。因此,缩短了上市时间,并降低了将新功能集成到软件即服务(SaaS)、云和内部应用程序中的成本。

它易于维护,不会影响其他模块,从而显著降低维护成本和维护时间。

表示层不直接访问数据层,只与业务逻辑层连接,提高了数据安全性。

缺点:

它会降低系统性能。没有层次结构,企业可以直接去数据库获取数据,但现在他们必须通过中间层。

三层架构有时会导致级联变化,尤其是在自上而下的方向上。如果你需要在表示层添加一个特性,你可能需要在业务逻辑层和数据层都添加代码,以确保设计是分层的。

三层架构示例

以FineReport为例,帮助你更好地理解三层架构。FineReport是采用三层架构的报表软件。

三层架构,数据层,表示层,应用层,三层架构优点

FineReport的数据层负责数据管理,包括数据采集、ETL、建立数据仓库等。它支持多数据源和数据集成。

FineReport的应用层负责主要功能和业务逻辑。在这一部分中,作为企业报告工具,它支持报告设计、报告生成和报告管理。

在表示层,FineReport可以在PC、手机和电视屏幕上自适应地显示报告和仪表板,因为FineReport中的图表是由HTML5开发的,可以跨平台使用,适应网页设计,并支持即时更新。

例如,当你想要基于存储在CRM中的销售数据创建销售报告时,表示层向数据层发送API调用,而FineReport的数据层运行查询并将结果返回给应用层,应用层将其格式化为网页。然后,页面被发送回浏览器,在浏览器中,表示层在笔记本电脑或其他设备上显示报告。

使用三层架构,你只需在报表设计者的计算机上安装设计者,然后将项目部署到服务器上。只要计算机上有浏览器,其他用户就可以直接访问该报告。

三层架构,数据层,表示层,应用层,三层架构优点

一旦报表需求发生变化,通过切换工作目录或者直接在远程服务器上编辑报表文件,在本地设计然后发布到远程服务器上,非常方便。

这样对于公司来说,只需要部署一次项目,然后就可以直接远程设计,使得迁移报表更加方便,提高了效率。

比如,目前市面上很流行的帆软公司的软件——finereport,功能算是前沿的,可做BI报表和大屏,内置了10+行业解决方案和几十种可视化大屏模板demo,即便没有专业的技术也照样可以完成。功能比较全面,包括数据整合、建模、分析、制作图表。很适合企业使用,难度不算太大,而效果也不错。

而数据集成平台FineDataLink可以集成FineReport,帮助企业更好地利用FineReport提供的报表分析功能,实现多源数据的整合与展示,快速生成各种数据报表和仪表板,从而更好地展示数据的价值和潜力。FineDataLink除了提供更为高效的报表分析支持外,还能够帮助企业实现数据的高效整合和管理,提高数据质量和数据一体化的管理水平,进而为企业提供更高效、精准的数据展示和决策支持。

fdl-免费试用

数据集成平台产品更多介绍:www.finedatalink.com

                         

上一篇: 下一篇: