'

Интеллектуализация процессов обработки потоков данных, лекция 6

Понравилась презентация – покажи это...





Слайд 0

Интеллектуализация процессов обработки потоков данных, лекция 6 БГУ РФиЭ Кафедра Интеллектуальных Систем Адуцкевич Иван Анатольевич


Слайд 1

Повторяющиеся процессы 2


Слайд 2

Повторяющиеся процессы Повторяющийся процесс может быть запущен из другого процесса Повторяющийся процесс может быть запущен внешней системой используя WSDL Повторяющийся процесс может быть внедрен в качестве сервиса или службы, например: Служба форматирования даты/времени Служба проверки бизнес-правил Повторяющиеся процессы и под-процессы: Используйте повторяющиеся процессы в случае разработки сервиса; Используйте подпроцесс для абстрагирования от технических деталей. Под-процесс упрощает общий вид процесса и делает логику процесса более наглядной с точки зрения бизнеса Повторяющиеся процессы это процессы, протекающие на сервере отдельно от процессов, вызвавших их. 3


Слайд 3

моделирование процесса проверки заказа 4 Спроектируем модель процесса проверки заказа так, чтобы она запускалась при получении заказа. Тогда если цена заказа меньше 5000$ - заказу не требуется подтверждение менеджера; иначе учесть 10%-ю скидку на товар и отправить заказ на подтверждение менеджеру. В конечном счете, заказ вернется к тому, кто его совершил.


Слайд 4

Службы (services) Службы – это действия, совершаемые другим участником, которые определяются: Именем (названием); Сообщением или сообщениями; Конечной точкой – сущностью, процессом или ресурсом, которому можно адресовать сообщение Служба не всегда является веб-сервисом Веб-сервис это служба, поддерживающая протокол SOAP/HTTP Любая служба (не только веб-сервис) может быть описана на языке WSDL 5


Слайд 5

WSDL WSDL – язык описания веб-сервисов Стандарт языка предоставлен W3C WSDL это, по сути, XML, который описывает веб-сервис: его действия и сообщения WSDL используется для определения всех действий, доступных в BPEL ESB отображает все сервисы как WSDL 6


Слайд 6

Управление службами Службы могут быть предоставлены: Веб сервисами Приложениями Процессами В любом случае, службы определяются в WSDL Веб-сервисы: предоставляются реестром Приложения: предоставляются специальными связывающими приложениями (созданными конструктором соединений) Процессы: создаются проектировщиком проекта 7


Слайд 7

Управление службами: время разработки Внешние службы описаны в WSDL как процесс WSDL определяет интерфейс для бизнес-приложения по типу сообщения (структуре, имени, типу операции…) Intalio|Designer предоставляет WSDL менеджер соединений Операции, структуры сообщений, типы сообщений графически отображены в обозревателе проекта (process explorer). Задача также может предоставлять или вызывать службу 8


Слайд 8

Управление переменными 9


Слайд 9

Управление переменными 10 Переменные используются для временного хранения значений Создать переменную очень просто – достаточно объявит ее структуру в виде схемы XML-файла и перетянуть элемент в исполняемый блок или под-процесс. Или используя всплывающую панель, которая появляется при выборе какого-либо блока. Каждая переменная имеет свою область видимости. Только исполняемый блок и под-процессы могут получать доступ к переменным Если все под-процессы находятся внутри исполняемого блока, переменные, объявленные внутри исполняемого блока могут считаться глобальными переменными Графически переменные отображаются так же как и BPMN данные


Слайд 10

Управление переменными 11 Создадим переменную, которая будет отображать статус заказа в течение процесса Создадим схему XML-файла: Меню File -> New -> Other -> XML Schema . Назовем ее TrackOrderStatus Откроется редактор схемы xml-файла Щелкнем правой кнопкой мыши на области элементов -> выберем добавить элемент (Add element) Появится новый элемент. Изменим его имя на OrderStatus Оставим ему тип «строка» («String»)


Слайд 11

Бизнес процесс с участием человека 12


Слайд 12

Как человек взаимодействует с процессом 13 Intalio|BPMS Server Другие системы Intalio|Workflow (Tempo) Другие процессы


Слайд 13

Взаимодействие с человеком Наиболее распространенные способы взаимодействия людей с процессом: Уведомление: процесс «уведомляет» человека, но не ожидает какой-либо ответной реакции Диалог с человеком: процесс будет ожидать ответа от человека Воздействие человека: человек запускает процесс и подает входные данные Диалог с процессом: человек обращается к процессу и ожидает ответа 14


Слайд 14

Формы Для взаимодействия системы с человеком используются формы Форма – это набор управляющих элементов, которые использует человек для ввода информации 15


Слайд 15

PIPA – система ручного запуска процессов Для запуска процесса для форм доступна для размещения кнопка «запуск процесса» Отправка какой-либо информации из пользовательского интерфейса (формы) запускает новый процесс Процесс отправляет пользователю подтверждение того, что он был создан При этом создаются переменные: form1InitProcessRequestMsg form1InitProcessResponseMsg 16


Слайд 16

Действия людей Процесс создает экземпляр задачи Двойной обмен: отправка задачи пользователю и получение ответа Человек взаимодействует с пользовательским интерфейсом, в то время как процесс обрабатывает его сообщение 17


Слайд 17

Действия людей Процесс создает экземпляр задачи Двойной обмен: отправка задачи пользователю и получение ответа Человек взаимодействует с пользовательским интерфейсом, в то время как процесс обрабатывает его сообщение Создаются переменные: form1CreateTaskRequestMsg form1CreateTaskresponseMsg form1NotifyTaskCompletitionRequestMsg form1NotifyTaskCompletitionResponseMsg 18


Слайд 18

Уведомления Используются для отправки уведомляющего сообщения пользователю. Процесс не будет ожидать какого-либо действия человека и просто продолжит свое выполнение Создаются переменные: form1NotifyRequestMsg form1NotifyResponseMsg 19


Слайд 19

Эскалация Перенаправляет задачу другому обработчику или участнику Используются в тех случаях, когда необходимо контролировать выполнение задач Создаются переменные: form1EscalateRequestMsg form1EscalateResponseMsg 20


Слайд 20

Intalio|Workflow Редактор форм: компонент редактора форм Intalio|Workflow встроен в пакет Intalio|Designer. Он позволяет визуально создавать формы и автоматически генерировать для них код в Xforms и Intalio|AJAX Менеджер связей: это тоже компонент Intalio|Workflow, который встроен в Intalio|Designer. Позволяет отслеживать создание и изменение файлов *.xform и *.gi и автоматически создает WSDL и XSD файлы, которые используются для присоединения форм к бизнес-процессу Framework для интерфейса пользователя: конечный пользователь может взаимодействовать с бизнес процессом используя этот Framework 21


Слайд 21

XML-формы (Xforms) 22


Слайд 22

XForm’ы Спецификация предоставлена W3C Новое поколение веб-форм, основанных на языке XML Структура формы представлена в виде XML схемы XForm’ы определяют механизм связывания между моделью и ее представлением Intalio|BPMS Designer включает в себя графический редактор XForm Intalio|BPMS Workflow также поддерживают XForm’ы 23


Слайд 23

Формы: концепция папок Формы лучше всего создавать в папке Лучше всего создавать каждую форму в отдельной папке 24


Слайд 24

Создание XML-форм в Intalio 25 Используйте редактор XML-форм (XFORM Editor), находящийся на подвижной панели под кнопкой перспективы редактор форм Intalio|BPMS Каждый элемент формы имеет свои свойства: Вы можете устанавливать метку, имя, параметры ввода/вывода и др. для каждого элемента формы


Слайд 25

Ввод/вывод из форм Ввод в форму используется для заполнения значений полей на форме Вывод из формы – для отправки данных процессу 26 Процесс Форма Ввод Вывод Вывод из процесса Ввод в процесс


Слайд 26

Пример формы для менеджера подтверждения заказов 27 Некоторым формам необходим ввод, а некоторым – вывод данных Ввод данных позволяет просмотреть данные Вывод данных позволяет переслать данные от пользователя


Слайд 27

Формы AJAX 28


Слайд 28

Intalio|AJAX Intalio|AJAX основан на интерфейсе TIBCO TIBCO – интегрированная среда разработки, в основе которой лежит JavaScript, что позволяет создавать AJAX -приложения на стороне клиента Каждая форма также является приложением. Оно может быть как сложным веб-приложением, так и простым текстовым полем. 29


Слайд 29

Формы: советы специалистов Следите за названиями Очень важно выбирать говорящие названия в качестве названий элементов Определяйте тип данных для каждого элемента управления Редактор форм создает модель данных, основываясь на разработанной в редакторе данных форме. Для каждого элемента управления, которому можно задать тип, сопоставляется тип данных в процессе выполнения. Разработка какого-либо кода при этом не требуется. Не создавайте слишком сложне формы Если в вашей форме много полей и они все не влазят на страницу лучше разбейте задачу на несколько задач 30


Слайд 30

Есть вопросы? 31


Слайд 31

Пользовательский интерфейс Workflow 32


Слайд 32

BPEL4People BPEL4People это предложение от IBM и SAP по расширению BPEL4WS для автоматизации человеческого труда Спецификация была предложена OASIS Введение Принцип ручной задачи, которая выполняется человеком Понятие списка задач, который используется чтобы хранить задачи или действия людей Ссылки на людей используются для связывания группы людей с бизнес-процессом 33


Слайд 33

Intalio|BPMS Workflow Интерфейс позволяет пользователям получать доступ к их задачам Еще он позволяет запускать процессы (PIPA) Также разрешено получать уведомления 34


Слайд 34

Циклы 35


Слайд 35

Циклы Что такое циклы? Это периодически повторяющееся действие или группа действий Технические циклы: Должны проверить каждую строчку в заказе Если резервное копирование не удалось, должны вернутся назад и попробовать снова Бизнес-циклы: Необходимо подтверждение нескольких уровней доступа, чтобы создать большой и дорогой проект Продолжают отправлять сообщения администратору каждый час до тех пор, пока он не ответит 36


Слайд 36

BPMN: Циклы Действие (в том числе и задача и подпроцесс) могут быть помещены в цикл. Существуют три типа циклов: Цикл «ПОКА НЕ»: повторяется до тех пор, пока не выполнит событие выхода из цикла Цикл «ПОКА»: повторяется определенное количество раз Цикл « ДЛЯ КАЖДОГО»: выполняется для каждого экземпляра объекта В циклическом под-процессе все задачи и события содержатся в под-процессе который запускается на каждой итерации цикла 37


Слайд 37

Исключения 38


Слайд 38

Маршрут исключения Автоматически перенаправляет процесс в случае, если действие не завершилось за определенное время 39


Слайд 39

Исключение и ограничение времени 40 Создадим шаблон исключения Вставим промежуточное событие по-таймеру (Intermediate Timer Event) на границу под-процесса подтверждения заказа (Approve Order) Добавим действие «отправить уведомление по e-mail» (Send Email Notification) в под-процесс Timeout Handler


Слайд 40

Спасибо за внимание! 41


×

HTML:





Ссылка: