Подтвердить что ты не робот

N-Tiered vs N-Layered архитектура/дизайн

Что это означает: N-Tiered и N-Layered архитектура/дизайн?

Есть ли разница между N-многоуровневой и N-слоистой архитектурой/дизайном?

Если да, в чем разница?

4b9b3361

Ответ 1

Люди часто используют два термина взаимозаменяемо, поскольку они могут описывать архитектуру как многоуровневую, так и многоуровневую. Я считаю, что обычно уровень относится к некоторому физическому разделению, тогда как слой более логически разделен.

Например, типичное веб-приложение, которое я бы сказал, имеет переднюю часть - то, что отображается в браузере, - и фактическую логику приложения, запущенную на сервере приложений, и базу данных. Это можно назвать 3 уровнями, поскольку есть сервер базы данных, сервер приложений и клиентская машина. Однако, как легко, можно ссылаться на уровень базы данных, на логический уровень и на уровень представления (или UI).

Ответ 2

N-многоуровневый относится к "распределенным" уровням системы (то есть серверу и клиенту), тогда как n-layered относится к слоям в автономной программе; хотя эти два часто используются взаимозаменяемо, некоторые полагают, что существует значительная разница (например, упомянутая выше), как видно из первых абзацев на Архитектура многоуровневой архитектуры и Многослойная архитектура в Википедии объясняет разницу.

Ответ 3

Эта Примечания к SCEA Study объясняет различия JEE между многоуровневой и многоуровневой архитектурой

Уровни системы Java EE

* 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.