~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ FDF450262B5415610B4A5415EEA326C2__1716867300 ✰
Заголовок документа оригинал.:
✰ Multitier architecture - Wikipedia ✰
Заголовок документа перевод.:
✰ Многоуровневая архитектура — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Three-tier_(computing) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/fd/c2/fdf450262b5415610b4a5415eea326c2.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/fd/c2/fdf450262b5415610b4a5415eea326c2__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 17:49:36 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 28 May 2024, at 06:35 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Многоуровневая архитектура — Википедия Jump to content

Многоуровневая архитектура

Из Википедии, бесплатной энциклопедии

В программного обеспечения разработке многоуровневая архитектура (часто называемая n -уровневой архитектурой ) представляет собой архитектуру клиент-сервер, в которой функции представления, обработки приложений и управления данными физически разделены. Наиболее распространенным применением многоуровневой архитектуры является трехуровневая архитектура .

N -уровневая архитектура приложений обеспечивает модель, с помощью которой разработчики могут создавать гибкие и повторно используемые приложения. Разделяя приложение на уровни, разработчики получают возможность изменять или добавлять определенный уровень вместо переделки всего приложения. N-уровневая архитектура хорошо подходит для небольших и простых приложений благодаря своей простоте и дешевизне. Кроме того, это может стать хорошей отправной точкой, когда архитектурные требования еще не ясны. [1] [2] Трехуровневая архитектура обычно состоит из уровня представления , логического уровня и уровня данных .

Хотя понятия слоя и уровня часто используются как взаимозаменяемые, довольно распространена точка зрения, что разница действительно существует. Согласно этой точке зрения, уровень представляет собой механизм логического структурирования концептуальных элементов, составляющих программное решение, а уровень — это механизм физического структурирования аппаратных элементов, составляющих системную инфраструктуру. [3] [4] Например, трехуровневое решение можно легко развернуть на одном уровне, как в случае с экстремально ориентированной на базу данных архитектурой , называемой архитектурой только для СУБД. [5] или на личном рабочем месте. [6]

Слои [ править ]

«Слои» Архитектурный шаблон описан в различных публикациях. [7]

Общие слои [ править ]

В логической многоуровневой архитектуре информационной системы с объектно-ориентированным дизайном наиболее распространены следующие четыре:

В книге «Проектирование, управляемое предметной областью» описаны некоторые распространенные варианты использования четырех вышеупомянутых уровней, хотя основное внимание уделяется уровню предметной области . [11]

Если в архитектуре приложения нет явного различия между бизнес-уровнем и уровнем представления (т. е. уровень представления считается частью бизнес-уровня), то реализуется традиционная клиент-серверная (двухуровневая) модель. [ нужна цитата ]

Более распространенное соглашение заключается в том, что уровень приложения (или уровень обслуживания) считается подуровнем бизнес-уровня, обычно инкапсулируя определение API, отображающее поддерживаемые бизнес-функции. Фактически, уровни приложений/бизнеса могут быть подразделены, чтобы выделить дополнительные подуровни с отдельной ответственностью. Например, если модель-представление-презентатор , подуровень презентатора может использоваться в качестве дополнительного уровня между уровнем пользовательского интерфейса и уровнем бизнеса/приложения (как представлено подуровнем модели). используется шаблон [ нужна цитата ]

Некоторые также выделяют отдельный уровень, называемый уровнем бизнес-инфраструктуры (BI), расположенный между бизнес-уровнями и уровнями инфраструктуры. Его также иногда называют «бизнес-уровнем низкого уровня» или «уровнем бизнес-услуг». Этот уровень является очень общим и может использоваться на нескольких уровнях приложения (например, CurrencyConverter). [12]

Уровень инфраструктуры можно разделить на разные уровни (технические услуги высокого и низкого уровня). [12] Разработчики часто сосредотачиваются на возможностях сохранения (доступа к данным) уровня инфраструктуры и поэтому говорят только об уровне постоянства или уровне доступа к данным (а не об уровне инфраструктуры или уровне технических услуг). Другими словами, другой вид технических услуг не всегда явно рассматривается как часть какого-либо конкретного уровня. [ нужна цитата ] . Уровень доступа к данным обычно содержит объект, известный как объект доступа к данным (DAO) .

Слой находится поверх другого, потому что он от него зависит. Каждый уровень может существовать без слоев выше него и требует, чтобы уровни ниже него функционировали. Другая распространенная точка зрения заключается в том, что уровни не всегда строго зависят только от соседнего слоя, расположенного ниже. Например, в расслабленной многоуровневой системе (в отличие от строгой многоуровневой системы) уровень также может зависеть от всех слоев, находящихся ниже него. [7] Расслабленная многоуровневая система имеет больше связей, и впоследствии ее труднее изменить. В многоуровневых архитектурах может использоваться гибридный подход, при котором некоторые уровни являются строгими, а другие — смягченными. [13] [14]

Трехуровневая архитектура [ править ]

Обзор трехуровневого приложения.

Трехуровневая архитектура — это модель клиент-серверной архитектуры программного обеспечения , в которой пользовательский интерфейс (презентация), функциональная логика процессов («бизнес-правила»), компьютерное хранилище данных и доступ к данным разрабатываются и поддерживаются как независимые модули , чаще всего на отдельных платформах. . [15] Он был разработан Джоном Дж. Донованом в Open Environment Corporation (OEC), инструментальной компании, которую он основал в Кембридже, штат Массачусетс .

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

Обычно пользовательский интерфейс запускается на настольном ПК или рабочей станции и использует стандартный графический интерфейс пользователя , логику функционального процесса, которая может состоять из одного или нескольких отдельных модулей, работающих на рабочей станции или сервере приложений , и СУБД на сервере базы данных или мэйнфрейме , который содержит логику хранения компьютерных данных. Средний уровень сам может быть многоуровневым (в этом случае общая архитектура называется « n -уровневой архитектурой»).

Уровень представления
Это самый верхний уровень приложения. Уровень представления отображает информацию, связанную с такими услугами, как просмотр товаров, покупка и содержимое корзины покупок. Он взаимодействует с другими уровнями, посредством которых передает результаты на уровень браузера/клиента и на все остальные уровни в сети. Проще говоря, это уровень, к которому пользователи могут получить прямой доступ (например, веб-страница или графический интерфейс операционной системы).
Уровень приложения (бизнес-логика, логический уровень или средний уровень)
Логический уровень извлекается из уровня представления и в качестве его уровня управляет функциональностью приложения, выполняя детальную обработку.
Уровень данных
Уровень данных включает в себя механизмы сохранения данных (серверы баз данных, общие файловые ресурсы и т. д.) и уровень доступа к данным, который инкапсулирует механизмы сохранения и предоставляет данные. Уровень доступа к данным должен предоставлять API- интерфейс для уровня приложений, который предоставляет методы управления хранимыми данными без раскрытия или создания зависимостей от механизмов хранения данных. Избежание зависимостей от механизмов хранения позволяет вносить обновления или изменения без влияния на клиентов уровня приложений или даже без их ведома об этих изменениях. Как и при разделении любого уровня, существуют затраты на внедрение и зачастую снижение производительности в обмен на улучшение масштабируемости и удобства обслуживания.

Использование веб-разработки [ править ]

В области веб-разработки термин «трехуровневый» часто используется для обозначения веб-сайтов , обычно веб-сайтов электронной коммерции , которые построены с использованием трех уровней:

  1. Интерфейсный веб-сервер, обслуживающий статический контент и, возможно, некоторый кэшированный динамический контент. В веб-приложении интерфейс — это контент, отображаемый браузером. Содержимое может быть статическим или генерироваться динамически.
  2. среднего уровня динамической обработки контента и генерации Сервер приложений (например, Symfony , Spring , ASP.NET , Django , Rails , Node.js ).
  3. Внутренняя база данных или хранилище данных , содержащая как наборы данных, так и программное обеспечение системы управления базой данных , которое управляет данными и обеспечивает доступ к ним.

Другие соображения [ править ]

Передача данных между уровнями является частью архитектуры. Используемые протоколы могут включать один или несколько из SNMP , CORBA , Java RMI , .NET Remoting , Windows Communication Foundation , сокетов , UDP , веб-служб или других стандартных или собственных протоколов. Часто промежуточное программное обеспечение используется для соединения отдельных уровней. Отдельные уровни часто (но не обязательно) выполняются на отдельных физических серверах, и каждый уровень сам по себе может работать в кластере .

Прослеживаемость [ править ]

Сквозная отслеживаемость потоков данных через n -уровневые системы — сложная задача, которая становится более важной, когда системы усложняются. Измерение отклика приложения определяет концепции и API для измерения производительности и корреляции транзакций между уровнями. Обычно термин «уровни» используется для описания физического распределения компонентов системы на отдельных серверах, компьютерах или сетях (узлах обработки). Тогда трехуровневая архитектура будет иметь три узла обработки. Термин «уровни» относится к логической группе компонентов, которые могут или не могут быть физически расположены на одном узле обработки.

См. также [ править ]

Ссылки [ править ]

  1. ^ Ричардс, Марк (2020). Основы архитектуры программного обеспечения: инженерный подход (1-е изд.). О'Рейли Медиа. ISBN  978-1492043454 .
  2. ^ Ричардс, Марк (2022). Шаблоны архитектуры программного обеспечения . O'Reilly Media, Inc. ISBN  9781098134273 .
  3. ^ Шаблоны развертывания (архитектура, шаблоны и практики Microsoft Enterprise)
  4. ^ Фаулер, Мартин «Образцы архитектуры корпоративных приложений» (2002). Эддисон Уэсли.
  5. ^ Висенте, Альфонсо; Эчеверри, Лорена; Сабигеро, Ариэль (2021). «Архитектура веб-приложений, основанная только на СУБД» . XLVII Латиноамериканская компьютерная конференция (CLEI) 2021 г. стр. 1–9. дои : 10.1109/CLEI53233.2021.9640017 . ISBN  978-1-6654-9503-5 . S2CID   245387844 .
  6. ^ Шаблоны развертывания (архитектура, шаблоны и практики Microsoft Enterprise)
  7. ^ Перейти обратно: а б Бушманн, Франк; Менье, Регина; Ронерт, Ганс; Соммерлад, Питер; Сталь, Михаил (1996–08). Шаблонно-ориентированная архитектура программного обеспечения, Том 1, Система шаблонов. Уайли, август 1996 г. ISBN   978-0-471-95869-7 . Получено с http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471958697.html .
  8. ^ Уровень обслуживания Мартина Фаулера
  9. ^ Мартин Фаулер объясняет, что уровень обслуживания — это то же самое, что уровень приложения.
  10. ^ Сравнение/обсуждение уровня контроллера GRASP и уровня приложения/сервиса.
  11. ^ Проектирование, управляемое предметной областью, Книга, стр. 68-74. Получено с http://www.domaindrivendesign.org/books#DDD .
  12. ^ Перейти обратно: а б Применение UML и шаблонов , 3-е издание, стр. 203 ISBN   0-13-148906-2
  13. ^ Ричардс, Марк (3 марта 2020 г.). Основы архитектуры программного обеспечения: инженерный подход (1-е изд.). О'Рейли Медиа. ISBN  978-1492043454 .
  14. ^ Ричардс, Марк. Шаблоны архитектуры программного обеспечения . О'Рейли Медиа, Инк.
  15. ^ Экерсон, Уэйн В. «Трехуровневая архитектура клиент/сервер: достижение масштабируемости, производительности и эффективности в приложениях клиент-сервер». Открытые информационные системы 10, 1 (январь 1995 г.): 3 (20)

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: FDF450262B5415610B4A5415EEA326C2__1716867300
URL1:https://en.wikipedia.org/wiki/Three-tier_(computing)
Заголовок, (Title) документа по адресу, URL1:
Multitier architecture - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)