Применение IBM BPM в связке с Angular. Наш опыт

IBM BPM - это платформа, позволяющая управлять бизнес-процессами: мониторить, автоматизировать и оптимизировать текущие, а также разрабатывать новые.

Решение позволяет быстро разработать прототип бизнес-процесса на основании BPMN модели, назначить исполнителей Human Task для ролей пользователей и протестировать MVP совместно с будущими пользователями процесса. Компонент платформы, который позволяет сделать это максимально быстро – фреймворк Coach Views, предоставляемый компанией IBM. Это UI инструмент, позволяющий путем Drag&Drop разместить элементы экранной формы в инструментах разработчика, а также соединить их с моделью данных экземпляров процесса. Таким образом, скорость разработки с применением Coach Views является серьезным преимуществом данного подхода. Что же насчет недостатков?

Наш опыт показывает, что разработка исключительно с помощью фреймворка Coach Views становится недостаточной, когда в бизнес-процессе необходимо разработать сложные экранные формы с большим количеством взаимосвязей между полями, так как бизнес-логика становится достаточно сложной. Помимо прочего, Coach Views обладает ограниченными возможностями для кастомизации. Это значит, что когда требуется разработать экранную форму с нестандартными элементами, программист стоит перед трудным выбором: необходимо либо разрабатывать новый компонент Coach Views, что является сложной инженерной задачей, требующей большого количества времени, либо – упрощать форму, сокращая объем разработки, что не всегда возможно. Поэтому для больших проектов мы решили произвести интеграцию с open-source UI фреймворками. В данной статье рассматривается интеграция с Angular.

Что нам потребуется для реализации?

Итак, для того, чтобы заменить стандартный UI IBM BPM, необходимо:

  • Использовать так называемый External Human Task в бизнес-процессах. Так, бизнес-процесс будет получать сигнала о начале работы пользователя над задачей и о ее завершении через специальный BPM API, а не через Coach Views;
  • Разработать custom portal, в котором пользователи смогут видеть свой список задач, брать задачи в работу и открывать экраны работы с задачей бизнес-процесса;
  • Интегрироваться с BPM API для получения информации о списке доступных задач для пользователя, детальной информации о задаче и экземпляре бизнес процесса. Подробнее с этим можно ознакомиться в документации IBM: https://www.ibm.com/docs/en/bpm/8.6.0?topic=apis-bpm-rest.

Еще одна практика, которую применяла наша команда, – использование отдельного хранилища (Базы данных) для хранения детальной информации о заявке. В данном случае мы получаем информацию о номере заявки от BPM API, а пользовательский UI получает детальную информацию из Базы данных через отдельный custom API. Аналогично происходит обновление информации при завершении задачи пользователем:

  • Отправляется информация о необходимости перевести задачу на следующий этап в BPM API;
  • Вызывается custom API для обновления информации по заявке в своей Базе данных.

Подведем итоги.

Если вам необходимо быстро проверить и обсудить с заинтересованными сторонами идею по автоматизации бизнес-процессов, то Coach Views может стать хорошим выбором, благодаря высокой скорости разработки и интеграции с остальными средствами BPM. Если ваш бизнес-процесс эволюционирует и требует сложных экранных форм, то custom решение с Angular может стать отличным выбором, так как вам будут доступны все возможности фреймворка и огромная библиотека готовых компонентов. Однако для этого потребуется дополнительная разработка портала и интеграция с BPM API.

11
2 комментария

Комментарий недоступен

1
Ответить

Неактуально. IBM BPM отваливается потихоньку в России

Ответить