Реестр бизнес-процессов

Реестр бизнес-процессов

Функциональность

Наименование сервиса в среде оркестрации микросервисов: qbpmcockpit Пример ссылки на Swagger: http://qbpmcockpit.<полное имя неймспейса>/qbpmcockpit/swagger-ui/#/

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

Назначение приложения

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

Бизнес-возможности

  • Единый реестр процессов организации, сгруппированный по предметным областям.
  • Low-code инструментарий для проектирования диаграмм бизнес-процессов в нотации BPMN 2.0 и диаграмм бизнес-правил в нотации DMN.
  • Управление версионностью бизнес-процессов, включая детальное сравнение версий процессов в визуальной форме.
  • Согласование бизнес-процессов прямо в инструментарии платформы.
  • Автоматическая валидация корректности проектирования бизнес-процессов.
  • Интеграция с внешними системами через REST, SOAP, GRPC и брокер сообщений Kafka.
  • Создание типовых и клиентских процессов по шаблонам.
  • Контроль исполнения бизнес-процесса.

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

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

Функциональные свойства

  • Просмотр, создание и редактирование диаграмм бизнес-процессов (BPMN 2.0).
  • Просмотр, создание и редактирование диаграмм бизнес-правил (DMN).
  • Просмотр, создание и редактирование диаграмм бизнес-процессов хореографии (BPMN 2.0).
  • Ведение централизованного реестра бизнес-процессов и бизнес-правил.
  • Ведение истории версий и их сравнение.
  • Настройка исполнения бизнес-процессов.
  • Импорт и экспорт диаграмм.
  • Публикация диаграммы для исполнения.
  • Запуск исполнения диаграммы в тестовом режиме из интерфейса дизайнера.
  • Формирование и использование шаблонов бизнес-процессов и бизнес-правил.
  • Разграничение прав доступа на группы процессов и процессы в реестре.
  • Пошаговая отладка бизнес-процессов (debug-режим).
  • Выявление ошибок исполнения процесса.
  • Миграция экземпляров процесса между версиями бизнес-процесса.

Пользователи приложения

  • Разработчик
  • Администратор
  • Тестировщик
  • Бизнес-архитектор
  • Системный архитектор
  • Бизнес-технолог
  • Сотрудники службы поддержки
  • Аналитик

Для работы с модулем необходимо зайти в платформу Q.BPM и пройти авторизацию под пользователем обладающим соответствующей ролью.

В главном меню для пользователя доступен раздел "Реестр-бизнес процессов".

Инструкция по переходу на Реестр бизнес-процессов

⚠️

Внимание: Количество времени, затраченное на переход, будет зависеть от размера БД qbpmdesigner.

⚠️

В таблице q_bpm_product id с 100 по 200 зарезервированы. Данный диапазон не использовать.

Узнать размер мигрируемых таблиц

SELECT SUM(pg_total_relation_size('qbpmdesigner.' || table_name)) / 1024 / 1024 AS "Размер таблиц в МБ"
FROM information_schema.tables
WHERE table_schema = 'qbpmdesigner'
  AND table_name IN ('auto_pk_support',
                     'q_bpm_clob_data',
                     'q_bpm_product_owner',
                     'q_bpm_product',
                     'q_bpm_diagram',
                     'q_bpm_diagram_comment',
                     'q_bpm_diagram_comment_read',
                     'q_bpm_diagram_version',
                     'q_bpm_diagram_item',
                     'q_bpm_diagram_item_link',
                     'q_bpm_diagram_item_req',
                     'q_bpm_diagram_item_variable',
                     'q_bpm_diagram_labels',
                     'q_bpm_diagram_milestone',
                     'q_bpm_diagram_template',
                     'q_bpm_diagram_verification',
                     'q_bpm_diagram_version_protocol',
                     'q_bpm_diagram_version_res_def',
                     'q_bpm_favourite_diagram',
                     'q_bpm_favourite_product',
                     'q_bpm_label',
                     'q_bpm_milestone',
                     'q_bpm_milestone_version',
                     'q_bpm_milestone_version_link',
                     'qbpmdesigner_access',
                     'qbpmdesigner_access_right',
                     'qbpmdesigner_api',
                     'qbpmdesigner_api_attribute',
                     'qbpmdesigner_attribute',
                     'qbpmdesigner_event',
                     'qbpmdesigner_event_attribute',
                     'qbpmdesigner_participant',
                     'qbpmdesigner_pbc',
                     'qbpmdesigner_role',
                     'qbpmdesigner_role_access',
                     'qbpmdesigner_test_value_set',
                     'qhprj_healthproject',
                     'qhprj_healthprojectitem',
                     'qhprj_healthprojectpublish',
                     'qhprj_projectgrouptpstate',
                     'rights_cacheid');

Порядок действий для перехода на Реестр бизнес-процессов

  1. Выключите qbpmdesigner и qbpmcockpit на стенде.
  2. При наличии технической возможности снимите дамп мигрируемых таблиц qbpmdesigner.
  3. Пересоздайте Job database-qbpmcockpit, указав образ registry-new.diasoft.ru/release/database-qbpmcockpit:versionTag. Дождитесь успешного выполнения проливки database-qbpmcockpit.
  4. Обновите qbpmcockpit до версии registry-new.diasoft.ru/release/qbpmcockpit:versionTag.
  5. Выполните миграцию таблиц, убедившись в отсутствии ошибок в процессе работы скрипта:
   TRUNCATE TABLE qbpmcockpit.auto_pk_support;
   INSERT INTO qbpmcockpit.auto_pk_support SELECT * FROM qbpmdesigner.auto_pk_support;
   INSERT INTO qbpmcockpit.q_bpm_clob_data SELECT * FROM qbpmdesigner.q_bpm_clob_data;
   INSERT INTO qbpmcockpit.q_bpm_owner SELECT * FROM qbpmdesigner.q_bpm_product_owner;
   INSERT INTO qbpmcockpit.q_bpm_product SELECT * FROM qbpmdesigner.q_bpm_product;
   INSERT INTO qbpmcockpit.q_bpm_diagram SELECT * FROM qbpmdesigner.q_bpm_diagram;
   INSERT INTO qbpmcockpit.q_bpm_diagram_comment SELECT * FROM qbpmdesigner.q_bpm_diagram_comment;
   INSERT INTO qbpmcockpit.q_bpm_diagram_comment_read SELECT * FROM qbpmdesigner.q_bpm_diagram_comment_read;
   INSERT INTO qbpmcockpit.q_bpm_diagram_version SELECT * FROM qbpmdesigner.q_bpm_diagram_version;
   INSERT INTO qbpmcockpit.q_bpm_diagram_item SELECT * FROM qbpmdesigner.q_bpm_diagram_item;
   INSERT INTO qbpmcockpit.q_bpm_diagram_item_link SELECT * FROM qbpmdesigner.q_bpm_diagram_item_link;
   INSERT INTO qbpmcockpit.q_bpm_diagram_item_req SELECT * FROM qbpmdesigner.q_bpm_diagram_item_req;
   INSERT INTO qbpmcockpit.q_bpm_diagram_item_variable SELECT * FROM qbpmdesigner.q_bpm_diagram_item_variable;
   INSERT INTO qbpmcockpit.q_bpm_diagram_labels SELECT * FROM qbpmdesigner.q_bpm_diagram_labels;
   INSERT INTO qbpmcockpit.q_bpm_diagram_milestone SELECT * FROM qbpmdesigner.q_bpm_diagram_milestone;
   INSERT INTO qbpmcockpit.q_bpm_diagram_template SELECT * FROM qbpmdesigner.q_bpm_diagram_template;
   INSERT INTO qbpmcockpit.q_bpm_diagram_verification SELECT * FROM qbpmdesigner.q_bpm_diagram_verification;
   INSERT INTO qbpmcockpit.q_bpm_diagram_version_protocol SELECT * FROM qbpmdesigner.q_bpm_diagram_version_protocol;
   INSERT INTO qbpmcockpit.q_bpm_diagram_version_res_def SELECT * FROM qbpmdesigner.q_bpm_diagram_version_res_def;
   INSERT INTO qbpmcockpit.q_bpm_favourite_diagram SELECT * FROM qbpmdesigner.q_bpm_favourite_diagram;
   INSERT INTO qbpmcockpit.q_bpm_favourite_product SELECT * FROM qbpmdesigner.q_bpm_favourite_product;
   INSERT INTO qbpmcockpit.q_bpm_label SELECT * FROM qbpmdesigner.q_bpm_label;
   INSERT INTO qbpmcockpit.q_bpm_milestone SELECT * FROM qbpmdesigner.q_bpm_milestone;
   INSERT INTO qbpmcockpit.q_bpm_milestone_version SELECT * FROM qbpmdesigner.q_bpm_milestone_version;
   INSERT INTO qbpmcockpit.q_bpm_milestone_version_link SELECT * FROM qbpmdesigner.q_bpm_milestone_version_link;
   INSERT INTO qbpmcockpit.qbpmdesigner_access SELECT * FROM qbpmdesigner.qbpmdesigner_access;
   INSERT INTO qbpmcockpit.qbpmdesigner_access_right SELECT * FROM qbpmdesigner.qbpmdesigner_access_right;
   INSERT INTO qbpmcockpit.qbpmdesigner_pbc SELECT * FROM qbpmdesigner.qbpmdesigner_pbc;
   INSERT INTO qbpmcockpit.qbpmdesigner_api SELECT * FROM qbpmdesigner.qbpmdesigner_api;
   INSERT INTO qbpmcockpit.qbpmdesigner_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_attribute;
   INSERT INTO qbpmcockpit.qbpmdesigner_api_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_api_attribute;
   INSERT INTO qbpmcockpit.qbpmdesigner_event SELECT * FROM qbpmdesigner.qbpmdesigner_event;
   INSERT INTO qbpmcockpit.qbpmdesigner_event_attribute SELECT * FROM qbpmdesigner.qbpmdesigner_event_attribute;
   INSERT INTO qbpmcockpit.qbpmdesigner_participant SELECT * FROM qbpmdesigner.qbpmdesigner_participant;
   INSERT INTO qbpmcockpit.qbpmdesigner_role SELECT * FROM qbpmdesigner.qbpmdesigner_role;
   INSERT INTO qbpmcockpit.qbpmdesigner_role_access SELECT * FROM qbpmdesigner.qbpmdesigner_role_access;
   INSERT INTO qbpmcockpit.qbpmdesigner_test_value_set SELECT * FROM qbpmdesigner.qbpmdesigner_test_value_set;
   INSERT INTO qbpmcockpit.qhprj_healthproject SELECT * FROM qbpmdesigner.qhprj_healthproject;
   INSERT INTO qbpmcockpit.qhprj_healthprojectitem SELECT * FROM qbpmdesigner.qhprj_healthprojectitem;
   INSERT INTO qbpmcockpit.qhprj_healthprojectpublish SELECT * FROM qbpmdesigner.qhprj_healthprojectpublish;
   INSERT INTO qbpmcockpit.qhprj_projectgrouptpstate SELECT * FROM qbpmdesigner.qhprj_projectgrouptpstate;
   INSERT INTO qbpmcockpit.rights_cacheid SELECT * FROM qbpmdesigner.rights_cacheid;
  1. Выполните обновление таблиц продуктов, убедившись в отсутствии ошибок в процессе работы скрипта:
 UPDATE q_bpm_product
    SET parent_id = (select id from q_bpm_product where system_name = 'StandardProcess')
  WHERE parent_id IS NULL AND "type" != 4 AND system_name != 'StandardProcess' AND system_name != 'PersonalDrafts' AND system_name != 'ClientProcess';
 
 UPDATE q_bpm_product
    SET "path" = concat((select id from q_bpm_product where system_name = 'StandardProcess'), '.', "path")
  WHERE parent_id IS NOT NULL
    AND "type" != 4
    AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'StandardProcess'), '.%')
    AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'PersonalDrafts'), '.%')
    AND "path" NOT LIKE concat((select id from q_bpm_product where system_name = 'ClientProcess'), '.%')
  1. Обновите версию qpbmui до актуальной registry-new.diasoft.ru/release/qpbmui:versionTag.
  2. Если пункты меню Дизайнер бизнес-процессов и Мониторинг бизнес-процессов используются в своем рутовом приложении:
    • Измените endpoint "service": "qbpmdesigner" и "service": "qbpmcockpit" на "service": "qcui".
    • Добавьте раздел Реестр бизнес-процессов.
  • Пример раздела "Реестр бизнес-процессов"
{
  "caption": "Реестр бизнес-процессов",
  "expanded": false,
  "icon": "pi-list",
  "items": [
    {
      "caption": "Бизнес-процессы и правила",
      "service": "qbprui",
      "component": "qbprui",
      "route": "/diagram",
      "icon": "qi-cubes-outlined"
    }
  ]
}
  1. Установите актуальные версии qcui и qbprui.
  2. Включите qbpmcockpit.
  3. Проверьте работоспособность новых пунктов меню в рутовом приложении.