Диаграмма развертывания как модель представления физической архитектуры распределенной информационной системы. Понятия узла, устройства и среды выполнения, их графическая нотация. Основные отношения на диаграмме развертывания и их графическое представление. Различные способы представления отношения развертывания. Пути коммуникации и аннотирования манифестов. Представление физических аспектов материальных ресурсов, задействованных в реализации системы. Примеры построения диаграмм развертывания.
1. Учебный курс
Язык UML в анализе и проектировании
программных систем и бизнес-процессов
Лекция 8
Диаграмма развертывания
языка UML 2
Автор:
Леоненков Александр Васильевич
кандидат технических наук,
старший научный сотрудник
2. Архитектура распределенных систем –
исходное представление
Dynamic HTML, JavaScript, Java, ActiveX
Java, C, C++, JavaScript, CGI
Java, C, C++, JavaBeans,
CORBA, DCOM, NET
Естественные
языки
Клиент
Клиент
Клиент
Сервер
Хранилища
данных
Сервер
приложений
ERP
система
Сервер баз
данных
Финансовая
система
3. Диаграмма развертывания
- предназначена для представления общей конфигурации или
топологии распределенной программной системы и содержит
изображение размещения различных артефактов по
отдельным узлам системы.
При разработке диаграмм развертывания преследуются
следующие цели:
Специфицировать физические узлы, необходимые для
размещения на них исполнимых компонентов
программной системы.
Показать физические связи между узлами реализации
системы на этапе ее исполнения.
Выявить узкие места системы и реконфигурировать ее
топологию для достижения требуемой
производительности.
5. Узел (node)
- является элементом модели, который представляет
некоторый вычислительный ресурс для развертывания на
нем различных артефактов
На практике для уточнения спецификации узла могут
использоваться различные текстовые стереотипы, которые
акцентируют внимание на назначении этого узла.
Хотя в языке UML 2.х конкретные стереотипы для узлов не
определены, разработчики предложили для этой цели
следующие текстовые стереотипы:
«application server» (сервер приложений), «client
workstation» (клиентская рабочая станция), «mobile device»
(мобильное устройство), «embedded device» (встроенное
устройство), «processor» (процессор), «sensor» (датчик),
«modem» (модем), «net» (сеть), «printer» (принтер) и
другие.
6. Узел в качестве типа и экземпляра
Сервер
Приложений
:СерверБазы
Данных№1
Имя типа узла записывается в форме обычного имени
классификатора: <имя-типа-узла>. При этом имя начинается с
заглавной буквы, а строка имени не подчеркивается. Имя типа узла
указывает на некоторую разновидность узлов, присутствующих в
модели системы.
Имя экземпляра узла записывается в следующей формате (БНФ):
<имя-экземпляра-узла>::=[<собственное-имя-узла >][‘:’ <имя-типа-
узла>,
при этом собственное имя узла записывается со строчной буквы, а
вся запись подчеркивается.
7. Среда выполнения (execution environment)
- представляет собой узел, который обладает
функциональностью, необходимой для практического
выполнения развернутых на нем исполнимых артефактов
«executionEnvironment»
:MSWindows2003Server
: СерверПриложений
«executionEnvironment»
: J2EEСервер
8. Устройство (device)
- представляет собой узел, который обладает некоторым
общим вычислительным ресурсом со способностью
обрабатывать развернутые на нем артефакты
Цель развертывания (deployment target) является
абстрактным метаклассом для указания местоположения
размещаемого артефакта.
«device»
:СерверБазДанных
«device»
: РабочаяСтанция
«executionEnvironment»
:MS.NETFramework
9. Артефакт (artifact)
- представляет собой элемент модели, который
специфицирует некоторую физически существующую часть
информации, используемую или производимую в ходе
разработки программного обеспечения или в процессе
развертывания и функционирования системы.
«artifact»
Заказ.jar
«artifact»
Transaction.exe
10. Спецификация развертывания (deployment
specification)
- специфицирует множество свойств, которые определяют
параметры выполнения артефакта компонента,
развертываемого на некотором узле
«deploymentspec»
ОписаниеЗаказа
выполнение:ТипВыполнения
транзакция:Boolean
«deploymentspec»
ОписаниеЗаказа.xml
выполнение:процесс
транзакция:true
12. Развертывание (deployment)
- представляет собой размещение артефакта или экземпляра
артефакта на некоторой цели развертывания.
«artifact»
Заказ.jar
{concurrencyMode=нить}
«artifact»
Склад.jar
<<executionEnvironment>>
server1:J2EEСервер
«artifact»
Поставщик.jar
«artifact»
Сервис.jar
«artifact»
Товар.jar
«artifact»
Физическое
Лицо.jar
«artifact»
Компания.jar
13. Второй и третий способы представления
множества экземпляров артефактов,
развернутых на узле
«artifact»
Заказ.jar
«artifact»
Склад.jar
«artifact»
Поставщик.jar
«artifact»
Сервис.jar
«artifact»
Товар.jar
<<executionEnvironment>>
server1:J2EEСервер
«deploy»
«deploy»
«deploy»
«deploy» «deploy»
«executionEnvironment»
server1: J2EEСервер
Заказ.jar
Склад.jar
Поставщик.jar
Товар.jar
Сервис.jar
ФизическоеЛицо.jar
Компания.jar
ОтмененныйЗаказ.jar
14. Манифестация (manifestation)
- представляет собой отношение для спецификации
конкретного физического воплощения одного или нескольких
элементов модели посредством артефакта
«component»
Заказ
«artifact»
Заказ.jar
«manifest»
ТоварЗаказ СервисСклад
«artifact»
Магазин.h
«manifest»
«manifest»
«manifest»
«manifest»
«artifact»
Склад.cpp
«artifact»
Заказ.cpp
«artifact»
Товар.cpp
«artifact»
Сервис.cpp
«manifest»«manifest»«manifest» «manifest»
15. Путь коммуникации (communication path)
- является ассоциацией между двумя целями развертывания,
посредством которой они обладают способностью
обмениваться сигналами и сообщениями
СерверПриложений СерверБазДанных1
*
КорпоративнаяСеть
1
*
РабочаяСтанция1
*
16. Самостоятельное задание №9
Выполнить текущее тестирование: вопросы 37-40
Разработать диаграмму развертывания для ATM
Изобразить следующие узлы: Банкомат, Сервер Банка.
Изобразить необходимые артефакты и среды
выполнения
Изобразить отношения между ними