Завдання 2. Моделювання бізнес-процесу без інтеграцій
- 1. Мета завдання
- 2. Передумови
- 3. Процес виконання завдання
- 3.1. Моделювання бізнес-процесу
- 3.1.1. Етапи моделювання бізнес-процесу
- 3.1.2. Створення пулу для бізнес-процесу
- 3.1.3. Створення початкової події
- 3.1.4. Створення користувацької задачі для внесення даних
- 3.1.5. Створення користувацької задачі для перегляду даних
- 3.1.6. Створення сервісної задачі із результатом бізнес-процесу
- 3.1.7. Створення кінцевої події
- 3.1.8. Додавання події переривання виконання процесу
- 3.1.9. Збереження змодельованої схеми бізнес-процесу
- 3.2. Моделювання форм
- 3.3. Моделювання доступу до бізнес-процесу
- 3.1. Моделювання бізнес-процесу
- 4. Завантаження файлів регламенту до віддаленого репозиторію Gerrit
- 5. Перевірка результату
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
1. Мета завдання
- Виконання цього завдання має на меті:
-
-
Навчити моделювати простий бізнес-процес без інтеграцій із фабрикою даних за допомогою:
-
користувацьких та сервісних задач;
-
типових розширень для користувацьких та сервісних задач;
-
JUEL-функції
submission()
для передзаповнення форм.
-
-
Навчити моделювати форми в Кабінеті адміністратора регламентів.
-
Навчити надавати доступ до бізнес-процесу з Кабінету посадової особи.
-
2. Передумови
Перед початком роботи над завданням виконайте ці попередні кроки:
3. Процес виконання завдання
3.1. Моделювання бізнес-процесу
На етапі моделювання бізнес-процесу необхідно створити та зберегти відповідну BPMN-діаграму. Використовуйте файл add-lab-test.bpmn із готовою схемою бізнес-процесу для прикладу. |
Моделювання бізнес-процесу можливо двома способами:
|
Якщо планується моделювання бізнес-процесу у десктопному додатку Camunda Modeler, створювати початкові файли також рекомендується через вебверсію. На етапі створення бізнес-процесу через настільний додаток можлива поява помилки, наприклад через різні вимоги до назви на десктопній та вебверсії, може відрізнятися версія застосунку і т.п. Створені у вебверсії файли потрібно зберегти згідно з вимогами, після чого починати працювати локально у Camunda Modeler. Детальніше за посиланням. |
3.1.1. Етапи моделювання бізнес-процесу
В рамках цього завдання моделювальник має створити бізнес-процес, що складається з 6 етапів:
Важливо! Після проходження всіх етапів, не забудьте зберегти змодельовану схему бізнес-процесу до папки bpmn з регламентом реєстру (див. Збереження змодельованої схеми бізнес-процесу) |
3.1.2. Створення пулу для бізнес-процесу
Найперше, змоделюйте пул для бізнес-процесу. Для цього виконайте наступні кроки:
-
Відкрийте додаток Camunda Modeler та створіть нову діаграму BPMN. Для цього у лівому верхньому куті натисніть меню File → New File → BPMN Diagram.
-
На панелі інструментів, зліва, знайдіть елемент Create pool/Participant, перетягніть його до панелі моделювання та заповніть наступні поля відповідними значеннями:
-
у полі
Name
введітьВнесення даних про лабораторію
; -
у полі
Process id
введітьadd-lab-test
; -
у полі
Process name
вкажітьВнесення даних про лабораторію
.
Пул необхідно створювати для кожного бізнес-процесу. Це потрібно для того, щоб задати певні параметри:
-
Унікальний
Process id
для використання цього бізнес-процесу у системі таProcess name
для відображення назви процесу у Кабінеті користувача; -
Прапорець (checkbox)
Executable
вказує, що цей бізнес-процес повинен бути розгорнутий у реєстрі (значення “true” за замовчуванням).
-
Якщо ви працюєте у вебверсії (Admin Portal), створіть бізнес-процес в кабінеті адміністратора реєстрів з тими ж параметрами та перейдіть до “Конструктора” (в правому верхньому куті). Відтворіть аналогічні кроки зі створення Create pool/Participant. |
3.1.3. Створення початкової події
Створіть початкову подію. Для цього виконайте наступні кроки:
-
На панелі інструментів, зліва, знайдіть елемент (коло) CreateStartEvent та перетягніть його до панелі моделювання.
-
На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:
-
у полі
Name
введітьпочаток
; -
у полі
Initiator
введітьinitiator
, змінна, яка буде у собі містити інформацію про поточного користувача, який запустив цей бізнес-процес.Детальна інформація щодо змінної initiator доступна за посиланням.
Кожен бізнес-процес повинен починатися зі
StartEvent
і закінчуватисяEndEvent
.
-
3.1.4. Створення користувацької задачі для внесення даних
Далі створіть користувацьку задачу (User Task), призначену для внесення даних. Для цього виконайте наступні кроки:
-
Оберіть коло з початковою подією, змодельованою на попередньому етапі, та приєднайте нову користувацьку задачу, натиснувши іконку Append Task.
-
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт User Task.
-
Введіть назву задачі —
Внесення даних про лабораторію
(полеName
на панелі справа). -
На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:
-
натисніть
Open Catalog
, оберіть шаблон User Form (Користувацька форма) та натиснітьApply
для підтвердження; -
заповніть наступні поля:
-
у полі
Id
зазначтеaddLabForm
; -
у полі
Name
введітьВнесення даних про лабораторію
; -
у полі
Form key
введітьadd-lab-bp-add-lab-test
; -
у полі
Assignee
вкажіть${initiator}
.
-
-
-
Для задач поле Name використовується лише для відображення назви задачі у бізнес-процесі й жодним чином не впливає на бізнес-логіку.
-
У полі Form key зазначається службова назва UI форми, вона має бути унікальна. Він задається при створенні UI форми через admin-portal (Кабінет адміністратора регламенту). Процес створення форми із зазначенням id описано у наступних розділах цієї інструкції.
-
У полі Assignee зазначається який користувач буде виконувати цю задачу. Через те, що у системі є можливість передавати виконання бізнес-процесу між користувачами, то необхідно обов’язково вказувати Assignee. В зазначеному прикладі це initiator — користувач, який ініціював виконання цього бізнес-процесу.
3.1.5. Створення користувацької задачі для перегляду даних
Далі створіть користувацьку задачу (User Task), призначену для перегляду даних. Для цього виконайте наступні кроки:
-
Оберіть прямокутник із користувацькою задачею Внесення даних про лабораторію, змодельованою на попередньому етапі, та приєднайте нову користувацьку задачу, натиснувши іконку Append Task.
-
Введіть назву задачі — Перегляд даних про лабораторію (поле
Name
на панелі справа). -
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт User Task.
-
На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:
-
натисніть
Open Catalog
, оберіть шаблон User Form (Користувацька форма) та натиснітьApply
для підтвердження; -
заповніть наступні поля:
-
у полі
Name
введіть значенняПерегляд даних про лабораторію
; -
у полі
Form key
введітьadd-lab-bp-view-lab-test
; -
у полі
Assignee
вкажіть${initiator}
; -
у полі
Form data pre-population
вкажіть змінну${submission("addLabForm").formData}
.
-
За детальною інформацією щодо використання JUEL-функцій у бізнес-процесах (у нашому прикладі
submission()
) зверніться до інструкції: -
3.1.6. Створення сервісної задачі із результатом бізнес-процесу
Далі необхідно створити сервісну задачу (Service Task) для виводу результату бізнес-процесу. Для цього виконайте наступні кроки:
-
Оберіть прямокутник із користувацькою задачею Перегляд даних про лабораторію, змодельованою на попередньому етапі, та приєднайте нову сервісну задачу, натиснувши іконку Append Task.
-
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт Service Task.
-
Введіть назву задачі —
Встановити результат БП
(полеName
на панелі справа). -
На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:
-
натисніть
Open Catalog
, оберіть шаблон Define business process status (Визначити статус бізнес-процесу) та натиснітьApply
для підтвердження; -
заповніть наступні поля:
-
у полі
Name
введітьВстановити результат БП
; -
у полі
Status
введітьДані про лабораторію відображені
.
-
За допомогою цієї сервісної задачі встановлюється статус виконання бізнес-процесу, який показується у Кабінеті користувача, на підставі заданого тексту.
Це надає змогу користувачам швидше орієнтуватися, що було зроблено при виконанні певного бізнес-процесу.
-
3.1.7. Створення кінцевої події
Насамкінець змоделюйте кінцеву подію для завершення бізнес-процесу. Для цього виконайте наступні кроки:
-
Оберіть прямокутник із сервісною задачею Встановити результат БП, змодельованою на попередньому етапі, та приєднайте кінцеву подію, натиснувши іконку Append EndEvent.
-
На панелі налаштувань, справа, вкажіть назву задачі:
-
у полі
Name
введіть значеннякінець
.
-
3.1.8. Додавання події переривання виконання процесу
Для того, щоб у системі не накопичувалися невиконані процеси, потрібно обов’язково використовувати Timer Boundary Event. Додавати таймери потрібно тільки на користувацьки задачі.
Додайте таймер у процес змодельований вище.
Якщо користувач не завершить процес протягом 8 годин (з моменту переходу на першу чи другу користувацьку задачу) спрацює Timer Boundary Event та процес автоматично завершується.
Час виконання процесу визначається бізнес-аналітиком, узгоджується із замовником послуги або визначається у нормативній документації. |
3.1.9. Збереження змодельованої схеми бізнес-процесу
Після завершення процесу моделювання збережіть отриману схему бізнес-процесу із назвою add-lab-test.bpmn
.
-
Якщо ви працюєте у Camunda Modeler:
-
Для цього у лівому верхньому куті відкрийте меню File → Save File As.., введіть відповідну назву та шлях для збереження схеми. Додайте збережену схему до регламентної папки
bpmn
проєкту, після чого застосуйте зміни до локального Gerrit-репозиторію.
-
-
Якщо ви створювали бізнес-процес в Кабінеті адміністратора регламенту, виберіть версію-кандидат, в якій працювали, і натисніть Застосувати зміни до мастер-версії.
3.2. Моделювання форм
На етапі моделювання форм необхідно створити та прив’язати JSON-форми до попередньо змодельованих задач в рамках бізнес-процесу. Форми прив’язуються до бізнес-процесів за службовою назвою. Використовуйте файли add-lab-bp-add-lab-test.json та add-lab-bp-view-lab-test.json зі змодельованими формами для прикладу. |
3.2.1. Передумови
Моделювання форм, що використовуються при побудові бізнес-процесів, відбувається у вебзастосунку Кабінет адміністратора регламентів.
Посилання до Кабінету адміністратора регламентів можливо отримати у розділі Швидкі посилання адміністративної панелі Control Plane. |
Детальна інформація щодо моделювання форм доступна за посиланням: Додаткові відеоматеріали: |
3.2.2. Типи форм для бізнес-процесу
В рамках цього завдання моделювальник має створити форми 2 типів для налаштування правильної взаємодії із бізнес-процесом:
3.2.3. Створення форми для внесення даних
Рекомендуємо виконувати усі налаштування, використовуючи браузер Google Chrome для стабільної роботи усіх сервісів. |
Найперше, необхідно створити форму для внесення даних користувачем. Для цього виконайте наступні кроки:
-
Увійдіть до застосунку Кабінет адміністратора регламентів.
-
За замовчуванням після авторизації відбувається перехід до мастер-версії регламенту, де відображаються форми, які вже розгорнуті у регламенті.
У мастер-версії наявні форми доступні для перегляду, а також є можливість редагувати одну конкретну форму. Для цього виберіть необхідну форму, натисніть іконку редагування і в новому вікні оберіть Продовжити в мастер-версії. Після внесення змін до форми, натисніть кнопку Зберегти зміни, після чого автоматично запуститься процес додавання змін до мастер-гілки у Gerrit. Зачекайте кілька хвилин до його завершення. Для створення та редагування більше ніж однієї форми необхідно створювати новий запит (версію-кандидат).
-
У полі
Назва версії
вкажіть, наприклад, "завдання-1", а в поліОпис зміни
“Створення форм для Завдання 1”. Після зазначення назви та опису натиснітьСтворити
.Після створення буде автоматично виконано перехід до версії-кандидата у редакторі, де вже можливо буде створювати та редагувати форми.
-
Перейдіть до розділу
UI-форм
. Щоб створити нову форму для бізнес-процесу, натисніть кнопкуСтворити нову форму
. -
У вікні, що відкрилося, заповніть поля:
-
Вкажіть назву відповідної користувацької задачі —
Внесення даних про лабораторію
в поліБізнес-назва форми
. -
Заповніть поле
Службова назва форми
значеннямadd-lab-bp-add-lab-test
.
Важливо, щоб назва в полі Службова назва форми збігалася з відповідним Form key, створеним у бізнес-процесі.
-
-
Перейдіть на вкладку
Конструктор
.Рекомендовано використовувати компоненти із розділу “Оновлені”.
З панелі зліва перетягніть компонент Text Field до панелі моделювання та виконайте наступні налаштування:
-
на вкладці Display заповніть поле
Label
значеннямНазва лабораторії
: -
на вкладці API заповніть поле
Property name
значеннямname
;В поле Property name треба вносити ім’я поля таблиці в яке воно потрапляє у разі зберігання значення в базі. Якщо ім’я поля складається з 2 та більше слів то потрібно застосовувати CamelCase (перше слово починається з маленької літери, а наступні слова починаються з великою літери, без пробілів між ними). Наприклад: propertyName (в базі - property_name). -
натисніть кнопку
Save
для збереження змін:
-
-
З панелі зліва перетягніть компонент Text Field до панелі моделювання та виконайте наступні налаштування:
-
на вкладці Display заповніть поле
Label
значеннямКод ЄДРПОУ або РНОКПП
: -
на вкладці API заповніть поле
Property name
значеннямedrpou
; -
на вкладці Validation внесіть обмеження на кількість цифр для поля Minimum Length 8 (для ЄДРПОУ) та Maximum Length 10 (для РНОКПП);
-
Натисніть кнопку
Save
для збереження змін:
-
-
Збережіть форму, натиснувши кнопку
Створити форму
у правому верхньому куті:
3.2.4. Створення форми для перегляду даних
Після завершення попереднього кроку та створення форми для внесення даних, створіть ще одну форму для перегляду даних.
Для цього або скопіюйте попередньо змодельовану форму, натиснувши іконку копіювання — це дозволить створити форму із готового шаблону, — або створіть нову форму, натиснувши кнопку Створити нову форму
у правому верхньому куті.
Налаштуйте параметри форми:
-
введіть назву користувацької задачі
Перегляд даних про лабораторію
в поліБізнес-назва форми
; -
заповніть поле
Службова назва форми
значеннямadd-lab-bp-view-lab-test
; -
В обох компонентах — Назва лабораторії та Код ЄДРПОУ або РНОКПП:
-
на вкладці Display встановіть прапорець для параметра Disabled;
-
Натисніть кнопку
Save
для збереження змін.
-
3.2.5. Збереження змодельованих форм бізнес-процесу
Зберегти змодельовані форми можна двома способами:
-
Перейти до створеної версії-кандидата і натиснути Застосувати зміни до мастер-версії, після чого автоматично запускається процес додавання змін до мастер-гілки у Gerrit. Зачекайте кілька хвилин до його завершення.
-
Завантажте форми, натиснувши іконку завантаження, та помістіть їх до регламентної папки forms проєкту в локальному Gerrit-репозиторії.
3.3. Моделювання доступу до бізнес-процесу
На цьому етапі необхідно надати доступ до бізнес-процесу із Кабінету посадової особи. Параметри доступу налаштовуються у конфігураційному файлі, що має назву officer.yml. |
Внесіть зміни у файл officer.yml
, що знаходиться у теці bp-auth
:
authorization:
realm: 'officer'
process_definitions:
- process_definition_id: 'add-lab-test'
process_name: 'Створення лабораторії'
process_description: 'Регламент для створення лабораторій'
roles:
- officer
Зберігайте відступи у файлі officer.yml , вони мають значення та використовуються для позначення вкладеності та загальної структури.
|
У разі, якщо не вказувати таку конфігурацію, то бізнес-процес буде розгорнуто у регламенті, але він не буде відображатися у Кабінеті користувача.
Ролі |
Проведіть аудит ваших процесів та форм згідно з рекомендаціями на сторінці Аудит регламенту реєстру. |
4. Завантаження файлів регламенту до віддаленого репозиторію Gerrit
Для успішного розгортання бізнес-процесу, форм, а також застосування правильних налаштувань доступу до бізнес-процесу у цільовому середовищі, адміністратор регламенту має завантажити збережені локально файли регламенту реєстру до віддаленого сховища коду Gerrit.
Для цього виконайте кроки з інструкції Операції з регламентом в Gerrit.
5. Перевірка результату
Щоб побачити змодельовані процеси, вам необхідно увійти до Кабінету посадової особи (Officer Portal) з ключем посадової особи, що була додана з відповідною роллю.
|
Корисні відеоматеріали: