- •1.Архитектура приложений.
- •4.Основные принципы проектирование приложений
- •5.Схема типовой архитектуры приложения назначение компонентов схем.
- •6.Сквозная функциональность
- •Архитектура .Net Framework
- •23) Общие этапы жизненного цикла страницы
- •Проверка подлинности пользователей
- •Авторизация пользователей
- •Доступ к отсоединенным данным
- •Доступ к отсоединенным данным
- •Ado .Net. Доступ к данным
- •События класса DataTable
- •Листинг 1: html, txt
6.Сквозная функциональность
Дайте определение понятия "архитектурный стиль", объясните его назначение. Дайте сравнительное описание клиент/серверной и многоуровневой архитектур.
Что такое архитектурный стиль?
Архитектурный стиль, иногда называемый архитектурным шаблоном – это набор принципов, высокоуровневая схема, обеспечивающая абстрактную инфраструктуру для семейства систем. Архитектурный стиль улучшает секционирование и способствует повторному использованию дизайна благодаря обеспечению решений часто встречающихся проблем. Архитектурные стили и шаблоны можно рассматривать как набор принципов, формирующих приложение.
Понимание архитектурных стилей обеспечивает несколько преимуществ. Самое главное из них – общий язык. Также они дают возможность вести диалог, не касаясь технологий, т.е. обсуждать схемы и принципы, не вдаваясь в детали. Например, архитектурные стили позволяют сравнивать схему клиент/сервер с 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.
