...

Ожидание события в бизнес процессе от другой системы.

Тема в разделе "Вопросы по функционалу", создана пользователем reajdone, 10 апр 2018.

  1. reajdone

    reajdone New Member

    Добрый день, уважаемые знатоки!
    Возникла необходимость в одной из зон ответсвенности создавать задачу в Jira, это предполагаю, легко решимо с помощью Web API. Но есть и обратная сторона, как в рамках бизнес процесса Elma, ожидать выполнение задачи в jira, и самое главное как получить подтверждение от Jirа, что задача выполнена и можно дальше двигаться по бизнесс процессу. Кто нибуть сталкивался с такими задачами?
     
  2. pushkarev

    pushkarev Active Member

    Если вы используете на предприятии шину данных и ELMA у вас с ней интегрирована, то вы можете использовать события в процессе с триггером "Событие". При использовании события с данным триггером, процесс ожидает получения соответствующего сообщения из очереди сообщений. Но если я не ошибаюсь, то эта опция доступна только в редакции ELMA Enterprise и так же потребуется интеграция jira с очередью сообщений.
    Если у вас менее энтерпрайзное решение, то обычная практика это написать скрипт, который будет проверять статус задачи в jira, повесить этот скрипт на исключающий шлюз, и в случае если статус задачи в jira завершена, то процесс идет дальше, если же задача не завершена, то процесс идет на таймер, допустим в 20-30 минут, и после этого опять возвращается на шлюз и проверяет не завершилась ли задача. Этот способ самый простой, но при нем ELMA будет реагировать на завершение задачи с задержкой (слишком короткий интервал проверки не рекомендую, т.к. это будет создавать большую фоновую активность в ELMA и отнимать ресурсы сервера).
    Можно реализовать и 3 решение, если вы можете вести доработку в самой jira, тут идея реализации следующая: в процессе ставится блок ожидания сообщения и создается маленький бизнес-процесс, который будет это сообщение в процесс отправлять, после чего основной процесс двинется дальше. На стороне jira вы пишите код, который будет при завершении задачи обращаться к API ELMA и запускать этот маленький процессик отправляющий сообщения, передавая ему всю необходимую информацию, чтобы он отправил сообщение нужному процессу. Если не хочется заводить лишние микро-процессы, то можно написать свой модуль web API который будет отправлять сообщение в процесс полностью программно.
    Выбирайте вариант, который вам больше подходит.
     
    1 это нравится

Поделиться: