N-уровневая и N-уровневая архитектура/дизайн [закрыто]
-
19-09-2019 - |
Вопрос
Что означает N-уровневая и N-уровневая архитектура/проектирование?
Есть ли разница между N-уровневой и N-уровневой архитектурой/проектированием?
Если да, то в чем разница?
Решение
Люди часто используют эти два термина как синонимы, поскольку они могут описывать архитектуру как многоуровневую, так и многоуровневую.Я считаю, что обычно уровень относится к некоторому физическому разделению, тогда как уровень — это скорее логическое разделение.
Например, я бы сказал, что типичное веб-приложение имеет интерфейс — то, что отображается в браузере — и реальную логику приложения, работающую на сервере приложений, и базу данных.Это можно назвать трехуровневым, поскольку есть сервер базы данных, сервер приложений и клиентский компьютер.Однако столь же легко можно сослаться на уровень базы данных, уровень логики и уровень представления (или пользовательского интерфейса).
Другие советы
N-уровень относится к «распределенным» уровням системы (т.е.сервер и клиент), тогда как n-уровневость относится к уровням в автономной программе;хотя эти два понятия часто используются как взаимозаменяемые, некоторые предполагают, что существует значительная разница (например, та, о которой я упоминал выше), как видно из первых абзацев статьи. Многоуровневая архитектура и Многоуровневая архитектура в Википедии объясняет разницу.
Этот Примечания к исследованию SCEA объясняет различия 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.