ОРКЕСТРУВАННЯ РОБОЧИХ ПРОЦЕСІВ ВЗАЄМОДІЇ З КЛІЄНТАМИ В КОРПОРАТИВНИХ ЗАСТОСУНКАХ - Viacheslav Kolbasin (Вісник Національного технічного університету "ХПÌ": Системний аналіз, управління та інформаційні технології)
Автоматизація процесів є важливим чинником розвитку сучасних корпоративних систем, зокрема систем електронної комерції. Однією з задач, що треба вирішувати при побудові подібних систем є оркестрування процесів взаємодії з клієнтом, які за своєю природою є асинхронними. Сучасні популярні фреймворки для оркестрування, зокрема Airflow, не дуже пристосовані для одночасного очікування відповіді від клієнта великою кількість робочих процесів. Це призводить до зайвих витрат обчислювальних ресурсів та зниження економічної ефективності системи. В даній роботі розглядається задача побудови системи оркестрування робочих процесів взаємодії з клієнтом на основі подійно-орієнтованого підходу. Замість умовно послідовного централізованого виконання графової моделі робочого процесу пропонується представити робочий процес у вигляді послідовності подій та реакцій системи на них, що дозволяє позбутися потреби в явному очікуванні відповіді від клієнта. В такий моделі операції робочого процесу будуть виконуватися під час обробки подій, а перехід до наступної операції відбуватиметься за рахунок відправлення нового повідомлення з описом цієї операції. Розглянуто централізований та розподілений підходи для виконання переходів між операціями робочого процесу, показані переваги та недоліки кожного з них. Також розглянуто реалізацію механізму очікування відповіді від клієнта, для чого пропонується перед початком взаємодії з останнім зберігати повідомлення у спеціалізованому сховищі, прив’язане до ідентифікатору сеансу взаємодії з клієнтом. А після надходження даних від клієнта – додавати їх до повідомлення і відправляти його назад в чергу повідомлень для продовження виконання робочого процесу. Для опису моделі робочого процесу пропонується використовувати формат JSON, зважаючи на можливість використання обробників, написаних на різних мовах програмування. Описано один з підходів до побудови такого формату опису та продемонстровано його використання для реалізації прикладу робочого процесу. Результати дослідження можуть бути корисними при створенні систем оркестрування робочих процесів взаємодії з клієнтом.