Лекция 7

Download Report

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
Спасибо за внимание!