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

Основные понятия АОП

Аспект (aspect) — модуль или класс, реализующий сквозную функциональ-ность. Аспект изменяет поведение остального кода, применяя совет в точках соединения, определённых некоторым срезом. Аспект - это модуль, примене-ние которого осуществляется не путем вызова, а путем систематизированного внедрения фрагментов кода аспекта в модули программы.

Совет (advice) — средство оформления кода, который должен

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

Точка соединения (join point) — точка в выполняемой программе, где следует применить совет, например, вызов метода или обращение к полям объекта.

Срез (pointcut) — набор точек соединения. Срез определяет, подходит ли данная точка соединения к данному совету.

Внедрение (introduction) — изменение структуры класса или

изменение иерархии наследования для добавления

функциональности аспекта.

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

При запуске подсистема внедрения аспектов, используя

Архитектура клиент-сервер (client-server)

 

 

 

 

 

 

Системы

 

 

 

 

 

 

 

 

 

 

Системы

 

 

с одним сервером

 

 

 

 

 

 

 

 

 

с множеством

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

серверов

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

Клиент

 

 

Клиент

 

 

 

 

 

 

 

Клиент

 

Клиент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

N

 

 

 

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сервер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БД

 

 

 

 

 

 

 

 

 

 

 

 

 

Сервер

 

 

 

Сервер

 

Сервер

 

(клиент-сервер, файл-сервер,

 

хранилище данных)

 

каталог

 

 

 

видео

 

фото

 

 

 

 

 

Системы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Одноранговы

 

 

Серверы приложений

 

клиент-очередь-

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

клиент

 

 

 

 

 

 

 

приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

Клиент

 

Клиент

 

 

 

(P2P)

 

 

Термина

 

Термина

 

Терминал

 

 

 

 

 

 

 

 

 

(сервер)

 

 

л 1

 

 

 

 

 

л 2

 

 

 

 

 

 

N

 

1

 

 

 

2

 

 

 

 

 

 

N

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(сервер)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очеред

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Служба

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ь

 

 

 

 

 

 

 

 

 

 

Клиент

 

 

 

 

 

 

 

 

терминало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(сервер)

 

 

 

 

 

 

 

 

 

 

 

в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

22

N-уровневая / 3-уровневая архитектура

<<Web- server>> Представление

<<Firewall>>

Межсетевой

экран

<<Web- server>> Бизнес-слой

ASP

<<Server>>

 

 

 

 

 

 

 

 

СУБД

 

 

 

 

 

 

 

Финансовое Веб-приложение

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

23

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

Принципы SOA:

1.Сервисы автономны.

2.Сервисы могут быть распределены. Сервисы слабо сцеплены.

3.Сервисы совместно используют схему и контракт, но не класс.

ПО + сервисы

ПО как сервис

 

(Software plus Services,

(Software as a Service,

S+S)

SaaS)

24

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

 

Архитектура, основанная на шине сообщений

Основной принцип сервисной шины — концентрация обмена сообщениями между различными системами через единую

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

Сервисная шина предприятия (Enterprise Service Bus, ESB). Шина Интернет-сервисов (Internet Service Bus, ISB).

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

25