Что это означает: N-Tiered и N-Layered архитектура/дизайн?
Есть ли разница между N-многоуровневой и N-слоистой архитектурой/дизайном?
Если да, в чем разница?
Что это означает: N-Tiered и N-Layered архитектура/дизайн?
Есть ли разница между N-многоуровневой и N-слоистой архитектурой/дизайном?
Если да, в чем разница?
Люди часто используют два термина взаимозаменяемо, поскольку они могут описывать архитектуру как многоуровневую, так и многоуровневую. Я считаю, что обычно уровень относится к некоторому физическому разделению, тогда как слой более логически разделен.
Например, типичное веб-приложение, которое я бы сказал, имеет переднюю часть - то, что отображается в браузере, - и фактическую логику приложения, запущенную на сервере приложений, и базу данных. Это можно назвать 3 уровнями, поскольку есть сервер базы данных, сервер приложений и клиентская машина. Однако, как легко, можно ссылаться на уровень базы данных, на логический уровень и на уровень представления (или UI).
N-многоуровневый относится к "распределенным" уровням системы (то есть серверу и клиенту), тогда как n-layered относится к слоям в автономной программе; хотя эти два часто используются взаимозаменяемо, некоторые полагают, что существует значительная разница (например, упомянутая выше), как видно из первых абзацев на Архитектура многоуровневой архитектуры и Многослойная архитектура в Википедии объясняет разницу.
Эта Примечания к 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.