Статті

Назва статті

ДИНАМІЧНЕ ОРКЕСТРУВАННЯ REST-СЕРВІСІВ З ВИКОРИСТАННЯМ БАЗИ ЗНАНЬ

Номер віснику

22

DOI:

10.36994/2707-4110-2019-1-22-26

Автори

Булах Б. В., к.т.н., Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ, Україна. bogdan.bulakh@gmail.com Харченко К. В., к.т.н., Національний технічний університет України «Ки-ївський політехнічний інститут імені Ігоря Сікорського», Київ, Україна. konst1970@gmail.com

Ключові слова

сервісно-орієнтована архітектура (СОА), REST, оркестрування сервісів, база знань, графова база даних

Анотація

Розглядається підхід до організації автоматизованого процесу виконання обчислень з використанням веб-сервісів (зокрема, REST-сервісів). Дане рішення дозволить спростити процедуру впровадження нової функціональності у прикладних системах, що побудовані за принципами сервісно-орієн¬тованої архітектури та мікросервісної архітектури. Головна ідея даного рішення в тому, щоб максимально розділити розробку серверної логіки системи та логіку клієнтських додатків, коли клієнти використовуються для постановки абстрактних обчислювальних задач без прив’язки до наявних прикладних сервісів. При цьому пропонується використати централізовану схему організації обчислень (так зване оркестрування) та розмістити набір правил, за якими в кілька етапів з абстрактної постановки задачі будуються конкретні обчислювальні сценарії, у базі знань. До програмної архітектури прикладної системи пропонується включити підсистему виконання обчислювальних задач. До складу підсистеми входять сервіси обслуговування запитів на виконання задач, реєстр прикладних сервісів з базою знань про сервіси, та сервіс оркестрування. Клієнти надсилають запити до підсистеми виконання задач без вказівок на реальні сервіси, які треба виконати. Реєстр сервісів шукає у базі знань відповідний шаблон вхідного запиту, для якого далі шукає опис абстрактної операції, яка йому відповідає. Кожна абстрактна операція може мати реалізацію у формі робочого процесу, складеного з викликів операцій реальних прикладних сервісів. За відсутності такого готового відповідника у базі знань робочий процес можна синтезувати динамічно згідно вхідних та вихідних даних та опису функціональності абстрактної операції з запиту та наявних у реєстрі сервісів. Робочі процеси виконуються оркеструвальником. Таким чином, додавання нових функцій на стороні клієнта може бути впроваджене без змін серверної сторони, лише за рахунок повторного використання сервісів. З іншого боку, додавання нових сервісів може вплинути на фактичне виконання обчислень без оновлення клієнтів.