例如,我想说的典型 Web 应用程序有一个前端(浏览器中显示的内容)以及在应用程序服务器上运行的实际应用程序逻辑和一个数据库。 这可以称为 3 层,因为有数据库服务器、应用程序服务器和客户端计算机。 然而,同样容易的是,我们可以指数据库层、逻辑层和表示(或 UI)层。
People often use the two terms interchangably in that they can describe an architecture as being both multi-layered and multi-tiered. My take on it is that generally a tier refers to some physical separation while a layer is more of a logical separation.
For example, a typical web application I would say has a front end - what's displayed in the browser - and the actual application logic running on the application server, and a database. This could be referred to as 3 tiered, since there is a database server, an application server and the client machine. Just as easily, however, one may refer to the database layer, the logic layer and the presentation (or UI) layer.
N 层是指系统的“分布式”层(即服务器和客户端),而 n 层是指独立程序中的层; 尽管两者经常互换使用,但有些人认为存在显着差异(就像我上面提到的那样),如 多层架构 和 Wikipedia 上的多层架构 解释区别。
N-tiered refers to the "distributed" layers of a system (i.e. server and client), whereas n-layered refers to the layers in a self-contained program; although the two are often used interchangeably, some suggest that there is a significant difference (like the one I mentioned above), as seen on the first paragraphs on Multitier architecture and Multilayered architecture on Wikipedia explains the difference.
* Client (GUI and Web): GUI directly interacts with web tier. Web uses browser, applets to interact with web server through HTTP. Responsible for direct presentation and interaction with user.
* Web components: processes web requests. Acts as mediator between clients and business components.
* Business: (solves domain-specific) business problems. The abstract business logic processing happens in this tier.
* Integration and Resource: handles connectivity with data stores and other (legacy) systems.
Java EE 系统的各层
* Virtual platform (component APIs): used to implement/support business logic. API Components include: JavaBeans, Java Servlets, JavaServer Pages/Faces, Java Message Service API, Java Transaction API, etc.
* Application infrastructure (container): responsible for executing the application. Also provides services like: security, transactions, JNDI, and other connectivities.
* Enterprise services (OS): responsible for the execution environment of the application infrastructure. Provides computing time and access to (abstract) hardware.
* Compute and storage: the hardware or physical server. Provides computing power for the OS.
* Networking infrastructure: responsible for networking services.
This SCEA Study Notes explains the JEE differences between tiered and layered architecture
Tiers of a Java EE System
* Client (GUI and Web): GUI directly interacts with web tier. Web uses browser, applets to interact with web server through HTTP. Responsible for direct presentation and interaction with user.
* Web components: processes web requests. Acts as mediator between clients and business components.
* Business: (solves domain-specific) business problems. The abstract business logic processing happens in this tier.
* Integration and Resource: handles connectivity with data stores and other (legacy) systems.
Layers of a Java EE System
* Virtual platform (component APIs): used to implement/support business logic. API Components include: JavaBeans, Java Servlets, JavaServer Pages/Faces, Java Message Service API, Java Transaction API, etc.
* Application infrastructure (container): responsible for executing the application. Also provides services like: security, transactions, JNDI, and other connectivities.
* Enterprise services (OS): responsible for the execution environment of the application infrastructure. Provides computing time and access to (abstract) hardware.
* Compute and storage: the hardware or physical server. Provides computing power for the OS.
* Networking infrastructure: responsible for networking services.
发布评论
评论(3)
人们经常互换使用这两个术语,因为他们可以将架构描述为多层和多层。 我的看法是,通常层指的是某种物理分离,而层更多的是逻辑分离。
例如,我想说的典型 Web 应用程序有一个前端(浏览器中显示的内容)以及在应用程序服务器上运行的实际应用程序逻辑和一个数据库。 这可以称为 3 层,因为有数据库服务器、应用程序服务器和客户端计算机。 然而,同样容易的是,我们可以指数据库层、逻辑层和表示(或 UI)层。
People often use the two terms interchangably in that they can describe an architecture as being both multi-layered and multi-tiered. My take on it is that generally a tier refers to some physical separation while a layer is more of a logical separation.
For example, a typical web application I would say has a front end - what's displayed in the browser - and the actual application logic running on the application server, and a database. This could be referred to as 3 tiered, since there is a database server, an application server and the client machine. Just as easily, however, one may refer to the database layer, the logic layer and the presentation (or UI) layer.
N 层是指系统的“分布式”层(即服务器和客户端),而 n 层是指独立程序中的层; 尽管两者经常互换使用,但有些人认为存在显着差异(就像我上面提到的那样),如 多层架构 和 Wikipedia 上的多层架构 解释区别。
N-tiered refers to the "distributed" layers of a system (i.e. server and client), whereas n-layered refers to the layers in a self-contained program; although the two are often used interchangeably, some suggest that there is a significant difference (like the one I mentioned above), as seen on the first paragraphs on Multitier architecture and Multilayered architecture on Wikipedia explains the difference.
JEE 差异
此SCEA 学习笔记解释了分层架构和分层架构之间的 Java EE 系统
Java EE 系统的各层
This SCEA Study Notes explains the JEE differences between tiered and layered architecture
Tiers of a Java EE System
Layers of a Java EE System