КОНТРАКТНО-ОРІЄНТОВАНЕ МОДЕЛЮВАННЯ МІКРОСЕРВІСНОЇ АРХІТЕКТУРИ ВИСОКОНАВАНТАЖЕНИХ СИСТЕМ У UML-ПОДІБНОМУ СЕРЕДОВИЩІ
DOI:
https://doi.org/10.32689/maup.it.2025.2.20Ключові слова:
контракт-орієнтоване моделювання, інформаційна система, мікросервісна архітектура, OpenAPI, UML-подібне середовище, високонавантажені системи, JSON Schema, SwaggerАнотація
Метою дослідження є розроблення та обґрунтування методу контрактно-орієнтованого моделювання мікросервісної архітектури високонавантажених програмних систем у спеціалізованому UML-подібному веб-середовищі. Запропонований підхід поєднує переваги візуального проєктування та формальної специфікації інтерфейсів: JSON-фрагменти контрактів інтегруються безпосередньо у стрілки, що відображають взаємодію компонентів на діаграмах. Це забезпечує ранню, однозначну й машинно-читану фіксацію API-угод, мінімізує розрив між дизайнерською моделлю та реалізацією сервісів і знижує витрати на супровід документації.Метологія. Метод включає алгоритм автоматичного перетворення вбудованих JSON-контрактів у специфікації OpenAPI v3, які далі можуть використовуватися для генерації серверних «заглушок», клієнтських бібліотек, інтеграційних тестів або для налаштування шлюзів API. Реалізовано прототип середовища на стеку TypeScript + Node.js, що поєднує Canvas/WebGL-рендеринг діаграм із серверним модулем генерації OpenAPI. Проведено експериментальне оцінювання на трьох репрезентативних сценаріях (каталог товарів, сервіс замовлень, сервіс платежів), у яких порівнювали запропонований підхід із класичним UML-процесом, що не охоплює контракти. Результати показали скорочення середнього часу узгодження API між командами на 28 %, зменшення кількості дефектів інтеграції на 33 % та покращення індексу покриття документацією на 22 %.Наукова новизна. Особливою перевагою розробленого інструменту є підтримка «живої» документації: кожна зміна у діаграмі миттєво відбивається в оновленому контракті, що гарантує синхронність між моделлю та вихідним кодом сервісів упродовж усього життєвого циклу ПЗ. Перспективи подальших досліджень включають інтеграцію середовища з системами трасування виконання контрактів у режимі реального часу, розширення підтримки асинхронних протоколів (AsyncAPI) та розробку метрик оцінювання складності контрактних залежностей у масштабах корпоративного портфеля сервісів.Висновки. Запропонований метод контрактно-орієнтованого моделювання у UML-подібному середовищі підтвердив свою ефективність для високонавантажених мікросервісних систем. Автоматична генерація OpenAPI та підтримка «живої» документації скорочують час узгодження API, зменшують дефекти інтеграції та підвищують покриття документації. Інструмент забезпечує безперервну узгодженість між архітектурною моделлю та кодом сервісів, що підвищує якість ПЗ і спрощує його еволюцію та супровід.
Посилання
Ed-douibi H., Cánovas J. L., Bordeleau F., Cabot J. WAPIml: Towards a Modeling Infrastructure for Web APIs. Proc. of the 22nd ACM/IEEE Int. Conf. on Model Driven Engineering Languages and Systems (MODELS 2019 Companion). 2019. P. 748–752.
Node.js. Офіційний веб-сайт URL: https://nodejs.org (дата звернення: 23.06.2025).
Object Management Group (OMG). Unified Modeling Language (UML) Specification Version 2.5.1. URL: https://www.omg.org/spec/UML/2.5.1 (дата звернення: 23.06.2025).
Rademacher F., Wizenty P., Sorgalla J., Sachweh S., Zündorf A. Model-Driven Engineering of Microservice Architectures – The LEMMA Approach. Ernst Denert Award for Software Engineering 2022. – Cham: Springer, 2024. P. 105–147.
Specmatic – Contract Driven Development. Офіційний веб-сайт. URL: https://specmatic.io (дата звернення: 23.06.2025).
StarUML. Офіційний веб-сайт. URL: http://staruml.io (дата звернення: 23.06.2025).
Swagger (OpenAPI) – офіційний веб-сайт. URL: https://swagger.io (дата звернення: 23.06.2025).
SwaggerHub Documentation. OpenAPI 3.0 Tutorial. URL: https://support.smartbear.com/swaggerhub/docs/en/get-started/openapi-3-0-tutorial.html (дата звернення: 23.06.2025).
Visual Paradigm. Офіційний веб-сайт. URL: https://www.visual-paradigm.com (дата звернення: 23.06.2025).
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Борис ПАНАСЮК, Наталя БАБЮК

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.