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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Архитектура программной системы практически никогда не ограничена лишь одним архитектурным стилем, зачастую она является сочетанием архитектурных стилей, образующих полную систему. Например, может существовать 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.

Архитектура.NET Framework

Платформа состоит из четырех групп программных продуктов:

· набор языков, куда входят С# и VisualBasic.NET; набор инструментальных средств разработки, в том числе VisualStudio.NET; обширная библиотека классов для построения Web-служб и приложений, работающих в Windows и в Интернете; а также среда выполнения программ CLR (CommonLanguageRuntime — общеязыковая среда выполнения), в которой выполняются объекты, построенные на этой платформе;

· набор серверов.NET EnterpriseServers, ранее известных под именами SQL Server 2000, Exchange 2000, BizTalk 2000 и др., которые предоставляют специализированные функциональные возможности для обращения к реляционным базам данных, использования электронной почты, оказания коммерческих услуг "бизнес-бизнес" (В2В) и т. д.;

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

· новые некомпьютерные устройства, поддерживающие средства.NET, — от сотовых телефонов до игровых приставок.

Платформа.NET Framework является надстройкой над операционной системой, в качестве которой может выступать любая версия Windows1. На сегодняшний день платформа.NET Framework включает в себя:

· четыре официальных языка: С#, VB.NET, Managed C++ (управляемый C++) и JScript.NET;

· объектно-ориентированную среду CLR (CommonLanguageRuntime), совместно используемую этими языками для создания приложений под Windows и для Internet;

· ряд связанных между собой библиотек классов под общим именем FCL (FrameworkClassLibrary).

Рис. 1.2. Архитектура.NET Framework

Самым важным компонентом платформы.NET Framework является CLR (CommonLanguageRuntime), предоставляющая среду, в которой выполняются программы. Главная ее роль заключается в том, чтобы обнаруживать и загружать типы.NET среда активизирует объекты, производит проверку безопасности, размещает объекты в памяти, выполняет их, а также освобождение памяти

Common Type System (сокр. CTS, рус. Общая система типов) — часть.NET Framework, формальная спецификация, определяющая, как какой-либо тип (класс, интерфейс, структура, встроенный тип данных) должен быть определён для его правильного выполнения средой.NET.

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

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

Над этим уровнем находится уровень классов, которые расширяют базовые классы с целью обеспечения управления данными и XML. Классы данных позволяют реализовать управление информацией, хранящейся в серверных базах данных. В число этих классов входят классы SQL (StructuredQueryLanguage, язык структурированных запросов), дающие программисту возможность обращаться к долговременным хранилищам данных через стандартный интерфейс SQL. Кроме того, набор классов, называемый ADO.NET, позволяет оперировать постоянными данными. Платформа.

2..NETFrameworkкомпилируеткодвсех.NETязыков(таких, какVisualBasic.NET, VisualC++.NETandVisualC#.NET) вкодMicrosoftIntermediateLanguage (промежуточныйязыкMicrosoft, MSIL), используяMSIL-компилятор. Высокоуровневыеязыки используют компилятор, чтобыпреобразоватькодвмашинныйкодоперационнойсистемы, итолькоэтаоперационнаясистемапойметтакойкод. Но когда мы компилируем.NET-код в MSIL-код, мы получаем не характерный для какой-либо операционной системы код. Итак, нам нужно совершить еще один шаг - преобразовать MSIL -код в код, специфичный для каждой операционной системы. Это выполняет Just-In-Time компилятор (дословно: только-во-время)..NET Framework использует JIT-компилятор, чтобы преобразовать код промежуточного языка (MSIL) в машинный язык, специфичный для данной операционной системы, и только теперь.NET-приложение может выполнятся на этой системе. Итак, вот эти два шага компиляции C#-кода: сначала мы преобразуем C#-код в MSIL-код (неспецифичный для какой-либо операционной системы код, это код для.NET Framework и только она может понять его), а затем JIT-компилятор преобразует MSIL-код в машинный.
Почему 2 шага, а не один?

Существует несколько причин компиляции.NET-приложений в 2 шага. Cейчас мы узнаем некоторые из них.
Код всех.NET-языков компилируется сначала в MSIL, (это называется межъязыковое взаимодействие) понятный.NET. Я имею ввиду, что.NET.-Framework понимает и обрабатывает MSIL-код, а не операционная система.

12. Назовите типы серверных элементов управления и объясните назначение каждого из них.

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

ASP.NET предлагает множество серверных элементов управления, которые делятся на несколько категорий:



Поделиться:


Последнее изменение этой страницы: 2017-02-09; просмотров: 804; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.149.32 (0.022 с.)