Лабораторный практикум по дисциплине "Автоматизированные информационные системы в производстве"

Материал из RunaWFE
Перейти к навигации Перейти к поиску

Изучение методологии BPMN на примере программного продукта RunaWFE: Лабораторный практикум по дисциплине “Автоматизированные информационные системы в производстве”/ Уфимск. гос. авиац. техн. ун-т; Сост: Г.Г. Куликов, А.Г. Михеев, М. В. Орлов, Р.К. Габбасов, Д.В. Антонов.


Рассматриваются основные элементы и правила нотации BPMN, а также содержатся основные сведения, необходимые для работы с RunaWFE. Приводится порядок выполнения лабораторного практикума.

Предназначен для студентов старших курсов, обучающихся по направлениям подготовки 080801 – «Прикладная информатика (в экономике)» и 230102 – «Автоматизированные системы обработки информации и управления»


Введение

BPMS — Business Process Management System/Suite — системы управления бизнес-процессами.

Одним из способов организации управления бизнес-процессами в компании является использование BPMS. Целями использования таких систем являются повышение качества исполнения бизнес-процессов, сокращение временных затрат, получение возможности контроля деятельности для повышения качества управления, а также непрерывное совершенствование внутренних бизнес-процессов c возможностью их изменения "на лету".

BPMS предназначена для автоматизации бизнес-процессов, но автоматизация бизнес-процессов не является основной целью внедрения системы. С внедрением BPM-системы у компании появляется инструмент для управления бизнес-процессами, что позволяет повысить исполнительскую дисциплину, заставить компанию работать по установленным правилам и непрерывно совершенствовать бизнес-процессы. Бизнес-процессы, без должного управления и контроля, склонны терять свою эффективность.

BPM System в обязательном порядке включает моделирование бизнес-процессов, их исполнение (process engine, процессный “движок”) и мониторинг/анализ. Опционально может включать имитационное моделирование, движок бизнес-правил и многое другое, но в этом случае она уже является BPM Suite.

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

Система RunaWFE является свободным программным продуктом с открытым кодом. Ее дистрибутивы и исходный код можно скачать через интернет с сайта разработчиков свободного программного обеспечения sourceforge по адресу http://sourceforge.net/projects/runawfe/files. Систему можно свободно установить на любое количество компьютеров без каких-либо ограничений.

Лабораторная работа №1. Ознакомление с интерфейсом системы RunaWFE

Цель работы

Целью работы является ознакомление с интерфейсом и средствами разработчика и пользователя системы RunaWFE.


Теоретические сведения

RunaWFE - свободная, масштабируемая, ориентированная на конечного пользователя система проектирования управления бизнес-процессами предприятия и административными регламентами при их реализации.

Основная задача системы: проектировать модели бизнес-процессов, раздавать задания исполнителям и контролировать их выполнение. Последовательность заданий определяется графом бизнес-процесса, который менеджер или бизнес-аналитик может быстро изменять при помощи редактора бизнес-процессов.

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

Система RunaWFE состоит из серверной и клиентской частей.

Компоненты, относящиеся к серверной части системы, это:

  • RunaWFE – сервер;
  • Бот-станция.

Серверная часть системы может быть установлена на уже существующий аппаратный сервер. Платформой, на которой разворачивается RunaWFE-сервер является сервер JBoss. Пример состава программного обеспечения на сервере показан на рисунке 1.1.


Practicum1 1.png


Рис 1.1 Структура программного обеспечения сервера

На одном сервере может располагаться несколько серверных сетевых приложений. Во избежание конфликтов на уровне сетевого адаптера каждому из приложений присваивается один или несколько портов. В результате сетевой адрес этих приложений выглядит так: IP-адрес:порт. Например, чтобы обратиться к веб-интерфейсу сервера JBoss нужно будет в поле адреса набрать http://192.168.0.1:8080. По умолчанию большинство браузеров (IE, Mozilla Firefox, Opera, Google Chrome и др.) обращаются на порт 80.


Компоненты, относящиеся к клиентской части системы:

  • Клиент (web-интерфейс);
  • Клиент-оповещатель о поступивших заданиях;
  • Графический редактор бизнес-процессов;
  • Симулятор бизнес-процессов.

Взаимодействие между клиентской и серверной частями системы производится посредством локальной вычислительной сети, как показано на рисунке 1.2.


Practicum1 2.png
Рис 1.2 Схема взаимодействия между клиентами и сервером RunaWFE


При помощи Web-интерфейса системы пользователь может:

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

При помощи web-интерфейса системы администратор может:

  • Создавать-удалять пользователей и группы пользователей;
  • Включать (исключать) пользователей в группы;
  • Раздавать права на объекты системы пользователям и группам пользователей;
  • Принудительно останавливать экземпляры бизнес-процессов.

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


Основные возможности системы:

  • Работа с определениями и экземплярами бизнес-процессов;
  • Работа со списками заданий;
  • Визуализация форм, соответствующих заданиям;
  • Работа с системой через web-интерфейс;
  • Предоставление возможности работы с системой приложениям специального вида (ботам);
  • Авторизация и аутентификация пользователей.

Возможности графического редактора:

  • Редактирование графа бизнес-процесса;
  • Создание и редактирование графических форм заданий;
  • Создание и назначение ролей;
  • Создание переменных.

Порядок выполнения работы

'Создание и редактирование пользователей и групп пользователей'


Для начала запустите сервер JBoss, для этого дважды кликните по ярлыку «Start Simulation» на рабочем столе. Запустится сервер JBoss (рис 1.1).

Practicum1.png
Рис 1.1 Окно эмулятора сервера JBoss

Через минуту дважды кликните на ярлыке «Simulation Web Interface». Откроется окно браузера (рис 1.2).

Practicum2.png
Рис 1.2 Форма авторизации

В поле «Пользователь» введите Administrator, а в поле «Пароль» - wf и нажмите кнопку «Войти». Перед Вами откроется интерфейс администратора сервера RunaWFE (рис 1.3).

Practicum3.png
Рис 1.3 Интерфейс администратора сервера

Перейдите к списку исполнителей кликнув по надписи «Исполнители» в левой части экрана.

Откроется список исполнителей (рис 1.4)

Practicum4.png
Рис 1.4 Список исполнителей

Создайте группу пользователей «Users». Для этого кликните «Создать группу», Откроется интерфейс создания группы (рис 1.5).

Practicum5.png
Рис 1.5 Интерфейс создания группы пользователей

В поле «Имя» введите слово «Users», и добавьте какое-нибудь описание этой группы, после чего нажмите кнопку «Применить».

Далее перейдите на вкладку «Система», кликнув по надписи «Система» в нижней части меню. Откроется интерфейс «Обладатели полномочий» (рис 1.6).

Practicum6.png
Рис 1.6 Форма распределения полномочий

Добавьте созданную Вами группу в этот список. Для этого кликните по надписи «Добавить». Откроется список (рис 1.7), в котором найдите группу «Users». Установите напротив этой группы галку и нажмите «Добавить».

Practicum7.png
Рис 1.7 Форма подключения пользователей и групп к распределению полномочий

Теперь необходимо выдать группе некоторые полномочия. Для этого кликните по надписи «Система», напротив группы «Users» поставьте галки в столбцах: «Читать», «Входить», «Загружать определение процесса», как показано на рисунке, и нажмите кнопку «Применить».

Practicum8.png
Рис 1.8 Форма распределения полномочий с добавленными пользователями

Далее создайте учетные записи пользователей «Студент» и «Преподаватель».

Для создания учетной записи «Преподаватель» откройте интерфейс «Исполнители» и кликните по надписи «Создать пользователя». Откроется форма для ввода данных пользователя. В поле «Имя» введите «Преподаватель», в поле «Код» введите любой код, например 12, остальные поля заполнять необязательно.

Practicum9.png
Рис 1.9 Форма создания учетной записи пользователя

По окончании заполнения форм нажмите кнопку «Применить».

Для дополнительной правки учетной записи откройте меню «Исполнители». Найдите исполнителя «Преподаватель» и кликните по нему. Откроется интерфейс редактирования учетной записи (рис 1.10).

Practicum10.png
Рис 1.10 Расширенная форма правки учетной записи пользователя

Графа «Свойства исполнителя» является стандартным для учетной записи пользователя, в нем содержится базовое описание пользователя.

В графе «Статус» устанавливается статус пользователя («Активен» или «Не активен»). Его изменяют в случае если сотрудник появляется на рабочем месте, либо не может на нем появиться в силу каких-либо обстоятельств.

В графе «Пароль» введите пароль для пользователя «Преподаватель», знать старый пароль пользователя при этом не требуется. Затем нажмите «Применить». В графе «Группы пользователя» кликните надпись «Добавить» и в открывшемся списке поставьте галку напротив группы «Users», после чего нажмите кнопку «Добавить».

Настройка учетной записи «Преподаватель» завершена.

Аналогичным образом создайте и настройте учетную запись «Студент».

'Разработка модели процесса сдачи лабораторной работы'


Дважды кликните по ярлыку «Process Designer». Загрузится оболочка редактора бизнес-процессов.

Practicum11.png
Рис 1.11 Оболочка редактора бизнес-процессов

Создайте новый проект. Для этого в поле «Проводник» кликните правой кнопкой мыши и выберите в выпадающем списке «Новый проект».

В появившемся окне (рис 1.12) введите имя своего проекта и нажмите «Готово».

Practicum12.png
Рис 1.12 Первый шаг создания проекта

Кликните правой кнопкой мыши по значку Вашего проекта в проводнике. В выпадающем списке выберите «Новый процесс».

В появившемся окне (рис 1.13) введите имя процесса, в поле «Нотация» выберите «bpmn» и нажмите «Готово».

Practicum13.png
Рис 1.13 Создание процесса. Выбор методологии

На палитре выберите элемент «Начало» и нанесите его на схему. Далее выберите элемент «Узел-действие». Разместите элементы на схеме как показано на рис 1.14.

Practicum14.png
Рис 1.14 Первичное размещение узлов

Выберите элемент «Окончание» и добавьте его на схему, как показано на рис 1.15

Practicum15.png
Рис 1.15 Добавление узла-окончания

Далее соедините компоненты схемы при помощи элемента «Переход», как показано на рисунке 1.16

Practicum16.png
Рис 1.16 Соединение узлов

Чтобы переименовать «Узел-действие» необходимо дважды по нему кликнуть и ввести текст.

Переименуйте узлы-действия как показано на рис 1.17 ниже.


Practicum17.png
Рис 1.17 Переименованные узлы

Теперь необходимо задать роли каждому узлу. Для этого перейдите на вкладку «Роли», как показано на рисунке 1.18.

Practicum18.png
Рис 1.18 Переход к вкладке «Роли»

На вкладке «Роли» нажмите кнопку «Создать», как показано на рисунке 1.19

Practicum19.png
Рис 1.19 Вкладка Роли

Появится окно создания новой роли, в поле «Название» напишите «Преподаватель-Роль» и нажмите кнопку «OK».

Practicum20.png
Рис 1.20 Диалог ввода имени новой роли

Далее на вкладке Роли нажмите кнопку «Изменить». В появившемся окне перейдите на вкладку «Группы и пользователи WF».


Practicum21.png
Рис 1.21 Диалог редактирования инициализатора роли

Кликните по ссылке «Настройки соединения». Появится окно настроек соединения с сервером (рис 1.22).

Practicum22.png
Рис 1.22 Диалог настройки соединения с сервером RunaWFE

В поле URL сервера введите: jnp://127.0.0.1:1099, режим аутентификации выберите «По логину и паролю». В поле «Логин» введите Administrator, в поле «Пароль» – wf.

Нажмите кнопку «Проверить соединение» и, в случае успешной проверки, нажмите «Синхронизация», после чего нажмите «Готово».

Далее кликните по надписи «пользователь», потом по появившейся ссылке «Выбрать». В появившемся окне (рис 1.23) выберите пользователя «Преподаватель» и нажмите кнопку «OK».

Practicum23.png

Рис 1.23 Диалог выбора инициализатора роли

Нажмите кнопку «OK» в поле «Редактирование инициализатора роли».

Аналогичным образом создайте роль «Студент-Роль».


В основном окне перейдите на вкладку «Граф».

Кликните правой кнопкой мыши на элемент «Начало», расположенный на схеме.

Practicum24.png
Рис 1.24 Присвоение роли


В выпадающем списке (рис 1.24) выберите «Роли» и «Преподаватель».

Аналогичным образом присвойте роли остальным блокам так, чтобы на первых двух блоках роль принадлежала учетной записи «Студент», а на остальных «Преподаватель» (рис 1.25).

Practicum25.png
Рис 1.25 Узлы с ролями

Далее кликните правой кнопкой мыши на элемент «Начало», расположенный на схеме. В выпадающем списке (рис 1.26) выберите элемент «Форма» и «Проверка переменных формы».

Practicum26.png
Рис 1.26 Вызов диалога проверки переменных формы


В появившемся окне (рис 1.27) нажмите «Да».


Practicum27.png
Рис 1.27 Окно проверки

В появившемся окне (рис 1.28) нажмите кнопку «Готово».

Practicum28.png
Рис 1.28 Диалог валидации формы


Повторите данную операцию для остальных элементов, кроме элемента «Окончание».


1.3.3 Создание форм для элементов.

Для того, чтобы создать форму кликните правой кнопкой мыши на элементе «Начало», в выпадающем списке (рис 1.29) и выберите «Форма» и «Создать форму».

Practicum29.png
Рис 1.29 Вызов редактора форм

В появившемся окне (рис 1.30) выберите тип @HTML форма + freemarker теги» и нажмите кнопку OK.

Practicum30.png
Рис 1.30 Диалог выбора типа формы

Откроется окно HTML редактора (рис 1.31). Напишите в нем «Выдать задание на лабораторную работу».

Practicum31.png
Рис 1.31 Окно HTML редактора

Закройте окно HTML редактора кликнув крестик в верхней части экрана (рис 1.32)

Practicum32.png
Рис 1.32 Закрытие окна HTML редактора

Система предложит Вам сохранить изменения (рис 1.33), нажмите Да.

Practicum33.png
Рис 1.33 Диалог сохранения формы

Аналогичным образом создайте формы для каждого из элементов схемы, кроме элемента «Окончание».

В форме элемента «Получить задание на лабораторную работу» напишите: «Получить задание на лабораторную работу».

В форме элемента «Выполнить лабораторную работу» напишите: «Выполнить лабораторную работу».

В форме элемента «Проверить лабораторную работу» напишите: «Проверить лабораторную работу».

В форме элемента «Поставить отметку о сдаче лабораторной работы» напишите: «Поставить отметку о сдаче лабораторной работы».


Сохраните проект нажав кнопку «Сохранить» (рис 1.34) в верхней части экрана.

Practicum34.png
Рис 1.34 Кнопка сохранения


'Экспорт процесса'


Экспортируйте процесс в *.par файл. Для этого нажмите кнопку «Экспорт процессов» (рис 1.35) в верхней части экрана.

Practicum35.png
Рис 1.35 Кнопка экспорта процессов


Откроется окно «Экспорт архива» (рис 1.36), нажмите кнопку «Обзор…»

Practicum36.png
Рис 1.36 Диалог выбора процесса для экспорта

В появившемся окне «Сохранить как» (рис 1.37) выберите путь сохранения и имя файла, после чего нажмите кнопку «Сохранить» и кнопку «Готово» в предыдущем окне.

Practicum37.png
Рис 1.37 Окно «Сохранить как»


'Загрузка процесса на сервер'


На рабочем столе откройте ярлык «Simulation Web Interface» и войдите в систему под логином «Преподаватель».

В меню кликните по надписи «Определения процессов», в открывшейся странице кликните по надписи «Загрузить определение процесса».

На открывшейся странице (рис 1.38) в качестве типа процесса выберите «Script». Затем нажмите кнопку «Выберите фай»л и в появившемся окне укажите созданный вами архив, после чего нажмите кнопку «Выполнить».

Practicum38.png
Рис 1.38 Форма загрузки архива на сервер


'Проигрывание загруженного процесса'


На открывшейся странице выберите определение процесса, которое Вы загрузили.

Practicum39.png
Рис 1.39 Форма выбора процессов для запуска

Процесс запустится после того, как на странице стартовой формы (рис 1.40) Вы нажмете кнопку «Запустить».

Practicum40.png
Рис 1.40 Запуск загруженного процесса

Запустите еще одно окно обозревателя и перейдите по адресу http://localhost:8080/wfe/. Войдите в систему под учетной записью студента.

У Вас появилась задача «Получить задание на лабораторную работу», щелкнув по ней вы можете изучить форму задания и выполнить его. Выполните все задания для учетной записи «Студент», после чего авторизуйтесь в системе под учетной записью «Преподаватель» и выполните все задания для учетной записи «Преподаватель».


Требования к содержанию и оформлению отчета

В результате выполнения лабораторной работы должен быть сформирован отчет.

В отчете должны содержаться следующие выходные данные:

1) Цель

2) Все созданные модели с пояснение и описанием

3) Скриншоты всех основных действий, совершенных в процессе выполнения задания с пояснениями

4) Список пользователей(ролей) с описанием их полномочий

5) Список использованных переменных в виде даталогической модели

6) Результаты исполнения

7) Выводы


Контрольные вопросы

    1. Что такое BPM?
    2. В чем отличие BPM от BPMN?
    3. Из каких компонентов состоит RunaWFE?
    4. Что такое Web-интерфейс?
    5. Какие вкладки содержит учетная запись Администратора на сервере?
    6. Что такое роль? Какими они бывают?
    7. Что такое форма?

Лабораторная работа №2. Построение Процесса сдачи лабораторной работы

Цель работы

Целью работы является освоение простейших приемов выполнения функций с элементами нотации BPMN, поддерживаемых конструктором процессов системы RunaWFE.


Теоретические сведения

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

Бизнес-процесс можно представить в виде математического графа – набора вершин, называемых «узлами-действиями» и «маршрутными узлами», соединенных между собой возможными переходами. По этим переходам перемещаются точки исполнения (управления). При переходе точки исполнения (управления) в конкретный узел-действие соответствующему исполнителю направляется задание.


Порядок выполнения работы

Откройте Редактор процессов. Приведите построенную вами ранее схему к схеме, указанной на рис 2.5.

Обратите внимание на разницу между элементами, обозначающими Разделение и Слияние, а также, что один из элементов имеет таймер (рис 2.1)

Practicum2 1.png
Рис 2.1 Узел-действие с таймером

Элемент с таймером делается следующим образом: Кликните по элементу правой кнопкой мыши и в выпадающем списке выберите Добавить таймер.

Значение таймера задается в свойствах элемента (рис 2.2).

Practicum2 2.png

Рис 2.2 Установка значения таймера

Имена переходов также задаются в их свойствах.

Для редактирования элемента Ветвление необходимо иметь в системе хотя бы одну переменную. Для этого перейдите на вкладку Переменные в нижней части экрана.

Practicum2 3.png
Рис 2.3 Переход на вкладку «Переменные»

Нажмите кнопку Создать, в появившемся окне введите наименование кнопки, например Оценка_Отчета, в качестве формата укажите StringFormat.

Далее вернитесь на вкладку Граф и кликните правой кнопкой мыши по верхнему элементу Ветвление, откроется окно редактора Bean Shell (рис 2.4).

Practicum2 4.png
Рис 2.4 Установка параметров ветвления


Practicum2 5.png
Рис 2.5 Схема бизнес-процесса сдачи лабораторной работы

Напротив каждого из путей выберите переменную Оценка_Отчета и соответствующее для данного пути значение этой переменной.

Аналогично редактируется и второй элемент ветвления, только в качестве пути по умолчанию укажите Хорошо (рис 2.6).

Practicum2 6.png
Рис 2.6 Установка параметров второго ветвления

Далее создайте формы и файлы проверки переменных для каждого из элементов схемы, кроме элементов Проверить лабораторную работу, Принять решение и Окончание аналогично примеру из предыдущего задания.

Чтобы изменить форму для элемента Проверить лабораторную работу кликните по ней правой кнопкой мыши и выберите в выпадающем списке Форма и Форма(Внутренний редактор).

Practicum2 7.png
Рис 2.7 Редактирование формы во внутреннем редакторе

Используя элемент Кнопка выбора приведите форму к виду, указанному на рисунке выше.

При размещении этого элемента на форме появляется окно его настроек (рис 2.8).

Practicum2 8.png
Рис 2.8 Окно настроек кнопки выбора

В качестве имени выберите Оценка_Отчета. В поле Значение введите Хорошо для одной кнопки и Плохо для другой.

Аналогичным образом создайте и приведите к следующему виду (рис 2.9) форму элемента Принять решение.

Practicum2 9.png
Рис 2.9 Форма элемента «Принять решение»

Для элемента Проверить лабораторную работу создайте файл проверки переменных, если он еще не был создан, далее двойным кликом поставьте галку рядом с переменной Оценка_Отчета, как показано на рис 2.10.

Practicum2 10.png
Рис 2.10 Окно настройки валидации переменных формы

Аналогичную операцию произведите с формой Принять решение.

Далее, пользуясь знаниями, полученными на предыдущем занятии экспортируйте Ваш проект в архив и загрузите этот архив на сервер. Затем запустите процесс на выполнение и проиграйте его.

Требования к содержанию и оформлению отчета

В результате выполнения лабораторной работы должен быть сформирован отчет.

В отчете должны содержаться следующие выходные данные:

1) Цель;

2) Все созданные модели с пояснение и описанием;

3) Скриншоты всех основных действий, совершенных в процессе выполнения задания с пояснениями;

4) Список пользователей(ролей) с описанием их полномочий;

5) Список использованных переменных в виде даталогической модели;

6) Результаты исполнения;

7) Выводы;


Контрольные вопросы

  1. Какие компоненты нотации BPMN используются в RunaWFE?
  2. Что такое валидация?
  3. Какие компоненты можно поместить на форму?
  4. Где можно просмотреть ход исполнения модели?

Лабораторная работа №3. Декомпозиция: подпроцессы и мульти-действия

Цель работы

Целью работы является освоение простейших приемов выполнения функций декомпозиции BPM-моделей процессов в среде RunaWFE.

Теоретические сведения

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

Подпроцессом называется элемент, внутренняя структура которого была смоделирована с использованием элементов BPM нотации, таких как блоки, переходы, события, последовательные потоки и пр. Подпроцесс отображается в виде графического объекта в составе процесса, но также он может быть отображен «раскрытым» для отображения процесса более низкого уровня внутри данного подпроцесса.

Мульти-действием (или множественным действием) называется элемент, который позволяет создавать множественные экземпляры подпроцесса. Экземпляры могут запускаться как последовательно, так и параллельно. В редакторе RunaWFE реализован только параллельный запуск экземпляров подпроцесса.

Порядок выполнения работы

Откройте Редактор Процессов и перейдите в нем к проекту из предыдущей лабораторной работы.

Создайте в нем новый процесс, кликнув правой кнопкой мыши в Проводнике по проекту и выбрав в выпадающем меню Новый процесс (рис 3.1).

Rl31.png
Рис 3.1 Создание нового процесса

В появившемся окне укажите имя для данного процесса и установите нотацию bpmn (рис 3.2), после чего нажмите Готово.


Rl32.png
Рис 3.2 Диалог создания нового процесса

Перейдите к процессу из предыдущей лабораторной работы. Выделите при помощи нажатой клавиши Ctrl на схеме процесса блоки Задать дополнительные вопросы, Ответить на вопросы и Принять решение (рис 3.3).


Rl33.png
Рис 3.3 Блоки для выделения на графе основного процесса

Кликните правой кнопкой мыши о одному из выделенных блоков и выберите пункт Копировать (рис 3.4).

Rl34.png
Рис 3.4 Копирование выделенных блоков

Перейдите к новому процессу. Кликните правой кнопкой мыши по области редактирования и нажмите Вставить. К появившимся элементам добавьте элементы начала и окончания процесса (рис 3.5).

Rl35.png
Рис 3.5 Граф нового процесса

Кликните правой кнопкой мыши по блоку Задать дополнительные вопросы и выберите Удалить (рис 3.6). Далее присвойте элементу начала процесса роль Преподаватель, создайте для него форму и файл валидации (данные действия рассматривались в предыдущих лабораторных работах). Обратите внимание, что переменные процесса скопировались вместе с блоками.

Rl36.png
Рис 3.6 Удаление лишнего блока

Перейдите к основному процессу. Удалите скопированные блоки и на их месте создайте элемент типа Подпроцесс и укажите переходы к нему как показано на рис. В свойствах перехода tr1 укажите наименование Плохо. Задайте блоку название Проверить знания студента (рис 3.7).


Rl37.png
Рис 3.7 Создание подпроцесса

Далее зайдите в свойства элемента Ветвление. Для перехода tr1 или Плохо восстановите условия перехода.

Кликните правой кнопкой мыши по блоку Проверить знания студента и выберите Подпроцесс (рис 3.8).


Rl38.png
Рис 3.8 Переход к настройке подпроцесса

В появившемся окне выберите в выпадающем списке Название процесса процесс, который создали. Далее требуется добавить переменную для связи процесса с подпроцессом, для этого внизу того же окна нажмите кнопку Добавить. В появившемся окне в обоих списках выберите переменную Оценка_Отчета (названия переменных совпадают из-за переноса блоков из одного процесса в другой). В группе Использование поставьте галочки напротив полей чтение и запись (рис 3.9).

Rl39.png
Рис 3.9 Диалоги настройки подпроцесса и добавления общей переменной

Далее сохраните и экспортируйте оба процесса.

Запустите сервер-симулятор процессов. Авторизуйтесь в системе под администратором и перейдите к списку процессов (пункт Меню Запустить процесс). Если в списке присутствуют процессы, созданные в прошлых работах, то удалите их.

Загрузите экспортированные процессы на сервер (рис 3.10).

Rl310.png
Рис 3.10 Процесс и подпроцесс, загруженные на сервер

Запустите основной процесс и проиграйте его таким образом, чтобы задействовать подпроцесс. Перейдите к списку запущенных процессов. Обратите внимание, что было запущено два процесса (рис_3.11).


Rl311.png
Рис 3.11 Просмотр запущенных процессов

Завершив процесс, откройте редактор процессов и перейдите в нем к графу основного процесса. Выделите на графе блоки Ответить на контрольные вопросы и Выполнить лабораторную работу вместе с элементами Разделение и Слияние (рис 3.12) и удалите их.

Rl312.png
Рис 3.12 Выделение элементов графа основного процесса

Выберите на палитре элемент Мульти-действие (рис 3.12) и разместите его на месте удаленных элементов (рис 3.13)

Rl313.png
Рис 3.13 Выбор мульти-действия

Соедините новый элемент мульти-действия с остальными элементами схемы, как показано на рис 3.14. Задайте данному элементу имя Выполнить лабораторную работу

Rl314.png
Рис 3.14 Элемент мульти-действия в графе основного процесса

Создайте новый процесс в том же проекте, в котором находится основной (рис 3.15).

Rl315.png
Рис 3.15 Диалог создания нового процесса

В новом процессе создайте граф, состоящий из элементов начала, окончания и узла-действия. Соедините их как показано на рис. 3.16 и задайте элементу узел-действие наименование Выполнить задание.

Rl316.png
Рис 3.16 Граф нового процесса

Перейдите на вкладку Роли и создайте там новую роль, назовите ее Студент-Роль (рис 3.17).

Rl317.png
Рис 3.17 Новая роль в подпроцессе

Перейдите на вкладку Переменные и создайте новую переменную, задайте ей имя QuestNum и формат StringFormat (рис_3.18). Эта переменная будет определять номер задания.

Rl318.png
Рис 3.18 Диалог создания новой переменной

Перейдите к графу процесса и присвойте роль Студент-Роль элементу начала и блоку Выполнить задание (рис 3.19).

Rl319.png
Рис 3.19 Присвоение роли на графе нового процесса

Создайте форму для элемента начала. Добавьте на форму текст «Изучить теорию по заданию №». Далее добавьте вывод переменной, нажав кнопку [[Image:]], помеченную как Вывод переменной. Задайте этой переменной имя QuestNum и установите формат Однострочный (рис 3.20.

Rl320.png
Рис 3.20 Диалог настройки вывода переменной

Результат должен получиться как на рис 3.21.

Rl321.png
Рис 3.21 Форма вывода переменной в веб-редакторе

Перейдите к основному процессу и откройте вкладку Переменные. Добавьте переменную с названием NumberOfQuests, задайте ей формат StringFormat (рис 3.22).

Rl322.png
Рис 3.22 Диалог создания переменной «NumberOfQuests»

Также добавьте переменную с названием QuestArray и задайте ей тип StringArrayFormat (рис 3.23).

Rl323.png
Рис 3.23 Диалог создания переменной «QuestArray»

Откройте редактирование формы для элемента начала процесса (рис 3.24).


Rl324.png
Рис 3.24 Вызов редактора формы элемента начала процесса

Добавьте на форму текст Выберите число задач в работе и добавьте на форму элемент Список, обозначенный символом Nail.png.

В появившемся окне, в поле Имя выберите переменную NumberOfQuests, размер поля установите в одну линию, в поле Доступные варианты установите значения полей Текст и Значение как показано на рис 3.25. Число доступных вариантов должно быть не менее пяти.

Rl325.png
Рис 3.25 Диалог создания отображения в виде списка

В результате форма должна выглядеть как на рис. 3.26.


Rl326.png
Рис 3.26 Форма выбора количества задач

Далее требуется передать блоку Выполнить лабораторную работу массив строковых значений. Для каждого элемента данного массива будет создан отдельный экземпляр процесса. Переменная массива уже создана, это QuestArray, остается передать в нее массив значений. Для создания и передачи массива используем обработчики. Убедитесь, что у вас установлена галочка в поле Вид->Показать обработчики (рис 3.27).


Rl327.png
Рис 3.27 Включение отображения обработчиков

Создайте обработчик для блока Получить задание на лабораторную работу (рис 3.28).

Rl328.png
Рис 3.28 Создание нового обработчика

Выделите созданный обработчик, в нижней части редактора процессов задайте значение свойству Класс обработчика, для этого нажмите кнопку с символом многоточия (рис 3.29).

Rl329.png
Рис 3.29 Вызов выбора класса обработчика

В окне Выбор типа выберите ExecuteFormulaActionHandler (рис_3.30).

Rl330.png
Рис 3.30 Диалог выбора класса обработчика

Нажмите на кнопку с символом многоточия напротив свойства Конфигурация. Введите в поле конфигурации следующий код:

QuestArray = “”

Данным кодом производится инициализация массива (рис_3.31).

Rl331.png
Рис 3.31 Диалог ввода конфигурации обработчика

Создайте в том же блоке еще один обработчик (рис 3.32).

Rl332.png
Рис 3.32 Создание дополнительного обработчика

Укажите ему тип BSHActionHandler (рис 3.33).

Rl333.png
Рис 3.33 Выбор класса дополнительного обработчика

В конфигурации обработчика введите следующий код:


int n = Integer.parseInt(NumberOfQuests);

String[] array = new String[n];

for (int i=0; i < n; i++){

array[i] =" "+(i+1);

};

QuestArray = array;


При помощи данного кода производится заполнение массива QuestArray.

Вызовите окно настройки подпроцесса для блока Выполнить лабораторную работу (рис 3.34).

Rl334.png
Рис 3.34 Вызов диалога настройки мульти-действия

В списке Название подпроцесса выберите подпроцесс, для которого создавали переменную QuestNum.

Нажмите кнопку Добавить для добавления новой переменной. В появившемся окне установите имя переменной в процессе QuestArray и имя переменной в подпроцессе – QuestNum, режим использования - установите чтение (рис 3.35).

Rl335.png
Рис 3.35 Диалог добавления действия передачи массива значений

Далее добавьте еще одну переменную, для нее установите имя переменной в процессе Студент и имя переменной в подпроцессе –Студент-Роль, режим использования - установите чтение (рис 3.36). Это требуется для делегирования роли в подпроцесс.


Rl336.png
Рис 3.36 Диалог добавления действия передачи роли

Сохраните проект и экспортируйте оба процесса на сервер. Проиграйте несколько вариантов сценариев и убедитесь в отсутствии ошибок в работе.

Требования к содержанию и оформлению отчета

В результате выполнения лабораторной работы должен быть сформирован отчет.

В отчете должны содержаться следующие выходные данные:

1) Цель;

2) Все созданные модели с пояснением и описанием;

3) Скриншоты всех основных действий, совершенных в процессе выполнения задания с пояснениями;

4) Список пользователей(ролей) с описанием их полномочий;

5) Список использованных переменных в виде даталогической модели;

6) Результаты исполнения;

7) Выводы.

Контрольные вопросы

  1. Чем отличается подпроцесс от мульти-действия?
  2. Чем определяется количество процессов, запущенных при помощи мульти-действия?
  3. В каком формате хранится массив данных, передаваемых в мульти-действие?
  4. Для чего требуется передавать роль участника процесса в качестве переменной?

Лабораторная работа №4. Моделирование собственного процесса

Цель работы

Целью работы является закрепление знаний о создании BPM-моделей процессов в среде RunaWFE.


Теоретические сведения

Веб-сервис – это метод платформонезависимого взаимодействия систем. Может осуществлятся по протоколу HTTP и обменивается информацию в формате XML. Для реализации удаленного вызова команд используется SOAP-протокол. Данный протокол используется поверх протокола HTTP.

SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) – протокол обмена структурированными сообщениями в распределённой вычислительной среде. Используется для обмена произвольными сообщениями в формате XML (рис 4.1).

Rl41.png
Рис 4.1 Структура пакета SOAP

Для каждого веб-сервиса есть уникальный документ WSDL, описывающий web-сервис. Он определяет расположение сервиса и операции (или методы), предоставляемые им.

WSDL (Web Services Description Language)  – язык описания  веб-сервисов и доступа к ним, основанный на языке XML.

При запуске RunaWFE–сервера, автоматически происходит запуск веб-сервисов. Веб-сервисы находятся в двух подсистемах: подсистеме авторизации и подсистеме workflow.

Доступ к веб-сервисам из подсистемы авторизации осуществляется с помощью запросов, идентифицируемых строкой: http://host:port/af.webservice/Имя_веб-сервиса. Для доступа к веб-сервисам из подсистемы workflow используется следующий URI: http://host:port/wf.webservice/Имя_веб-сервиса.

Порядок выполнения работы

Согласно одной из тем из списка разработайте модель веб-сервиса и реализуйте ее в пакете Runa:

  1. Монтаж видеоролика;
  2. Редактирование фотографии;
  3. Экзамен по вождению;
  4. Продажа товара;
  5. Написание программы;
  6. Посадка самолета;
  7. Взлет самолета;
  8. Прибытие поезда на вокзал;
  9. Поиск информации в Интернете и ее применение;
  10. Настройка межсетевого экрана;
  11. Выбор комплектующих к ПК и его сборка;
  12. Ремонт в квартире;
  13. Получение допуска к сессии;
  14. Получение допуска к экзамену;
  15. Приготовление пищи;
  16. Перевод текста при помощи программы-переводчика;
  17. Обмен шифрованными сообщениями (асимметричное шифрование RSA);
  18. Конвейерная сборка;
  19. Сборка авиамодели;
  20. Лечение болезни;
  21. Составление маршрута;
  22. Сканирование документов;
  23. Покупка билетов в кино;
  24. Строительство дома.

Также можно использовать свою тему, предварительно согласовав ее с преподавателем.

Модель должна содержать как минимум один подпроцесс, одно мульти-действие и одно ветвление.

Полученную модель процесса загрузите на сервер Runa, либо на сервер-симулятор и продемонстрируйте ее работоспособность преподавателю.

Требования к содержанию и оформлению отчета

В результате выполнения лабораторной работы должен быть сформирован отчет.

В отчете должны содержаться следующие выходные данные:

1) Цель;

2) Все созданные модели с пояснением и описанием;

3) Список пользователей(ролей) с описанием их полномочий;

4) Список использованных переменных в виде даталогической модели;

5) Результаты исполнения;

6) Выводы;

Контрольные вопросы

  1. Что такое веб-сервис?
  2. Что такое SOAP?
  3. Что такое WSDL?
  4. Каким образом запускаются сервисы в системе Runa?

Список литературы

  1. Документация RunaWFE [официальный сайт проекта]. URL: https://runawfe.ru/rus/Документация.