Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование / Презентации / 04 Архитектура приложений.pptx
Скачиваний:
111
Добавлен:
07.03.2015
Размер:
1.27 Mб
Скачать

Проектирование ПО

Тема 4. Архитектура приложений

6/27/19

ИГЭУ. Кафедра ПОКС

Архитектура ПО (software architecture)

«Архитектура программного обеспечения (ПО) заключает в себе ряд важных решений об организации программной системы, среди которых:

выбор структурных элементов и их интерфейсов, составляющих и объединяющих систему в единое целое;

поведение, обеспечиваемое совместной работой этих элементов;

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

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

Выбор архитектуры ПО также касается функциональности,

удобства использования, устойчивости, производительности, Филипп Крачтен (Philippe Kruchten), Грэди Буч

повторного использования, понятности, экономических и (Grady Booch),

технологических ограничений, эстетического восприятия и поиска компромиссов». Курт Биттнер (Kurt Bittner) и Рич Рейтман (Rich

Reitman)

Проектирование ПО. Архитектура приложений

2

Типовая архитектура приложения

Проектирование ПО. Архитектура приложений

3

Определение типа приложения

Основные типы приложений:

1.Приложения для мобильных устройств.

2.Насыщенные клиентские приложения для выполнения преимущественно на клиентских ПК.

3.Насыщенные Интернет-приложения (RIA, Rich Internet Application).

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

5.Веб-приложения для выполнения преимущественно на сервере в сценариях с постоянным подключением.

Проектирование ПО. Архитектура приложений

4

1. Мобильное приложение

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

использовать сервисы,

Проектирование ПО. Архитектура приложенийпредоставляемые другими 5

приложениями, включая

2. Насыщенное клиентское приложение

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

Проектирование ПО. Архитектура приложений данные, хранящиеся 6

локально. Оно может

3. Насыщенное Интернет-приложение

Насыщенное Интернет- приложе-ние (RIA) выполняется в браузере. К преимуществам RIA, по сравне-нию с традиционными Веб-прило- жениями, относятся более насы-щенный пользовательский интер- фейс, улучшенное время отклика приложения и эффективность работы с сетью. Как правило, RIA структурировано как многослойное приложение. Как правило, RIA- приложения зависят от подключае-мого модуля на стороне клиента или размещаемой среды выполне-ния (Flash, Java, XAML или Silver-light). 7

4. Сервис

Проектирование ПО. Архитектура приложений

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

вызываются с помощью

5. Веб-приложение

Ядро Веб-приложения – его логика на стороне сервера. Эта логика может состоять из множества отдельных слоев. Типовым примером является трехслойная архитектура.

Как правило, Веб-приложение осуществляет доступ к хранилищу данных на удаленном сервере базы данных. Также оно может потреблять сервисы, предоставляемые другими приложениями, включая размещаемые сервисы типа S+S и Веб-сервисы.

Проектирование ПО. Архитектура приложений

9

Выбор стратегии развертывания

На архитектуру приложения могут влиять ограничения развертывания:

физическое распределение компонентов по серверам,

ограничение по используемым сетевым протоколам,

настройки межсетевых экранов и маршрутизаторов и многое другое.

Проектирование ПО. Архитектура приложений

10