表示层是应用程序的用户界面和通信层,最终用户在此与应用程序进行交互。 其主要目的是向用户显示信息并从用户收集信息。 此顶级层的运行方式多样,例如,可以在 Web 浏览器上运行、作为桌面应用程序运行,或者作为图形用户界面 (GUI) 运行。 Web 表示层通常使用 HTML、CSS 和 JavaScript 开发。 可根据平台以各种不同语言编写桌面应用程序。
应用层,也称为逻辑层或中间层,是应用程序的核心。 在这一层,通过业务逻辑(即一组特定的业务规则)来处理表示层中收集的信息,有时还包括数据层中的其他信息。 应用层还可以添加、删除或修改数据层中的数据。
应用层通常使用 Python、Java、Perl、PHP 或 Ruby 开发,并使用 API 调用与数据层通信。
数据层有时称为数据库层、数据访问层或后端,用于存储和管理应用程序所处理的信息。 这可以是关系 数据库管理系统,例如 PostgreSQL、MySQL、MariaDB、Oracle、DB2、Informix 或 Microsoft SQL Server,也可以是 NoSQL 数据库服务器,如 Cassandra、CouchDB 或 MongoDB。
在三层应用程序中,所有通信均通过应用层进行。 表示层和数据层无法直接相互通信。
在讨论三层架构时,“layer”(层)与“tier”(层)通常被错误地互换使用,比如“表示层 (presentation layer)”或“业务逻辑层 (business logic layer)”。
这两者并不相同。 “层 (layer)”是指软件的功能分区,而“层 (tier)”则是指在基础架构上运行的独立于其他分区的软件功能分区。 例如,手机中的“联系人”应用是一个三层 (layer) 应用程序,但又是一个单层 (tier) 应用程序 ,因为三个层 (layer) 都在您的手机上运行。
这一区别很重要,因为层 (layer) 无法提供与层 (tier) 相同的收益。
同样,三层架构的主要优势在于其逻辑功能和物理功能的分离。 每一层都可以在最能满足其功能需求的单独操作系统和服务器平台上运行,例如 Web 服务器、应用程序服务器或数据库服务器。 每一层均在至少一个专用服务器硬件或虚拟服务器上运行,因此可以对每一层的服务进行定制和优化,而不会影响其他层。
其他优势(与单层或双层架构相比)包括:
在 Web 开发中,层具有不同的名称,但执行类似的功能:
虽然三层架构很容易成为采用最广泛的多层应用程序架构,但是工作或研究中还可能会遇到其他架构。
两层架构是原始的客户机/服务器架构,由表示层和数据层组成;业务逻辑位于表示层和/或数据层上。 在两层架构中,表示层(以及最终用户)可以直接访问数据层,并且业务逻辑通常会受到限制。 简单的联系人管理应用程序便是一个双层应用程序的例子,用户可以在其中输入和检索联系人数据。
N 层架构也称为多层架构,是指任何具有多个层的应用程序架构。 但是,三层以上的应用程序很少,因为多出的层不会带来多少益处,但却会让应用程序运行更慢、更难管理且运行成本更高。 因此, N 层架构和多层架构通常指的是三层架构。
通过在 Red Hat OpenShift 软件上运行的 IBM Cloud Pak® 解决方案更快迁移到云端 - 这些是经过 IBM 认证的集成、开放、容器化的解决方案。
利用 IBM Cloud® 无缝实现 VMware 工作负载和应用的现代化。
实现现代化、构建新应用、降低成本并实现 ROI 最大化。