Framework Architecture for Designing High-Load Web Applications
Цифрова платформа: інформаційні технології в соціокультурній сфері
2023, Том 6 № 2
УДК 004.27:004.823]:004.65
DOI: 10.31866/2617-796X.6.2.2023.293618
Ірина Овчарук,
кандидат технічних наук,
доцент кафедри інформаційних технологій,
Державний університет інфраструктури та технологій,
Київ, Україна
https://orcid.org/0000-0003-4255-5816
Ілля Тихонков,
магістрант кафедри інформаційних технологій,
Державний університет інфраструктури та технологій,
Київ, Україна
https://orcid.org/0009-0009-1267-2537
АРХІТЕКТУРА ФРЕЙМВОРКУ ДЛЯ ПРОЄКТУВАННЯ
ВИСОКОНАВАНТАЖЕНИХ ВЕБЗАСТОСУНКІВ
Мета статті: опис архітектури власного фреймворку Minegraph для проєктування
спрощення процесу розробки сучасних високонавантажених вебзастосунків.
Методами дослідження є огляд та аналіз сучасних технологій для розробки архітектури та проєктування фреймворків.
Новизною дослідження є аналіз фреймворків для розробки вебзастосунків, їх особливостей та застосування залежно від завдань, аналіз їх архітектури. У статті акцентовано
увагу на проблемі використання готових рішень під час створення високонавантажених та
масштабованих вебзастосунків. Представлено авторську розробку фреймворку для масштабованих та високонавантажених додатків будь-якого рівня складності, особливості запропонованих моделей, а також докладно описано архітектуру фреймворку Minegraph, проаналізовано особливості цього фреймворку, виокремлено його сильні та слабкі сторони.
Висновки. У статті проаналізовано наявні фреймворки для розробки вебзастосунків.
Докладно представлено авторську розробку архітектури фреймворку Mineraph, а саме:
драйвери для взаємодії з базами даних, NoSQL бази даних; особливості моделі для надання можливості додавати або змінювати основну логіку для обробки запитів; моделі,
де зберігається логіка для обробки запитів та її особливості, висвітлені питання стосовно
гнучкого механізму для налагодження основної логіки застосунків.
Створений фреймворк є готовим структурним каркасом для розробки масштабованих та високонавантажених застосунків будь-якого рівня складності. Важливо зазначити,
що розробка на цьому фреймворку не потребує глибокого аналізу архітектури вебсистем,
а лише базових знань про середовище розробки та вміння орієнтуватися в документації.
У зазначеному фреймворку враховано переваги попередніх аналогів, він містить передові технології, а це підвищує продуктивність та ефективність розробки масштабованих та
© Овчарук І. В.,
© Тихонков І. Д.
431
Цифрова платформа: інформаційні технології в соціокультурній сфері
2023, Том 6 № 2
високонавантажених вебзастосунків. У роботі описано особливості моделі фреймворку
Minegraph, проаналізовано особливості цього фреймворку, виокремлено його сильні та
слабкі сторони. Фреймворк Minegraph виходить за межі структурних можливостей, безперешкодно інтегрує та використовує новітні технології для обробки та зберігання даних. Крім
цього, він використовує також хмарні рішення, що призводить до значного покращення
функціональності системи та одночасно зменшує витрати на управління інфраструктурою.
Фреймворк, представлений у цій роботі, є не просто структурною основою, а й надзвичайно універсальним та адаптивним інструментом, готовим вміщати застосунки найвищої складності та масштабності.
Ключові слова: фреймворк; архітектура фреймворків; вебзастосунки; вебкаркас; подійноорієнтована модель; бізнес-логіка; бізнес-правила; масштабованість; транзакція; база даних.
Вступ. Нині люди не можуть уявити своє життя без доступу до глобальної мережі. Інтернет щодня пропонує нові технології та фреймворки, і сучасному фахівцю потрібно оперативно реагувати на ці зміни і робити свої адаптації гнучкими та
масштабованими (Розломій та Науменко, 2022). Тож IT-спеціаліст повинен стежити за актуальними тенденціями в індустрії, вивчати нововведення.
Одним з основних помилкових підходів у розробці архітектури є використання розробниками звичних технологій для створення корпоративних застосунків,
а потім застосування різних технологічних конструкцій, що може призвести до
заплутаного коду та розширення архітектури, проблем із масштабованістю. Правильно розроблена архітектура є ключовою для малих і великих проєктів, оскільки відсутність планування архітектури може призвести до серйозних проблем.
Ідеально побудована архітектура допомагає зменшити витрати на розробку вебзастосунків і визначає успіх проєкту.
У статті зосереджено увагу на проблемі використання готових рішень під час створення високонавантажених та масштабованих вебзастосунків. Саме недостатність
простого, гнучкого та інтуїтивно зрозумілого фреймворку для розробки таких застосунків спонукає створити свій власний вбудований фреймворк для подібних завдань.
Результати дослідження. Однією з ключових особливостей фреймворку
Minegraph є наявність граф-орієнтованого API, яке ефективно управляє роботою системи, особливо в нетривіальних випадках. Це забезпечує розділення бізнес-логіки
від обробки запитів користувача. Усі зміни, що відбуваються в системі, зберігаються
у вигляді об’єктів подій, відомих як «event». Ці події зберігаються в базі даних у вигляді різних шарів, що забезпечує високий рівень надійності і нульові втрати даних.
Одна з основних переваг фреймворку Minegraph – це його легко масштабований граф-орієнтований API для бекенду. Він має кілька моделей, які можуть бути
вибрані відповідно до потреб системи.
Архітектура Minegraph має надзвичайно гнучку структуру. Крім драйверів для
взаємодії з базами даних, у фреймворку є шар, який дає можливість використовувати NoSQL бази даних, водночас граф-орієнтовані. Для оптимізації пошуку передбачено окремий модуль, що працює з пошуковим двигуном Elasticsearch та
має значні переваги перед реляційними базами даних. Фреймворк має вбудовану підтримку транзакцій та можливість згладження даних.
432
Цифрова платформа: інформаційні технології в соціокультурній сфері
2023, Том 6 № 2
Створений фреймворк є готовим структурним каркасом для розробки масштабованих та високонавантажених застосунків будь-якого рівня складності. Розробка на цьому фреймворку не потребує глибокого аналізу архітектури вебсистем,
а лише базових знань про середовище та вміння орієнтуватися в документації.
Фреймворк містить передові технології для обробки та зберігання даних, а також
використовує хмарні рішення для покращення функціональності системи та зниження затрат на її інфраструктуру.
Зараз є велика кількість фреймворків для розробки вебзастосунків, що дає
змогу ефективно зменшити час для створення нового вебдзастосунку.
Один із цих фреймворків – Yii Framework (n.d.), що є вебкаркасом, розробленим на PHP і заснованим на парадигмі MVC. Він відзначається високою продуктивністю, надійністю і багатофункціональністю та надає широкий набір можливостей для швидкої і легкої розробки оптимізованих вебзастосунків. Значною
перевагою є чітка та всеосяжна документація, а також різноманітні моделі (Є.
Щербаков та М. Щербакова, 2020). Використовуючи Yii Framework, можливо
створювати проєкти різного масштабу, і фреймворк надає інструменти для доп (...truncated)