Завдання 2. Моделювання бізнес-процесу без інтеграцій

На цій сторінці:
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

1. Мета завдання

Виконання цього завдання має на меті:

3. Процес виконання завдання

3.1. Моделювання бізнес-процесу

На етапі моделювання бізнес-процесу необхідно створити та зберегти відповідну BPMN-діаграму.

Використовуйте файл add-lab-test.bpmn із готовою схемою бізнес-процесу для прикладу.

Моделювання бізнес-процесу можливо двома способами:

  1. Моделювання у вебзастосунку Кабінет адміністратора регламентів (рекомендується).

  2. Моделювання у десктопному додатку Camunda Modeler та подальшим додаванням файлу бізнес-процесу до віддаленого репозиторію Gerrit (або з перенесенням коду у вебверсію).

Якщо планується моделювання бізнес-процесу у десктопному додатку Camunda Modeler, створювати початкові файли також рекомендується через вебверсію. На етапі створення бізнес-процесу через настільний додаток можлива поява помилки, наприклад через різні вимоги до назви на десктопній та вебверсії, може відрізнятися версія застосунку і т.п. Створені у вебверсії файли потрібно зберегти згідно з вимогами, після чого починати працювати локально у Camunda Modeler. Детальніше за посиланням.

3.1.1. Етапи моделювання бізнес-процесу

В рамках цього завдання моделювальник має створити бізнес-процес, що складається з 6 етапів:

Важливо! Після проходження всіх етапів, не забудьте зберегти змодельовану схему бізнес-процесу до папки bpmn з регламентом реєстру (див. Збереження змодельованої схеми бізнес-процесу)

3.1.2. Створення пулу для бізнес-процесу

Найперше, змоделюйте пул для бізнес-процесу. Для цього виконайте наступні кроки:

  • Відкрийте додаток Camunda Modeler та створіть нову діаграму BPMN. Для цього у лівому верхньому куті натисніть меню FileNew FileBPMN Diagram.

  • На панелі інструментів, зліва, знайдіть елемент Create pool/Participant, перетягніть його до панелі моделювання та заповніть наступні поля відповідними значеннями:

    • у полі Name введіть Внесення даних про лабораторію;

    • у полі Process id введіть add-lab-test;

    • у полі Process name вкажіть Внесення даних про лабораторію.

    task 1 1 bp

    Пул необхідно створювати для кожного бізнес-процесу. Це потрібно для того, щоб задати певні параметри:

    • Унікальний Process id для використання цього бізнес-процесу у системі та Process name для відображення назви процесу у Кабінеті користувача;

    • Прапорець (checkbox) Executable вказує, що цей бізнес-процес повинен бути розгорнутий у реєстрі (значення “true” за замовчуванням).

Якщо ви працюєте у вебверсії (Admin Portal), створіть бізнес-процес в кабінеті адміністратора реєстрів з тими ж параметрами та перейдіть до “Конструктора” (в правому верхньому куті). Відтворіть аналогічні кроки зі створення Create pool/Participant.

3.1.3. Створення початкової події

Створіть початкову подію. Для цього виконайте наступні кроки:

  • На панелі інструментів, зліва, знайдіть елемент (коло) CreateStartEvent та перетягніть його до панелі моделювання.

  • На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:

    • у полі Name введіть початок;

    • у полі Initiator введіть initiator, змінна, яка буде у собі містити інформацію про поточного користувача, який запустив цей бізнес-процес.

      Детальна інформація щодо змінної initiator доступна за посиланням.

      task 1 2 bp

      Кожен бізнес-процес повинен починатися зі 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}.

task 1 3 bp

  • Для задач поле 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}.

    task 1 4 bp

    За детальною інформацією щодо використання JUEL-функцій у бізнес-процесах (у нашому прикладі submission()) зверніться до інструкції:

3.1.6. Створення сервісної задачі із результатом бізнес-процесу

Далі необхідно створити сервісну задачу (Service Task) для виводу результату бізнес-процесу. Для цього виконайте наступні кроки:

  • Оберіть прямокутник із користувацькою задачею Перегляд даних про лабораторію, змодельованою на попередньому етапі, та приєднайте нову сервісну задачу, натиснувши іконку Append Task.

  • Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт Service Task.

  • Введіть назву задачі — Встановити результат БП (поле Name на панелі справа).

  • На панелі налаштувань, справа, заповніть наступні параметри відповідними значеннями:

    • натисніть Open Catalog, оберіть шаблон Define business process status (Визначити статус бізнес-процесу) та натисніть Apply для підтвердження;

    • заповніть наступні поля:

      • у полі Name введіть Встановити результат БП;

      • у полі Status введіть Дані про лабораторію відображені.

    task 1 5 bp

    За допомогою цієї сервісної задачі встановлюється статус виконання бізнес-процесу, який показується у Кабінеті користувача, на підставі заданого тексту.

    Це надає змогу користувачам швидше орієнтуватися, що було зроблено при виконанні певного бізнес-процесу.

3.1.7. Створення кінцевої події

Насамкінець змоделюйте кінцеву подію для завершення бізнес-процесу. Для цього виконайте наступні кроки:

  • Оберіть прямокутник із сервісною задачею Встановити результат БП, змодельованою на попередньому етапі, та приєднайте кінцеву подію, натиснувши іконку Append EndEvent.

  • На панелі налаштувань, справа, вкажіть назву задачі:

    • у полі Name введіть значення кінець.

task 1 6 bp

3.1.8. Додавання події переривання виконання процесу

Для того, щоб у системі не накопичувалися невиконані процеси, потрібно обов’язково використовувати Timer Boundary Event. Додавати таймери потрібно тільки на користувацьки задачі.

Додайте таймер у процес змодельований вище.

timer1

Якщо користувач не завершить процес протягом 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.

admin link

Детальна інформація щодо моделювання форм доступна за посиланням:

Додаткові відеоматеріали:

3.2.2. Типи форм для бізнес-процесу

В рамках цього завдання моделювальник має створити форми 2 типів для налаштування правильної взаємодії із бізнес-процесом:

3.2.3. Створення форми для внесення даних

Рекомендуємо виконувати усі налаштування, використовуючи браузер Google Chrome для стабільної роботи усіх сервісів.

Найперше, необхідно створити форму для внесення даних користувачем. Для цього виконайте наступні кроки:

  1. Увійдіть до застосунку Кабінет адміністратора регламентів.

    admin portal form modeling step 1
  2. За замовчуванням після авторизації відбувається перехід до мастер-версії регламенту, де відображаються форми, які вже розгорнуті у регламенті.

    У мастер-версії наявні форми доступні для перегляду, а також є можливість редагувати одну конкретну форму. Для цього виберіть необхідну форму, натисніть іконку редагування і в новому вікні оберіть Продовжити в мастер-версії. Після внесення змін до форми, натисніть кнопку Зберегти зміни, після чого автоматично запуститься процес додавання змін до мастер-гілки у Gerrit. Зачекайте кілька хвилин до його завершення.

    Для створення та редагування більше ніж однієї форми необхідно створювати новий запит (версію-кандидат).

    task 1 16 forms

  3. У полі Назва версії вкажіть, наприклад, "завдання-1", а в полі Опис зміни “Створення форм для Завдання 1”. Після зазначення назви та опису натисніть Створити.

    task 1 17 forms

    Після створення буде автоматично виконано перехід до версії-кандидата у редакторі, де вже можливо буде створювати та редагувати форми.

  4. Перейдіть до розділу UI-форм. Щоб створити нову форму для бізнес-процесу, натисніть кнопку Створити нову форму.

    task 1 18 forms

  5. У вікні, що відкрилося, заповніть поля:

    • Вкажіть назву відповідної користувацької задачі — Внесення даних про лабораторію в полі Бізнес-назва форми.

    • Заповніть поле Службова назва форми значенням add-lab-bp-add-lab-test.

    Важливо, щоб назва в полі Службова назва форми збігалася з відповідним Form key, створеним у бізнес-процесі.

    task 1 19 forms

  6. Перейдіть на вкладку Конструктор.

    Рекомендовано використовувати компоненти із розділу “Оновлені”.

    З панелі зліва перетягніть компонент Text Field до панелі моделювання та виконайте наступні налаштування:

    task 1 20 forms

    • на вкладці Display заповніть поле Label значенням Назва лабораторії: task 1 7 forms

    • на вкладці API заповніть поле Property name значенням name;

      В поле Property name треба вносити ім’я поля таблиці в яке воно потрапляє у разі зберігання значення в базі. Якщо ім’я поля складається з 2 та більше слів то потрібно застосовувати CamelCase (перше слово починається з маленької літери, а наступні слова починаються з великою літери, без пробілів між ними). Наприклад: propertyName (в базі - property_name).
    • натисніть кнопку Save для збереження змін: task 1 8 forms

  7. З панелі зліва перетягніть компонент Text Field до панелі моделювання та виконайте наступні налаштування:

    • на вкладці Display заповніть поле Label значенням Код ЄДРПОУ або РНОКПП: task 1 9 forms

    • на вкладці API заповніть поле Property name значенням edrpou;

    • на вкладці Validation внесіть обмеження на кількість цифр для поля Minimum Length 8 (для ЄДРПОУ) та Maximum Length 10 (для РНОКПП);

    • Натисніть кнопку Save для збереження змін: task 1 10 forms

  8. Збережіть форму, натиснувши кнопку Створити форму у правому верхньому куті: task 1 11 forms

3.2.4. Створення форми для перегляду даних

Після завершення попереднього кроку та створення форми для внесення даних, створіть ще одну форму для перегляду даних.

Для цього або скопіюйте попередньо змодельовану форму, натиснувши іконку копіювання — це дозволить створити форму із готового шаблону, — або створіть нову форму, натиснувши кнопку Створити нову форму у правому верхньому куті.

task 1 12 forms

Налаштуйте параметри форми:

  • введіть назву користувацької задачі Перегляд даних про лабораторію в полі Бізнес-назва форми;

  • заповніть поле Службова назва форми значенням add-lab-bp-view-lab-test;

  • В обох компонентах — Назва лабораторії та Код ЄДРПОУ або РНОКПП:

    • на вкладці Display встановіть прапорець для параметра Disabled;

    • Натисніть кнопку Save для збереження змін. task 1 13 forms

3.2.5. Збереження змодельованих форм бізнес-процесу

Зберегти змодельовані форми можна двома способами:

  • Перейти до створеної версії-кандидата і натиснути Застосувати зміни до мастер-версії, після чого автоматично запускається процес додавання змін до мастер-гілки у Gerrit. Зачекайте кілька хвилин до його завершення.

  • Завантажте форми, натиснувши іконку завантаження, та помістіть їх до регламентної папки forms проєкту в локальному Gerrit-репозиторії.

    task 1 14 forms

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, вони мають значення та використовуються для позначення вкладеності та загальної структури.

У разі, якщо не вказувати таку конфігурацію, то бізнес-процес буде розгорнуто у регламенті, але він не буде відображатися у Кабінеті користувача.

  • У файлі bp-auth/officer.yml зазначаються бізнес-процеси, які будуть доступні в officer-порталі (Кабінеті посадової особи).

  • У файлі bp-auth/citizen.yml зазначаються бізнес-процеси, які будуть доступні в citizen порталі (Кабінеті отримувача послуг).

Ролі (roles:) – це перелік ролей, для яких буде показано бізнес-процес в Кабінеті користувача. Ролі можливо надати користувачу через сервіс Keycloak у відповідному реалмі. Детальна інформація щодо ролей та розмежування прав доступу доступна за посиланням:

Проведіть аудит ваших процесів та форм згідно з рекомендаціями на сторінці Аудит регламенту реєстру.

4. Завантаження файлів регламенту до віддаленого репозиторію Gerrit

Для успішного розгортання бізнес-процесу, форм, а також застосування правильних налаштувань доступу до бізнес-процесу у цільовому середовищі, адміністратор регламенту має завантажити збережені локально файли регламенту реєстру до віддаленого сховища коду Gerrit.

Для цього виконайте кроки з інструкції Операції з регламентом в Gerrit.

5. Перевірка результату

Щоб побачити змодельовані процеси, вам необхідно увійти до Кабінету посадової особи (Officer Portal) з ключем посадової особи, що була додана з відповідною роллю.

officer portal

  • Користувач повинен бути заздалегідь створений згідно з інструкцією та мати обов’язкові атрибути відповідно до даних ключа, а також роль officer.

  • Використовуйте для автентифікації ключ Key-6.dat.

  • Надалі ви можете згенерувати потрібні вам додаткові ключі для використання.

Корисні відеоматеріали: