Transcript Лекция 7
ИНТЕЛЛЕКТУАЛИЗАЦИЯ
ПРОЦЕССОВ ОБРАБОТКИ
ПОТОКОВ ДАННЫХ, ЛЕКЦИЯ
6
БГУ
РФиЭ
Кафедра Интеллектуальных Систем
Адуцкевич Иван Анатольевич
INTALIO | BPM
ЧТО ТАКОЕ INTALIO|BPM
3
Intalio | BPM это BPMS решение, основанное
на философии открытого кода и
промышленных стандартах охватывания
схожих задач в сфере текущей задачи.
ВНЕШНЯЯ СРЕДА INTALIO | BPM
Intalio | Server
Intalio | Designer
Intalio | Workflow
Intalio | BRE
Intalio | ESB
Intalio | BAM
Intalio | ECM
Intalio | Portal
4
КОМПОНЕНТЫ ЯДРА
Process
Designer
Позволяет бизнес-аналитикам представить процесс графически
Позволяет IT инженерам наглядно связать технические детали и
процесс моделирования
Создает код
Имитация
Process
Server
Запускает процесс как конструктор
Управляет взаимодействием с другими системами и людьми
Отслеживает процесс исполнения
Workflow
Suite
Менеджер задач
Безопасность: регистрация и идентификация
Графический интерфейс
5
КОМПОНЕНТЫ ЯДРА
Intalio|Designer
BPM
N
Развертывание
6
WSDL
Intalio|Server
Apache ODE
WSDL
Apache Axis
WSDL
Intalio|Workfl
ow
Взаимодейств
ие
Системы
BPEL
Взаимодейств
ие
Люди
DB
ПОДДЕРЖИВАЕМЫЕ СТАНДАРТЫ
7
XML 1.1
XML Namespaces 1.0
XML Schema
XPath 1.0 / 2.0
XQuery 1.0
WSDL 1.1
SOAP 1.1 SOAP 1.1
WSAddressing
WSSecurity 1.1
WSBasicProfile 1.1
WSBasic Security Profile 1.1
BPEL 2.0
BPMN 1.2
ЕСТЬ ВОПРОСЫ?
8
РАЗРАБОТКА В INTALIO |
DESIGNER
9
СОЗДАНИЕ НОВОГО ПРОЕКТА
10
ТЕХНИКА МОДЕЛИРОВАНИЯ
В первую очередь прочтите описание процесса или
перечень требований
Произведя эти операции Вы можете
сфокусироваться на том, что Вам нужно для
создания модели BPMN и избавиться от лишней
информации
11
Сначала выделите слова, которые могут обозначать
Участников
Затем выделите глаголы; вероятнее всего они определят
задачи для участников (Озаглавьте задание
конструкцией глагол-существительное, например
«запросить строку» или «подтвердить строку»)
Подчеркните все Если и Когда – они задают выбор
(Они будут обозначены шлюзами)
ТЕХНИКА МОДЕЛИРОВАНИЯ
Сначала создайте процесс с формами только для ЗАДАЧ
Пользуясь функцией «Поменять тип операции на» (“Change
activity type to”) отобразите индивидуальные детали после того,
как лучше разберётесь в процессе
Сфокусируйтесь на потоке главного процесса
Не тратьте время на обдумывание потока участников – это
отвлекает от рассматривания ядра процесса
Несмотря на несовершенство BPMN
это самый быстрый способ
зафиксировать процесс во время
совместной сессии моделирования
12
ЖИЗНЕННЫЙ ЦИКЛ BPMS, ЭТАПЫ И
РОЛИ
Постановка
Моделировани
е
Переключитесь на
перспективу
‘Intalio|Designer Modeling‘
13
ТРЕБОВАНИЯ К СОЗДАНИЮ ПРОЦЕССА
Сценарий:
Основываясь на
вышеизложенном, смоделируем
процесс «Подтверждение
заказа» («OrderApproval»)
14
Работник крупной компании заполняет бланк заказа
на новую продукцию и подтверждает его.
Получив заказ процесс утвердит его.
После утверждения заказ должен одобрить менеджер.
По утверждении запроса заказ отправляется на
выполнение.
С завершением процесса менеджеру придет
сообщение, информирующее его об успешной или
неуспешной обработке заказа.
ТРЕБОВАНИЯ К СОЗДАНИЮ ПРОЦЕССА
Сценарий:
15
Работник крупной компании заполняет бланк заказа на новую продукцию и
подтверждает его.
Получив заказ процесс утвердит его.
После утверждения заказ должен одобрить менеджер. По утверждении
запроса заказ отправляется на выполнение.
С завершением процесса менеджеру придет сообщение, информирующее его
об успешной или неуспешной обработке заказа.
BPMN – НОТАЦИЯ МОДЕЛИРОВАНИЯ
БИЗНЕС ПРОЦЕССА
16
ОСНОВНЫЕ ЭЛЕМЕНТЫ BPMN
3 типа обозначений:
События
Действия
Переходы
3 типа связей:
Последовательный переход
Передача сообщения
Ассоциация
Два способа группировки:
По объему
По номеру
2 артефакта:
Данные
Комментарии
Name
Annotation
17
УПРАЖНЕНИЕ – ПОД-ПРОЦЕСС
Сценарий:
Внимание: менеджер может обнаружить неточности с заказе. Человек, подавший
бланк, должен просмотреть его и исправить.
По утверждении запроса заказ отправляется на выполнение.
С завершением процесса менеджеру придет сообщение, информирующее его об успешной
или неуспешной обработке заказа.
Действия и функции для подпроцессов будут добавлены
позднее
18
Работник крупной компании заполняет бланк заказа на новую продукцию и подтверждает
его. Получив заказ процесс утвердит его. После утверждения заказ должен одобрить
менеджер.
УПРАЖНЕНИЕ - УЧАСТНИКИ
19
ШЛЮЗЫ: ПРОХОЖДЕНИЕ
ПРОЦЕССА ЧЕРЕЗ ШЛЮЗЫ
20
ШЛЮЗЫ - ОБЗОР
Взаимоисключающий
Композиционный
Распараллеливающий
Взаимоисключающий с событием
Если вы не уверены в выборе типа шлюза, используйте
Взаимоисключающий
21
Шлюзы используются для разделения и слияние процессов
в один.
Четыре наиболее распространенных типа шлюзов:
УСЛОВНЫЕ ПЕРЕХОДЫ ПО-УМОЛЧАНИЮ
Маршрут по-умолчанию выбирается только тогда, когда все
остальные выбраны не были:
Взаимоисключающий (Exclusive) шлюз
(A или B) иначе C
Композиционный (Inclusive)
шлюз
Если НЕ (A и/или B) то C
22
РАСПАРАЛЛЕЛИВАЮЩИЙ ШЛЮЗ: ВЕТВЛЕНИЕ И
СЛИЯНИЕ
23
A – первая задача, которая будет выполнена
B, D, E – задачи, которые будут выполнятся
параллельно
F – будет выполнена после завершения процессов C,
D, E
ВЕТВЛЕНИЕ ПРИ ПОМОЩИ ШЛЮЗА: ОСНОВЫ
В основе лежит распараллеливание
24
Используются в процессах, которым
часто необходимо одно из
нескольких событий
Неявное
Явное
РАСПАРАЛЛЕЛИВАЮЩИЙ ШЛЮЗ: СЛИЯНИЕ
Неявная синхронизация:
Состояние не
определено
Выполнение будет
продолжено после
прохождению какоголибо дочернего
маршрута
25
Явная синхронизация:
Выполнение будет
продолжено только
после прохождения всех
дочерних маршрутов
Слияние и
синхронизация
КОМПОЗИЦИОННЫЙ ШЛЮЗ: ВЕТВЛЕНИЕ И
СЛИЯНИЕ
Композиционный шлюз похож на распараллеливание:
Может быть запущено
множество маршрутов
Задается отдельное условие
для каждого маршрута
Слияние так же как и
параллельных событий:
Синхронизация всех
маршрутов
Ожидает прохождения только запущенных
маршрутов
26
ПРОЦЕССЫ В ПОД-ПРОЦЕССЕ
Множество точек запуска в под-процессе подобно
параллельному выполнению процессов.
27
СЛИЯНИЕ МАРШРУТОВ
Правильно:
Работает так, как и ожидалось
или
Неправильно:
Тупик
:
Отсутствует синхронизация
28
УСЛОВИЯ: СОВЕТЫ СПЕЦИАЛИСТОВ
29
Помещать «вопрос» рядом с фигурой, обозначающей шлюз
Каждая ветвь обозначает ответ на вопрос, поэтому их рекомендуется
подписывать
Каждый маршрут может иметь или не иметь собственные события
Для маршрута по-умолчанию следует выбирать самый безопасный
путь
ВЛОЖЕННЫЕ ПРАВИЛА
Условия могут быть
вложены друг в друга
Совет:
Используйте
вложенный процесс
чтобы сделать картину
более наглядной.
Что следует добавить
на обоих картинках?
30
МОДЕЛЬ ПРОЦЕССА
31
МОДЕЛЬ ПРОЦЕССА
32
СОБЫТИЯ
33
СОБЫТИЯ: ОБЗОР
Начальное событие
Промежуточное событие
Завершающее событие
Эти события могут управлять потоком, а именно:
запускать, приостанавливать и возобновлять,
прерывать, перенаправлять и завершать поток.
34
Событие это что-то, что «случается» в течение
бизнес-процесса.
События взаимодействуют с потоком процесса и обычно
имеют причину (инициатор) и подразумевают какое-то
действие (результат)
По типу влияния событий на поток выделяют три типа
событий:
СОБЫТИЯ: ОБЗОР
Начальное событие рисуется одинарной тонкой линией
Промежуточное событие рисуется двойной тонкой линией
Завершающее событие рисуется одинарной толстой линией
Символы обозначают
конкретные события
Каждый символ обозначает
характерное действие и
привносит свой особый
смысл
35
ПРОМЕЖУТОЧНЫЕ СОБЫТИЯ BPMN
Отправляемое
сообщение
Ошибка
Отмена
Сигнал
Связь
Исправление
36
Сообщение
Получаемое
сообщение
СОБЫТИЯ BPMN
Пустое начальное событие
Обозначает начало процесса без
указания каких-либо характеристик
Пустое промежуточное
событие
На диаграмме обозначает
важные точки
Точка ключевого показателя
эффективности (КПИ)
Пустое завершающее
событие
Конец процесса
37
ЗАВЕРШАЮЩИЕ СОБЫТИЯ BPMN
Завершение
«Выброс» ошибки
Завершение работы, включая все
параллельные ветви процесса
независимо от их состояния
Производит «выброс» ошибки,
который может быть «перехвачен»
фоновым обработчиком ошибок
Откат действия/исправление
Запускает откат транзакции
Перехватывается другим процессом
38
BPMN – СООБЩЕНИЯ
Сообщение начала процесса
При получении сообщения запускается
процесс
Сообщение отправляется другим процессом
Сообщение завершения
процесса
После отправки сообщения процесс
завершается
Сообщение отправляется другому процессу
39
СОБЫТИЯ ПО ТАЙМЕРУ
Начало процесса по таймеру
Процесс запускается через
определенный интервал времени.
В определенный день
В начале месяца
Промежуточное событие по таймеру
Процесс будет ожидать истечения
определенного времени перед
продолжением
Ожидать конкретной даты
Ожидать некоторое время
Помните, что событие по
таймеру не является
исполняемым событием
Как реализовать
периодический запуск
процесса?
40
СОБЫТИЯ В ПОД-ПРОЦЕССЕ
Под-процесс может иметь события начала и
завершения
Эти события скрыты и не влияют на процесс
Повышают удобочитаемость процесса
41
ИСКЛЮЧЕНИЯ
BPMN имеет гибкую систему контроля исключений
Исключения основаны на промежуточных событиях и происходят
вне основного процесса
Когда обработчик ошибок связан с группой действий, он
перехватывает исключения, возникающие в этой группе
действий, прерывает выполнение основного потока и передает
управление потоку обработки исключений
Можно добавить более одной задачи для обработки исключений от
одной и той же группы действий
42
ПЕРЕНАПРАВЛЕНИЕ ЗАДАЧ
Автоматическое перенаправление похоже на план режима работы
Поток исключения может перенаправить задачу человеку или другой системе:
Если под-процесс не завершается:
До определенной даты/времени
По истечении определенного интервала времени
43
ТРЕНИРОВКА – ДОБАВЛЕНИЕ СОБЫТИЯ
44
Мы добавим больше
событий в этот процесс…
ШЛЮЗЫ С СОБЫТИЕМ
45
Возможен выбор только одного маршрута; выбор
маршрута происходит согласно входящему сообщению
Могут быть использованы разные типы сообщения
Только один маршрут может быть активен;
синхронизация (слияние) производится
взаимоисключающим шлюзом
BPMN
Последовательность действий
46
BPMN
Простая, но наглядная семантика
47
ИСПОЛНЯЕМЫЕ ПРОЦЕССЫ
48
МОДЕЛИРОВАНИЕ: ПОКА ВСЕ ХОРОШО
49
ОТ МОДЕЛИРОВАНИЯ ДО ВОПЛОЩЕНИЯ
Процесс может быть запущен даже если
полностью не доработан
Главная цель – завершение выполнения
процесса вместе со всеми связанными с ним
частями
Таким способом процесс может быть проверен,
смоделирован и реализован без привлечения
рабочей силы.
50
BPMN И BPEL
Не исполняемые блоки не создают BPEL код.
51
BPMN И BPEL
Исполняемые блоки преобразовываются в BPEL
52
BPMN И BPEL
Исходящие сообщения от исполняемых блоков отображают процедуры,
предоставляемые процессом.
53
BPMN И BPEL
Сообщения, идущие к исполняемым блокам, подобны процедурам,
предоставленным процессу.
54
BPMN И BPEL
Сообщения, не зависящие от направления следования, определяют
переменные, которые могут быть сохранены и переданы процессу.
55
УПРАВЛЕНИЕ ДАННЫМИ
56
УПРАВЛЕНИЕ ДАННЫМИ: ПУТЬ К
РЕАЛИЗАЦИИ
Внутренним источником: данные с внутреннего
процесса
Внешним источником: данные с внешних систем, не
влияющих на процесс
Intalio|Designer предоставляет несколько
инструментов управления данными
57
Позволяет запустить модель процесса
BPMN + данные = реализуемый процесс
Данные – это главное в процессе моделирования
Бизнес анализ должен распространяться и на
анализ данных
Данные могут быть предоставлены различными
источниками:
УПРАВЛЕНИЕ ДАННЫМИ
Участники обмениваются данными
Процессы обмениваются обрабатываемыми
данными между собой
Процессы обмениваются обрабатываемыми
данными с внешними системами
При передаче данных от одного участника к
другому, их необходимо преобразовать
Сообщения определяют перенос данных
58
ДАННЫЕ В INTALIO
Процесс последовательно протекает от одной задачи к другой
На каждой стадии данные могут быть созданы, изменены либо удалены
Сообщения определяют перенос данных
Каждая переменная представляется XML схемой
Данные не переносятся от одного действия к другому напрямую
протекание процесса
A
B
C
Данные процесса
D
D может
управлять
данными,
созданными
в A, B и C
59
Обрабатываемые данные определяются набором переменных, контролируемых бизнеспроцессом
УПРАВЛЕНИЕ ДАННЫМИ: ОБЛАСТЬ
ВИДИМОСТИ
под-процессы типа мониторов могут создавать локальные
переменные
Переменные, созданные в под-процессе, локальны, и доступны
только для под-процесса
протекание процесса
A
B
C
D
Данные
под-процесса
Данные процесса
Данные, созданные в B и C недоступны в D
60
УПРАВЛЕНИЕ ДАННЫМИ: ОБРАБОТКА ДАННЫХ
Данные
Простым: одноуровневая структура с небольшим количеством связей
Сложным: многоуровневая структура, элементы которой могут зависеть друг от
друга
Для
управления данными используются различные инструменты:
Простыми данными можно управлять напрямую
Для работы со сложными данными необходимо использовать Intalio|BRE и/или
XSLT
Внешние данные
61
могут относится к:
ФИЛЬТРЫ
Планировщик данных автоматически фильтрует отображаемые
данные в зависимости от типа выбранной диаграммы
62
ПЛАНИРОВЩИК ДАННЫХ: ПАЛИТРА
63
Палитра планировщика данных
предоставляет наглядный доступ
ко всем функциям XPath 2.0,
сгруппированным согласно
документации
Чтобы использовать функции
Xpath, необходимо выбрать ее из
палитры и перетянуть мышью в
центральную область
планировщика данных
Используйте мастер связей для
связи входных данных и
выходных
СПланировщик
ВЯЗЫВАНИЕ
НЕСКОЛЬКИХ ДАННЫХ
данных позволяет проводить составные операции и преобразования
Существует множество уровней преобразований, протекающих от одной к другой
Порядок проведения операций – слева на право, сверху вниз
Все функции имеют входные и выходные параметры:
Входные параметры расположены слева от функции
Выходные параметры – справа
Строки имеют только выходящую область (справа)
64
ПЛАНИРОВЩИК ДАННЫХ: ФУНКЦИИ И
СТРОКИ
Функции планировщика данных имеют входные и
выходные параметры:
У функций и операторов входные параметры слева, а
выходные – справа от самой функции/оператора
Строки не имеют входных параметров
Выходные параметры одной функции могут
служить входными параметрами для другой
Входные параметры
Выходные параметры
65
П
ЛАНИРОВЩИК ДАННЫХ: УСЛОВИЯ
Планировщик данных также используется для определения условий
Условие также может быть результатом вычисления ряда функций
Для редактирования условия необходимо кликнуть мышью на шлюзе, цикле или таймере,
создать булевское выражение и связать его выходные параметры с элементом условием
66
BPMN: ВРЕМЯ ЖИЗНИ, ФАЗЫ И ИХ РОЛЬ
Постановка
Выберите перспективу
‘Intalio|Designer‘ и включите
пункт «отображать обстановку»
(«Show decoration»)
Вы увидите ошибки и
предупреждения BPMN и
BPEL .
Нам нужно избавится от них
чтобы запустить процесс
67
Моделировани
е
Разработка
РАЗВЕРТЫВАНИЕ ПРОЕКТА
68
РАЗВЕРТЫВАНИЕ ПРОЕКТА:
INTALIO|BPMS DESIGNER
Меню windows ->
Preferences ->
Intalio|BPMS ->
Settings
69
Параметры поумолчанию развертки
проекта хранятся в
настройках:
РАЗВЕРТЫВАНИЕ ПРОЕКТА:
INTALIO|BPMS DESIGNER
По желанию можете выбрать
средства для развертывания
Проектировщик автоматически
сгенерирует необходимые
файлы настроек
В результате сгенерируется
архив, который и будет
являться развернутым проектом
70
Кликните на кнопке настройки
развертывания проекта
(«deployment configuration»)
РАЗВЕРТЫВАНИЕ ПРОЕКТА:
INTALIO|BPMS DESIGNER
Запускает последнюю удачносгенерированную развертку
Настройки:
Bundle name это уникальное имя
процесса
Target namespace – пространство имен
Deployment server URL – url сервера
Directly deploy или archive deploy –
архивация при развертывании
Export directory – папка развертывания
71
Открывает редактор
параметров развертки для
выбранного проекта
КОНСОЛЬ УПРАВЛЕНИЯ
ПРОЦЕССОМ
72
КОНСОЛЬ УПРАВЛЕНИЯ INTALIO|BPMS: ВХОД В
СИСТЕМУ
Перейти по адресу http://localhost:8080/bpms-console
Ввести:
Имя пользователя: admin
Пароль: changeit
73
КОНСОЛЬ УПРАВЛЕНИЯ INTALIO|BPMS:
ПРОЦЕССЫ
74
Консоль управления отображает список всех развернутых
процессов и краткую информацию о каждом из них
Именем процесса является название исполняемого блока в
проекте
Вы также можете увидеть версию процесса
СОГЛАШЕНИЕ ИМЕН
Развертываемый
проект
Версия
развернутого
проекта
75
Процесс
(BPM диаграмма)
Исполняемый
блок
INTALIO|BPMS: КРАТКИЙ ОБЗОР КОНСОЛИ
УПРАВЛЕНИЯ
76
Консоль управления Intalio
позволяет:
Управлять и контролировать
процессы: запускать,
останавливать, активировать,
делать развертывание и
(наоборот) свертывание процесса
Управлять и контролировать
экземпляры процесса: запускать,
приостанавливать и
возобновлять, останавливать и
удалять экземпляры процесса
77
Спасибо за внимание!