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

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

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

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

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

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

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

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

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

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

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” за замовчуванням).

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

3.1.5. Створення користувацької задачі для перегляду даних

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

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

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

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

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

    • натисніть Open Catalog, оберіть шаблон User Form (Користувацька форма) та натисніть Apply для підтвердження;

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

      • у полі Name введіть значення Перегляд даних про лабораторію;

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

      • у полі Form key введіть add-lab-bp-view-lab-test;

        У полі Form key зазначається унікальний id форми. Він задається при створенні форми через admin-portal (Кабінет адміністратора регламенту). Процес створення форми із зазначенням id описано у наступних розділах цієї інструкції.

      • у полі Assignee вкажіть ${initiator};

        У полі Assignee зазначається який користувач буде виконувати цю задачу. Через те, що у системі є можливість передавати виконання бізнес-процесу між користувачами, то необхідно обов’язково вказувати 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. Збереження змодельованої схеми бізнес-процесу

Після завершення процесу моделювання збережіть отриману схему бізнес-процесу із назвою add-lab-test.bpmn до регламентної папки bpmn проєкту в Gerrit-репозиторії. Для цього у лівому верхньому куті відкрийте меню FileSave File As.., введіть відповідну назву та шлях.

3.2. Моделювання форм

На етапі моделювання форм необхідно створити та прив’язати JSON-форми до попередньо змодельованих задач в рамках бізнес-процесу.

Форми прив’язуються до бізнес-процесів за службовою назвою.

Використовуйте файли add-lab-bp-add-lab-test.json та add-lab-bp-view-lab-test.json зі змодельованими формами для прикладу.

3.2.1. Передумови

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

Посилання до Кабінету адміністратора регламентів можливо отримати, наприклад, в Openshift-консолі. Для цього перейдіть до розділу NetworkingRoutes, оберіть відповідний проєкт, в рядку пошуку вкажіть назву сервісу admin-portal, після чого посилання буде доступне у колонці Location.

task 1 15 forms

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

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

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

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

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

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

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

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

    task 1 16 forms

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

    task 1 17 forms

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

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

    task 1 18 forms

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

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

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

    task 1 19 forms

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

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

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

    task 1 20 forms

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

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

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

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

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

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

    • Натисніть кнопку 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. Збереження змодельованих форм бізнес-процесу

  • Збережіть форму, натиснувши кнопку Створити форму у правому верхньому куті.

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

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

На цьому етапі необхідно надати доступ до бізнес-процесу із Кабінету посадової особи.

Параметри доступу налаштовуються у конфігураційному файлі, що має назву officer.yml.

Створіть файл officer.yml та зазначте в ньому наступні параметри:

authorization:
  realm: 'officer'
  process_definitions:
    - process_definition_id: 'add-lab-test'
      process_name: 'Створення лабораторії'
      process_description: 'Регламент для створення лабораторій'
      roles:
        - officer

Збережіть файл officer.yml до регламентної папки bp-auth проєкту в локальному Gerrit-репозиторії.

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

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

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

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

3.4. Налаштування обов’язкових конфігурацій

Файл camunda-global-system-vars.yml не повинен бути порожнім. Додайте туди одне нове значення:

supportEmail: help@support.com

Додайте конфігурації для залежних сервісів ШБО "Трембіта" до файлу bp-trembita/configuration.yml. Скористайтесь прикладом значень за замовчуванням конфігурацій із файлу: configuration.yml. Більш детально у інструкції за посиланням:

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

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

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