
Автоматизировать нельзя оркестрировать: Bercut сравнивает ESB и BPM
Зачастую стоп-факторы автоматизации связаны с тем, что любая BPM-система для управления бизнес-процессами является замкнутой. Она не собирает информацию извне, а использует только те ограниченные данные, которые у нее есть. Для тотальной или качественной автоматизации необходимо интегрировать дополнительные системы. В этом смысле BPM занимается оркестрацией, а корпоративные шины данных ESB в качестве необходимого интеграционного слоя дополнительно к BPM-движку позволяют именно автоматизировать процессы. Где проходит граница между BPM и ESB — рассказывает Алексей Чистяков, технический лидер Bercut.

Разница между оркестрацией и автоматизацией
Процессы автоматизации и оркестрации имеют взаимосвязь, но служат различным целям. Автоматизация обычно связана с выполнением конкретной задачи на основе заранее установленных правил и логики, без необходимости ручного вмешательства. Например, автоматизация процесса резервного копирования базы данных подразумевает, что система самостоятельно создает резервные копии в заданное время.
Автоматизация может быть простой и однообразной, тогда как оркестрация обычно представляет собой более сложный и долгий процесс, требующий согласованного взаимодействия между различными элементами.
Цель автоматизации заключается в повышении эффективности и снижении расходов за счет выполнения рутинных операций без участия человека. В то время как оркестрация сосредоточена на оптимизации и согласовании всего рабочего процесса.
Хотя оркестрация и автоматизация являются разными концепциями, они дополняют друг друга. Автоматизация служит основой для оркестрации, обеспечивая выполнение отдельных задач, тогда как оркестрация управляет и координирует эти задачи в рамках более обширного процесса.
Возвращаясь к терминам BPM и ESB — работая в связке, эти системы закрывают задачи как оркестрации, так и автоматизации.

Разница в типе процессов: stateful и stateless
Также ключевое отличие этих двух классов решений — BPM и ESB — можно описать словами stateful и stateless, которые являются разными типами процессов.
Stateful и stateless — это два базовых способа управления состоянием в архитектуре ПО. Stateful подразумевает, что система сохраняет информацию о предыдущих запросах или сеансах при взаимодействии с клиентами. В случае stateless-процессов, соответственно, эта информация не сохраняется. Каждый запрос рассматривается как отдельное, изолированное взаимодействие.
BPM-системы являются stateful, а ESB — stateless.
Stateless-процесс часто превращается в stateful, когда в нем появляется человек — оператор, пользователь, который должен как-то отреагировать. Например, после автоматической проверки ИНН клиента банка не прошел проверку по одному из запрещенных списков. В этом случае, по регламенту, решение по дальнейшим действиям должен принимать представитель службы безопасности. Допустим, нужный сотрудник ушел на обед или на больничный. BPM оркестрирует и видит, что триггер пришел к человеку, а человек не ответил, в этот момент система сохраняет состояние запущенного процесса. Так как пользователя можно ждать очень долго, процесс из легкого и быстрого превращается в долгий — stateful.
Так как задача BPM — сохранять текущее состояние процесса, система работает медленно, находясь в режиме ожидания действий человека. Поэтому stateful не может быть быстрым. А stateless-процесс, по которому построена работа ESB, исключает участие человека и реализует скоростной обмен между электронными системами. ESB делает все быстро, с огромной скоростью и полностью автоматически.
Регламенты зачастую запрещают многим клиентам без участия человека проводить какой-либо важный критический процесс, поэтому эти два типа процесса работают эффективно именно в связке.
BPM содержит в себе длительную логику по шагам конкретного процесса, в том числе с участием человека. Интеграционный слой ESB, в свою очередь, обеспечивает выполнение каждого шага с большой скоростью и с подключением к разным внешним системам через адаптеры.
Каким должен быть ESB для усиления эффективности работы BPM
Несмотря на путаницу в понятиях, каждая компания, которая переходит на отечественное ПО, заинтересована во внедрении ESB. Часто для компании покупка интеграционных решений становится необходимым действием при автоматизации бизнес-процессов с участием множества систем. ESB заточена на сращивание систем между собой и быстрый обмен информацией между ними. Более того, некоторые ESB способны исполнять небольшие процессы быстрее и дешевле, чем BPM, а также при необходимости строить логику оркестрации сервисов без зависимости от BPMS.
При разработке собственной ESB-шины Bercut встроил в архитектуру решения гибкий low-code UI, что позволяет визуализировать часть процессов, не передавая в BPM. ESB Bercut поддерживает внешние вызовы из BPMS, выступая точкой входа для взаимодействия между системами, чем упрощает архитектуру. Кроме прочего, решение работает по модели white-label для легкого встраивания в BPM-системы и решения интеграторов.
ESB в поддержку BPM
В этой статье мы постарались провести тонкую грань между реальным пониманием автоматизации через ESB и присутствующим на рынке устоявшимся паттерном, что автоматизация идет через BPM.
BPM-движки — это платформы для управления бизнес-процессами и их логикой, которые справляются с задачей оркестрации. Подключение ESB-системы делает возможным полноценную автоматизацию бизнес-процессов. Как правило, в компаниях используется несколько изолированных BPM-систем, по которым распределены все процессы. Одна ESB масштабирует все имеющиеся BPM-системы, связывает их с огромным количеством внешних систем, заставляет BPM работать на стабильно огромной скорости отказоустойчивости. То есть ESB — не замена, а необходимая база под BPM.