Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2блок.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
523.42 Кб
Скачать

6.Сквозная функциональность

  1. Дайте определение понятия "архитектурный стиль", объясните его назначение. Дайте сравнительное описание клиент/серверной и многоуровневой архитектур.

Что такое архитектурный стиль?

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

Понимание архитектурных стилей обеспечивает несколько преимуществ. Самое главное из них – общий язык. Также они дают возможность вести диалог, не касаясь технологий, т.е. обсуждать схемы и принципы, не вдаваясь в детали. Например, архитектурные стили позволяют сравнивать схему клиент/сервер с n-уровневой схемой приложения. Архитектурные стили можно организовать по их фокусу. В следующей таблице перечислены основные фокусные области и соответствующие архитектурные стили.

Категория

Архитектурные стили

Связь

Сервисно-ориентированная архитектура (SOA), шина сообщений

Развертывание

Клиент/сервер, N-уровневая, 3-уровневая

Предметная область

Дизайн на основе предметной области (DomainDrivenDesign)

Структура

Компонентная, объектно-ориентированная, многоуровневая архитектура

Обзор основных архитектурных стилей

В следующей таблице приводится список типовых архитектурных стилей, рассматриваемых в данной главе, и дается краткое описание каждого из них. В последующих главах главы все эти стили обсуждаются подробно, а также даются рекомендации по выбору соответствующих стилей для конкретного приложения.

Архитектурный стиль/парадигма

Описание

Клиент/сервер

Система разделяется на два приложения, где клиент выполняет запросы к серверу. Во многих случаях в роли сервера выступает база данных, а логика приложения представлена процедурами хранения.

Компонентная архитектура

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

Дизайн на основе предметной области

Объектно-ориентированный архитектурный стиль, ориентированный на моделирование сферы деловой активности и определяющий бизнес-объекты на основании сущностей этой сферы.

Многослойная архитектура

Функциональные области приложения разделяются на многослойные группы (уровни).

Шина сообщений

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

N-уровневая, 3-уровневая

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

Объектно-ориентированная

Парадигма проектирования, основанная на распределении ответственности приложения или системы между отдельными многократно используемыми и самостоятельными объектами, содержащими данные и поведения.

Сервисно-ориентированная архитектура (SOA)

Описывает приложения, предоставляющие и потребляющие функциональность в виде сервисов с помощью контактов и сообщений.

9.Дайте определение понятия "архитектурный стиль", объясните его назначение. Дайте сравнительное описание компонентной и многослойной архитектур.

Сочетание архитектурных стилей

Архитектура программной системы практически никогда не ограничена лишь одним архитектурным стилем, зачастую она является сочетанием архитектурных стилей, образующих полную систему. Например, может существовать SOA-дизайн, состоящий из сервисов, при разработке которых использовалась многослойная архитектура и объектно-ориентированный архитектурный стиль.

Сочетание архитектурных стилей также полезно при построении Интернет Веб-приложений, где можно достичь эффективного архитектурного стиля. Таким образом, можно отделить логику представления от бизнес-логики и логики доступа к данным. Требования безопасности организации могут обусловливать либо 3-уровневое развертывание приложения, либо развертывание с более чем тремя уровнями. Уровень представления может развертываться в пограничной сети, располагающейся между внутренней сетью организации и внешней сетью. В качестве модели взаимодействия на уровне представления может применяться шаблон представления с отделением (разновидность многослойного стиля), такая как Model-View-Controller (MVC). Также можно выбрать архитектурный стиль SOA и реализовать связь между Веб-сервером и сервером приложений посредством обмена сообщениями.

Создавая настольные приложения, можно реализовать клиент, который будет отправлять запросы к программе на сервере. В этом случае развертывание клиента и сервера можно выполнить с помощью архитектурного стиля клиент/сервер и использовать компонентную архитектуру для дальнейшего разложения дизайна на независимые компоненты, предоставляющие соответствующие интерфейсы. Применения объектно-ориентированного подхода к этим компонентам повысит возможности повторного использования, тестирование и гибкость.

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

10Дайте определение понятия "архитектурный стиль", объясните его назначение. Опишите слои типовой архитектуры приложения и их назначения. Дайте рекомендации по проектированию этих слоев.

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

В следующей таблице приводится список типовых архитектурных стилей.

Архитектурный стиль/парадигма

Описание

Клиент/сервер

Система разделяется на два приложения, где клиент выполняет запросы к серверу. Во многих случаях в роли сервера выступает база данных, а логика приложения представлена процедурами хранения.

Компонентная архитектура

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

Дизайн на основе предметной области4

Объектно-ориентированный архитектурный стиль, ориентированный на моделирование сферы деловой активности и определяющий бизнес-объекты на основании сущностей этой сферы.

Многослойная архитектура

Функциональные области приложения разделяются на многослойные группы (уровни).

Шина сообщений

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

N-уровневая / 3-уровневая

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

Объектно-ориентированная

Парадигма проектирования, основанная на распределении ответственности приложения или системы между отдельными многократно используемыми и самостоятельными объектами, содержащими данные и поведение.

Сервисно-оринетрированная архитектура (SOA)

Описывает приложения, предоставляющие и потребляющие функциональность в виде сервисов с помощью контрактов и сообщений.

Архитектура ПО часто описывается как организация или структура системы, где система представляет набор компонентов, выполняющих определенную функцию или набор функций. Иначе говоря, основное назначение архитектуры – организация компонентов с целью обеспечения определенной функциональности. Такую организацию функциональности часто называют группировкой компонентов по «функциональным областям». На рис. 1 представлена типовая архитектура приложения, компоненты которого сгруппированы по функциональным областям.

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

  • Компоненты пользовательского интерфейса. Это визуальные элементы приложения, используемые для отображения данных пользователю и приема пользовательского ввода.

  • Компоненты логики представления. Логика представления – это код приложения, определяющий поведение и структуру приложения и не зависящий от конкретной реализации пользовательского интерфейса.

Бизнес-слой1. Этот слой реализует основную функциональность системы и инкапсулирует связанную с ней бизнес-логику. Обычно он состоит из компонентов, некоторые из которых предоставляют интерфейсы сервисов, доступные для использования другими участниками взаимодействия.

  • Фасад приложения. Этот необязательный компонент обычно обеспечивает упрощенный интерфейс для компонентов бизнес-логики, часто сочетая множество бизнес-операций в одну, что упрощает использование бизнес-логики.

  • Компоненты бизнес-логики. Бизнес-логика, как и любая логика приложения, занимается вопросами извлечения, обработки, преобразования и управления данными приложения

Компоненты бизнес-логики можно подразделить на две категории:

  • ◦ Компоненты бизнес-процесса.Компоненты бизнес-процесса определяют и координируют долгосрочные многоэтапные бизнес-процессы и могут быть реализованы с помощью инструментов управления бизнес-процессами.

  • Компоненты бизнес-сущностей. Или бизнес-объекты, инкапсулируют бизнес-логику и данные, необходимые для представления в приложении объектов реального мира, таких как заказчики (Customers) или заказы (Orders). Они хранят значения данных и предоставляют их через свойства; содержат бизнес-данные приложения и управляют ими; и предоставляют программный доступ с сохранением состояния к бизнес-данным и связанной функциональности.

Слой доступа к данным. Этот слой обеспечивает доступ к данным, хранящимся в рамках системы, и данным, предоставляемым другими сетевыми системами. Доступ может осуществляться через сервисы. Слой данных предоставляет универсальные интерфейсы, которые могут использоваться компонентами бизнес-слоя.

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

  • Агенты сервисов Они реализуют компоненты доступа к данным, которые изолируют меняющиеся требования вызова сервисов от приложения и могут обеспечивать дополнительные сервисы, такие как кэширование, поддержку работы в автономном режиме и базовое преобразование между форматом данных, предоставляемых сервисом, и форматом, поддерживаемым вашим приложением

Слой сервисов

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

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

11Опишите особенности платформы .NET Framework. Объясните процесс компиляции программ на платформе .NET Framework.

1ASP.NET — это платформа для создания Web-приложений и Web-сервисов, работающих под управлением IIS. Сегодня существуют другие технологии, позволяющие создавать Web-приложения. К ним относятся прежде всего, очень популярные сегодня языки PHP и PERL, более старая и менее популярная технология CGI и т. д. Однако ASP.NET отличается от них высокой степенью интеграции с серверными продуктами, а также с инструментами Microsoft для разработки доступа к данным и обеспечения безопасности. Кроме того, ASP.NETпозволяет разрабатывать Web- и Windows-приложения, используя очень похожие технологические цепочки, одинаковые языки программирования, технологии доступа к данным и т. д.

Заметим лишь, что ASP.NET функционирует исключительно на серверах Windows, так как требует наличия IIS.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]