N-Tiered vs N-Layered architecture/design [closed]

情到浓时终转凉″ 提交于 2019-11-27 16:07:42

问题


What does it mean by N-Tiered and N-Layered architecture/design?

Is there any difference between N-Tiered and N-Layered architecture/design?

If yes, what is the difference?


回答1:


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.




回答2:


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.




回答3:


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. 


来源:https://stackoverflow.com/questions/1182303/n-tiered-vs-n-layered-architecture-design

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!