Архітектура фреймворку для проєктування високонавантажених веб-застосунків
Опис архітектури власного фреймворку Minegraph для проєктування спрощення процесу розробки сучасних високонавантажених веб-застосунків. Аналіз проблеми використання готових рішень під час створення високонавантажених та масштабованих веб-застосунків.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 14.09.2024 |
Размер файла | 179,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Державний університет інфраструктури та технологій
Архітектура фреймворку для проєктування високонавантажених веб-застосунків
Ірина Овчарук,
кандидат технічних наук, доцент кафедри інформаційних технологій
Ілля Тихонков,
магістрант кафедри інформаційних технологій
м. Київ
Анотація
Мета статті: опис архітектури власного фреймворкуMinegraphдля проєктування спрощення процесу розробки сучасних високонавантажених вебзастосунків.
Методами дослідження є огляд та аналіз сучасних технологій для розробки архітектури та проєктуванняфреймворків.
Новизною дослідження є аналіз фреймворків для розробки вебзастосунків, їх особливостей та застосування залежно від завдань, аналіз їх архітектури. У статті акцентовано увагу на проблемі використання готових рішень під час створення високонавантажених та масштабованих вебзастосунків. Представлено авторську розробку фреймворкудля масш - табованих та високонавантажених додатків будь-якого рівня складності, особливості запропонованих моделей, а також докладно описано архітектуру фреймворкуMinegraph, проаналізовано особливості цього фреймворку, виокремлено його сильні та слабкі сторони.
Висновки. У статті проаналізовано наявні фреймворки для розробки вебзастосунків. Докладно представлено авторську розробку архітектури фреймворкуMineraph, а саме: драйвери для взаємодії з базами даних, NoSQLбази даних; особливості моделі для надання можливості додавати або змінювати основну логіку для обробки запитів; моделі, де зберігається логіка для обробки запитів та її особливості, висвітлені питання стосовно гнучкого механізму для налагодження основної логіки застосунків.
Створений фреймворкє готовим структурним каркасом для розробки масштабованих та високонавантажених застосунків будь-якого рівня складності. Важливо зазначити, що розробка на цьому фреймворкуне потребує глибокого аналізу архітектури вебсистем, а лише базових знань про середовище розробки та вміння орієнтуватися в документації. У зазначеному фреймворкувраховано переваги попередніх аналогів, він містить передові технології, а це підвищує продуктивність та ефективність розробки масштабованих та високонавантажених вебзастосунків. У роботі описано особливості моделі фреймворкуMinegraph, проаналізовано особливості цього фреймворку, виокремлено його сильні та слабкі сторони. Фреймворк Minegraphвиходить за межі структурних можливостей, безперешкодно інтегрує та використовує новітні технології для обробки та зберігання даних. Крім цього, він використовує також хмарні рішення, що призводить до значного покращення функціональності системи та одночасно зменшує витрати на управління інфраструктурою.
Фреймворк, представлений у цій роботі, є не просто структурною основою, а й надзвичайно універсальним та адаптивним інструментом, готовим вміщати застосунки найвищої складності та масштабності.
Ключові слова: фреймворк; архітектура фреймворків; вебзастосунки; вебкаркас; подійно-орієнтована модель; бізнес-логіка; бізнес-правила; масштабованість; транзакція; база даних.
Abstract
IrynaOvcharuk,
PhD in Technical Sciences,
Associate Professor at the Department of Information Technologies,
State University of Infrastructure and Technology,
Kyiv, Ukraine
IlliaTykhonkov,
Master's student at the Department of Information Technologies,
State University of Infrastructure and Technology,
Kyiv, Ukraine
Framework architecture for designing high-load web applications
The purpose of the article is to describe the architecture of the proprietary Minegraph framework for designing a simplified process of developing modern high-load web applications.
The research methods are a review and analysis of modern technologies for developing architecture and designing frameworks.
The novelty of the study is the analysis of frameworks for developing web applications, their features and applications depending on the tasks, and the analysis of their architecture. The article focuses on the problem of using off-the-shelf solutions when creating high-load and scalable web applications. The author's own development of a framework for scalable and highly loaded applications of any level of complexity, the features of the proposed models are presented, and the architecture of the Minegraph framework is described in detail, the features of this framework are analysed, and its strengths and weaknesses are highlighted.
Conclusions. The article analyses the existing frameworks for developing web applications. The author's development of the Mineraph framework architecture is presented in detail, namely: drivers for interaction with databases, NoSQL databases; features of the model to allow adding or changing the basic logic for processing requests; models where the logic for processing requests is stored and its features; issues related to a flexible mechanism for debugging the basic logic of applications are highlighted.
The created framework is a ready-made structural framework for the development of scalable and highly loaded applications of any level of complexity. It is important to note that development on this framework does not require in-depth analysis of web system architecture, but only basic knowledge of the development environment and the ability to navigate the documentation. This development framework takes into account the advantages of previous analogues and contains advanced technologies, which increases the productivity and efficiency of developing scalable and highly loaded web applications. The paper describes the features of the Minegraph framework model, analyzes the features of this framework, and identifies its strengths and weaknesses. The Minegraph framework goes beyond structural capabilities, seamlessly integrates and uses the latest technologies for data processing and storage. In addition, it also uses cloud solutions, which leads to a significant improvement in system functionality while reducing infrastructure management costs.
The framework presented in this paper is not just a structural framework; it is an extremely versatile and adaptive tool, ready to accommodate applications of the highest complexity and scale. This framework has advanced technologies for data processing and storage and also uses cloud solutions that help improve the system's functionality and reduce the cost of its infrastructure.
Keywords: framework; framework architecture; web applications; web framework; event - driven model; business logic; business rules; scalability; transaction; database.
Основна частина
Вступ. Нині люди не можуть уявити своє життя без доступу до глобальної мережі. Інтернет щодня пропонує нові технології та фреймворки, і сучасному фахівцю потрібно оперативно реагувати на ці зміни і робити свої адаптації гнучкими та масштабованими (Розломій та Науменко, 2022). Тож IT-спеціаліст повинен стежити за актуальними тенденціями в індустрії, вивчати нововведення.
Одним з основних помилкових підходів у розробці архітектури є використання розробниками звичних технологій для створення корпоративних застосунків, а потім застосування різних технологічних конструкцій, що може призвести до заплутаного коду та розширення архітектури, проблем із масштабованістю. Правильно розроблена архітектура є ключовою для малих і великих проєктів, оскільки відсутність планування архітектури може призвести до серйозних проблем. Ідеально побудована архітектура допомагає зменшити витрати на розробку вебзастосунків і визначає успіх проєкту.
У статті зосереджено увагу на проблемі використання готових рішень під час створення високонавантажених та масштабованих вебзастосунків. Саме недостатність простого, гнучкого та інтуїтивно зрозумілого фреймворкудля розробки таких застосунків спонукає створити свій власний вбудований фреймворкдля подібних завдань.
Результати дослідження. Однією з ключових особливостей фреймворкуMinegraphє наявність граф-орієнтованого API, яке ефективно управляє роботою системи, особливо в нетривіальних випадках. Це забезпечує розділення бізнес-логіки від обробки запитів користувача. Усі зміни, що відбуваються в системі, зберігаються у вигляді об'єктів подій, відомих як «event». Ці події зберігаються в базі даних у вигляді різних шарів, що забезпечує високий рівень надійності і нульові втрати даних.
Одна з основних переваг фреймворкуMinegraph - це його легко масштабова - ний граф-орієнтований APIдля бекенду. Він має кілька моделей, які можуть бути вибрані відповідно до потреб системи.
Архітектура Minegraphмає надзвичайно гнучку структуру. Крім драйверів для взаємодії з базами даних, у фреймворкує шар, який дає можливість використовувати NoSQLбази даних, водночас граф-орієнтовані. Для оптимізації пошуку передбачено окремий модуль, що працює з пошуковим двигуном Elasticsearchта має значні переваги перед реляційними базами даних. Фреймворк має вбудовану підтримку транзакцій та можливість згладження даних.
Створений фреймворкє готовим структурним каркасом для розробки масштабованих та високонавантажених застосунків будь-якого рівня складності. Розробка на цьому фреймворкуне потребує глибокого аналізу архітектури вебсистем, а лише базових знань про середовище та вміння орієнтуватися в документації. Фреймворк містить передові технології для обробки та зберігання даних, а також використовує хмарні рішення для покращення функціональності системи та зниження затрат на її інфраструктуру.
Зараз є велика кількість фреймворків для розробки вебзастосунків, що дає змогу ефективно зменшити час для створення нового вебдзастосунку.
Один із цих фреймворків - YiiFramework (n.d.), що є вебкаркасом, розробленим на PHPі заснованим на парадигмі MVC. Він відзначається високою продуктивністю, надійністю і багатофункціональністю та надає широкий набір можливостей для швидкої і легкої розробки оптимізованих вебзастосунків. Значною перевагою є чітка та всеосяжна документація, а також різноманітні моделі (Є. Щербаков та М. Щербакова, 2020). Використовуючи YiiFramework, можливо створювати проєкти різного масштабу, і фреймворкнадає інструменти для допомоги в тестуванні та налагодженні застосунків.
Ще одним популярним фреймворкомдля розробки вебзастосунків є Django (n.d.) Це вільний фреймворкдля створення вебзастосунків використовує підхід MVC. Проєкт дає можливість будувати вебсайти з одним або кількома застосун - ками, які можливо підключати в проєкт, дотримуючись рекомендацій.
Обидва фреймворки - Djangoта YiiFramework - надають можливість вибору бази даних для роботи, постачають необхідні інтерфейси і дають змогу розробляти контролери для обробки запитів (Філімонова та Селіванова, 2021). Вони дуже ефективні у своїх сферах використання, але не відповідають потребам у вирішенні проблеми підтримки високонавантажених вебзастосунків.
Однією з ключових особливостей фреймворкуMinegraphє наявність граф-орієн - тованогоAPI, яке ефективно управляє роботою системи, особливо в нетривіальних випадках. Це забезпечує розділення бізнес-логіки від обробки запитів користувача. Усі зміни, що відбуваються в системі, зберігаються у вигляді об'єктів подій, відомих як «event» (Бурлаченко та Доценко, 2023). Ці події зберігаються в базі даних у вигляді різних шарів, що забезпечує високий рівень надійності і нульові втрати даних.
За допомогою архітектури EGF2 можливо створювати масштабовані та об'ємні системи обробки даних з меншими зусиллями. Ця архітектура робить процес розробки та підтримки великих систем більш зручним і ефективним завдяки заздалегідь визначеній моделі подій та графоорієнтованому підходу до управління даними.
Одна з основних переваг фреймворкуMinegraph - це його легко масштабова - ний граф-орієнтований APIдля бекенду. Він містить кілька моделей, які можуть бути вибрані відповідно до потреб системи.
Архітектура Minegraphмає надзвичайно гнучку структуру. По-перше, крім драйверів для взаємодії з базами даних, у фреймворкує шар, який дає можливість використовувати NoSQLбази даних, водночас граф-орієнтовані. Для оптимі - зації пошуку передбачено окремий модуль, який працює з пошуковим двигуном Elasticsearchта має значні переваги перед реляційними базами даних (Elastic, n.d.). Додатково фреймворкмає вбудовану підтримку транзакцій та можливість згладження даних. Один з особливих типів моделей відомий як «гібридний» і дає змогу комбінувати надійність реляційних баз даних і швидкість NoSQLрішень. Основною метою фреймворкуMinegraphє об'єднання всіх цих механізмів у єдину гармонійну систему, інтуїтивно зрозумілу для розробників.
У фреймворкує два типи контролерів для обробки основних запитів, які включаються в моделі logicі client-api.
Модель client-apiнадає можливість додавати або змінювати основну логіку для обробки запитів PUT, POST, GETі DELETEдля об'єктів і для зв'язків. Основна логіка містить стандартні операції видалення, відновлення, отримання і створення об'єктів - вже вбудована у фреймворкі не вимагає додаткової реалізації. Але її можливо розширити, наприклад, для змін об'єктів або їх зв'язків. Головний аспект полягає в тому, що ці контролери виконуються, перш ніж відповідь надсилається користувачеві.
У моделі logicзберігається логіка для обробки запитів після того, як відповідь вже відправлена користувачеві. Інформація про зміну об'єкта передається в logic-модуль через події. Тут можливо визначити правила обробки для кожного конкретного запиту, а також встановити порядок їх виконання. Цей підхід добре гармонує з подійно-орієнтованою природою Node.js. Кожне правило може ініціювати інші правила під час зміни стану інших об'єктів, що сприяє ланцюговій реакції.
ФреймворкMinegraphнадає гнучкий механізм для налаштування основної логіки застосунків. Якщо логіка налаштована вірно, це може зробити застосунки швидкими та надійними.
Область кольору містить основні моделі EGF2. Стрілки вказують на взаємодію моделей, які виконують запити або передають дані іншим моделям. EGF2 складається з численних модулів, які поділяються на багато мікромодулів.
Архітектура EGF2 представлена на рис.
фреймворк веб застосунок
ФреймворкEGF2 володіє графоорієнтованимAPI. Така архітектура дає можливість наявності численних залежностей у проєкті та швидкого переходу між ними. Аналогічний підхід використовується у корпорації Facebook. Цей фреймворкпризначений для застосунків із великою кількістю об'єктів та їх взаємозв'язками, дає змогу легко додавати або видаляти нові класи об'єктів. EGF2 виокремлюється на ринку серед інших фреймворків завдяки двом головним аспектам: швидкому масштабуванню та відмовостійкості.
Кожен модуль у цьому фреймворкуможе працювати незалежно. Немає потреби турбуватися про деталі зберігання на рівні бази даних. Об'єкти додаються в систему за допомогою конфігурації, що усуває потребу в міграції даних.
Модуль «Client-API» виконує роль обробника клієнтських запитів у цьому фреймворку. Він виконує наступні завдання:
- приймає клієнтські запити;
- контролює автентифікацію запитів, щоб розуміти, хто саме здійснив запит до «Client-API». Виклики аутентифікації використовують службовий токенаутентифікації, який передається разом із запитом;
- здійснює контроль доступу до запиту. ACL-компонент клієнтського APIможе перевіряти користувача з певною роллю, чи дозволено виконувати конкретну дію у графі. Це може бути створення об'єкта чи зв'язку, зміну об'єкта, видалення об'єкта або зв'язку. Інформація про права доступу, який може використовуватися знову для всіх служб, збирається у графі конфігурації;
- модуль «Client-API» відповідає за виконання валідації полів об'єкта при запитах PUTі POST. Всі обмеження вказані у графі конфігурації;
- після перевірки запиту підтверджує вхід та дає дозвіл на роботу з модулем «client-data» для подальших маніпуляцій із даними;
- містить основні контролери обробки запитів.
Модуль «Client-API» підлягає масштабуванню, зокрема автоматичному масштабуванню з використанням AWSC3M.
Модуль «Client-data» надає доступ до даних системи. Він пропонує практично той же API, що й модуль «Client-API». «Client-data» недоступний з інтернету і видимий лише для інших модулів системи.
Модуль «Client-data» є єдиним компонентом, за допомогою якого можливо маніпулювати даними в системі. Всі сервіси використовують цей модуль, і перевагою є те, що ніхто не має прямого доступу до БД ззовні. «Client-data» використовує БД та, за необхідності, служби кешування, щоб задовольнити потреби стосовно даних.
«Client-data» повністю адаптований і має можливість легкого масштабування шляхом додавання додаткових запущених екземплярів сервісу. Цей модуль приховує деталі про використання БД і забезпечує єдиний шлях доступу до даних для інших сервісів.
Модуль «Auth» є сервісом, відповідальним за аутентифікацію та реєстрацію користувачів. Він надає набір ендпоінтів, пов'язаних із реєстрацією користувачів та входом до системи. Крім того, модуль «Auth» надає внутрішні ендпоінти для інших сервісів, зокрема для модуля «Client-API».
Модуль «Logic» відповідає за бізнес-логіку. Цей сервіс є повністю визначеним і має властивість легкого масштабування. Він стежить за змінами бази даних і реагує на них відповідно до своїх контролерів. Модуль «Client-API» також може містити деякі правила бізнес-логіки при обробці, а їхня відмінність полягає в тому, що «Logic» виконує свою бізнес-логіку вже після відправки запиту до «Client-API».
З використанням модуля «Logic» виникає можливість легко додати конкретну реалізацію бізнес-правил, що спрощує та організовує бізнес-логіку в системі. Під час побудови системи з використанням EGF2 модуль «Logic» є місцем, де міститься значна частина користувацького коду.
Модуль «Sync» є повністю масштабованим сервісом, відповідальним за синхронізацію кластера «ElasticSearch» зі змінами в даних. Цей модуль сприймає зміни, які відбуваються у базі даних, і відповідно реагує, належним чином оновлюючи дані в ElasticSearchдля подальшого швидкого пошуку. Цей пошук доступний для клієнта і для інших модулів.
Модуль «Pusher» є масштабованим сервісом, відповідальним за надсилання повідомлень: через електронну пошту, SMSабо WebSockets. Він підтримує різні шаблони повідомлень та також сприймає зміни в базі даних.
Модуль «File» є немасштабованим сервісом, який дає можливість зберігати файли в розподіленій хмарній системі AWSS3 bucket. Він підтримує різні варіанти обробки зображень шляхом зміни їхніх розмірів.
Модуль «Job» використовують для обробки довгих та складних завдань. Наприклад, генерація звітів, експорт, імпорт тощо обробляються за допомогою цього модуля. Це найбільш значущий модуль, який є у архітектурі EGF2.
Однією з ключових переваг запропонованого фреймворкує подійно-орієнтова - на модель архітектури, яка дає можливість відстежувати оновлення безпосередньо в базі даних та підключати до неї обробники, або, іншими словами, тригери. Цей механізм дає змогу підписуватися на сервіси та перехоплювати оновлення даних, замість того щоб реагувати на запити. Такий підхід дає можливість писати більш винахідливу архітектуру не на рівні запитів, а на рівні даних, уникати дублювання коду та логічних помилок. Кожен розроблений тригер виконується синхронно з іншими, що позбавляє від потреби писати багатопотоковий застосунок та використовувати переваги асинхронного середовища розробки Node.js.
Вся основна логіка розбита на компонентні атомарні логічні частини і виконується синхронно одна з одною, що дуже спрощує відстеження витоків пам'яті і є важливим для високонавантажених проєктів. Наприклад, сервіс Logicдає змогу створювати кілька правил обробки для кожної події, встановлюючи їх послідовність або даючи можливість виконуватися синхронно. Кожне таке правило несе з собою одну логічну дію і є однією невеликою функцією. Такий підхід дає змогу контролювати логіку застосунка, уникати великих кодових блоків.
Це розбиття на основні логічні частини також дає можливість логувати помилки та в подальшому їх усувати. Кожна подія записується у спеціальну таблицю Event, а відповідно забезпечено уникнення можливості появи невідстежуваних операцій із даними та витоків даних.
Графова структура даних дає можливість зберігати залежності у вигляді сут - ностей, що спрощує дії з ними, а також дає змогу зв'язувати дані будь-яким зручним способом, уникати глибокої вкладеності залежностей та звільнити базу даних від зайвих запитів.
Технології збереження даних, що використовуються - elasticsearch, rethinkdb, cassandra, AmazonS3 bucket, - піддаються дуже легкій масштабованості. Сама можливість масштабування та інструменти її реалізації надаються самим програмним продуктом.
Сервіс syncсинхронізує дані з пошуковим двигуном elasticsearch. Дані видаляються та створюються паралельно з тим, як вони створюються та видаляються в основній базі даних, розробникам не потрібно писати додаткового коду, достатньо налагодити конфігурацію, решту відіграє сервіс. Поміж основних обробників можливо написати власні, у випадку необхідності виконати які-небудь маніпуляції з даними перед їхнім відправленням у двигун.
Основним обмеженням elasticsearchє затримка під час транзакцій: при відправці запиту сервер отримує відповідь до того, як відбудеться транзакція в elasticsearch, затримка становить у середньому 0,5 секунди, тому цей сервер не підходить для зберігання аутентифікаційнихтокенів та для різних реактивних даних. Незважаючи на цей недолік, цей двигун вважається найшвидшим та має найгнучкіше APIдля запитів.
З огляду на велику кількість модулів, цей фреймворкменше підходить для малих проєктів через складність налаштування, але ідеально підходить для середніх і великих проєктів.
Висновки. У роботі описано особливості моделі фреймворкуMinegraph, проаналізовано особливості цього фреймворку, виокремлено його сильні та слабкі сторони. Потрібно зазначити, що він містить передові технології для обробки та зберігання даних, а також використовує хмарні рішення для покращення функціональності системи та зниження затрат на її інфраструктуру.
Всебічна дослідницька робота із фреймворкомMinegraphне лише розкрила його основні компоненти, функції, але й довела його глибоке значення в сучасній розробці програмних застосунків. Фреймворк, представлений у цій роботі, є не просто структурною основою, а й надзвичайно універсальним та адаптивним інструментом, готовим вміщати застосунки найвищої складності та масштабності. Важливо підкреслити, що для використання повного потенціалу цього фреймворкуне потрібна глибока експертиза в архітектурі вебсистем, а достатньо базового розуміння середовища розробки та вміння користуватися документацією для успішної розробки проєктів.
До того ж фреймворкMinegraphвиходить за межі структурних можливостей, безперешкодно інтегруючи та використовуючи передові технології для обробки та зберігання даних. Крім цього, він розумно використовує хмарні рішення, що призводить до значного покращення функціональності системи та одночасно зменшує витрати на управління інфраструктурою.
У сучасному технологічному ландшафті фреймворкMinegraphє незамінним та потужним інструментом для розробників. Його гнучкість, масштабованість та вбудована здатність до інновацій дають можливість розробникам створювати та підтримувати високорівневі застосунки з неперевершеною ефективністю та результативністю. Цей фреймворк - не просто інструмент; це вікно до інновацій у цифровій сфері.
Під час вивчення фреймворкуMinegraphстає очевидним, що його вплив сягає далеко за межі розробки. Він є зміною парадигми у підході до створення програмних застосунків, пропонуючи комплексне та оптимізоване рішення, яке надає розробникам можливість навігувати в складному світі сучасних технологій із впевненістю, відкриваючи нові можливості у цифровій сфері.
У статті проаналізовано наявні фреймворки для розробки вебзастосунків. Докладно представлено авторську розробку архітектури фреймворкуMineraph, а саме: драйвери для взаємодії з базами даних, NoSQLбази даних; особливості моделі з можливістю додавати або змінювати основну логіку для обробки запитів; моделі, де зберігається логіка для обробки запитів та її особливості, висвітлені питання стосовно гнучкого механізму для налагодження основної логіки застосунків.
У створеному фреймворку враховано переваги попередніх аналогів і всі новітні технології, він є готовим структурним каркасом для розробки масштабованих та високонавантажених застосунків будь-якого рівня складності. Важливо зазначити, що розробка на цьому фреймворкуне потребує глибокого аналізу архітектури вебсистем, а лише базових знань про середовище розробки та вміння орієнтуватися в документації.
Список посилань
1. Бурлаченко, І.С. та Доценко, Д.В., 2023. Продуктивність ORMдля серверних фреймворківвебзастосунків. В: Ольвійський форум - 2023: стратегіїкраїнПричорноморськогорегіону в геополітичномупросторі, XVII Міжнародна наукова конференція, м. Миколаїв, У - країна, 15-18 червня 2023 р. Миколаїв: Чорноморський національний університет імені Петра Могили, с. 7.
2. Розломій, І.О. та Науменко, С.В. 2022. Фреймворки для розробки серверної частини web-додатків. В: Інформаційна безпека та комп'ютерні технології, Матеріали V Міжнародної науково-практичної конференції, Кропивницький, Україна, 19-20 травня 2022 р. Кропивницький: Центральноукраїнський національний технічний університет, с. 42-43. Філімонова, Т.О. та Селіванова, А.В., 2021. Вибір платформи програмної реалізації веб-додатку. In: Emerging Trends in Academic Research, Conference Proceedings of the 1 st International Conference, Dublin, Ireland, February 10-12, 2021. Primediaelaunch, с. 39-41. Щербаков, Є.В. таЩербакова, М.Є., 2020. Особливості масштабування веб-додатків. Вісник Східноукраїнського національного університету імені Володимира Даля, [e-journal] 8 (264), с. 15-19. https://doi.org/10.33216/1998-7927-2020-264-8-15-19
3. Django, n.d. [online]. Available at: <https://www.djangoproject.com> [Accessed 14 July 2023]. Elastic, n.d. [online]. Available at: <https://www.elastic.co> [Accessed 14 July 2023].
4. Yii Framework, n.d. [online]. Available at: <https://www.yiiframework.com> [Accessed 14 July 2023].
5. REFERENCES
6. Burlachenko, I.S. and Dotsenko, D.V., 2023. Produktyvnist ORM dliaservernykhfreimvorkivvebzastosunkiv [ORM performance for web application server frameworks]. In: Olviiskyi forum - 2023: stratehiikrainPrychornomorskohorehionu v heopolitychnomuprostori [Olbia Forum - 2023: strategies of the countries of the Black Sea region in the geopolitical space], XVII International Scientific Conference, Mykolaiv, Ukraine, June 15-18, 2023. Mykolaiv: Petro Mohyla Black Sea National University, p. 7.
7. Django, n.d. [online]. Available at: <https://www.djangoproject.com> [Accessed 14 July 2023]. Elastic, n.d. [online]. Available at: <https://www.elastic.co> [Accessed 14 July 2023]. Filimonova, T.O. and Selivanova, A.V., 2021. Vybirplatformyprohramnoirealizatsiiveb - dodatku [Choosing a web application software implementation platform]. In: Emerging Trends in Academic Research, Conference Proceedings of the 1 st International Conference, Dublin, Ireland, February 10-12, 2021. Primediaelaunch, pp.39-41.
8. Rozlomii, I.O. and Naumenko, S.V., 2022. Freimvorkydliarozrobkyservernoichastyny web - dodatkiv [Frameworks for the development of the server part of web applications]. In: Informatsiinabezpeka ta kompiuternitekhnolohii [Information security and computer technologies], Proceedings of the V International Scientific and Practical Conference, Kropyvnytskyi, Ukraine, May 19-20, 2022. Kropyvnytskyi: Central Ukrainian National Technical University, pp.42-43.
9. Shcherbakov, Ye.V. andShcherbakova, M. Ye., 2020. Osoblyvostimasshtabuvanniaveb-dodatkiv [Scaling features of web applications]. Visnik of the Volodymyr Dahl East Ukrainian national university, [e-journal] 8 (264), pp.15-19. https://doi.org/10.33216/1998-7927-2020-264-8-15-19Yii Framework, n.d. [online]. Available at: <https://www.yiiframework.com> [Accessed 14 July 2023].
Размещено на Allbest.ru
...Подобные документы
Інструменти для розробки сайту. Застосування парсингу HTML-сторінок для створення web-системи з реалізації комп’ютерних комплектуючих по магазинах постачальниках з оптимальним пошуком при формуванні заказу. Аналіз можливостей фреймворку Code Igniter.
дипломная работа [918,4 K], добавлен 08.06.2013Опис основних етапів розробки архітектури програмної системи: структурування системи, моделювання управління, декомпозиція підсистем. Ознайомлення із кроками створення інтерфейсу користувачів як однієї із фаз проектування програмного забезпечення.
реферат [20,7 K], добавлен 24.11.2010Переваги і проблеми дистанційної освіти на прикладі корпорації Microsoft. Створення власного web-додатку. Розробка технічних умов програмної системи, модуля пошуку та бронювання авіаквитків. Інтеграція модуля з сайтом. Використання javascript фреймворків.
курсовая работа [1,0 M], добавлен 31.08.2014Структура і функції інформаційної системи. Ситуаційний аналіз процесу оцінки проектів. Аналіз процесу розробки та створення технічного завдання. Створення протоколу якості системи. Структура та принцип роботи програмного продукту, опис прецендентів.
курсовая работа [980,0 K], добавлен 22.09.2014Огляд засобів створення програмного забезпечення сучасних мікроконтролерів. Аналіз методів та налаштувань контролерів. Засоби генерації коду налаштувань. Детальний опис розробки програми генератора налаштувань ядра Cortex M4 та методики її тестування.
курсовая работа [1,3 M], добавлен 20.05.2015Первинний опис програмного забезпечення графічний редактор. Функціональна специфікація класів. Проектування архітектури програми, структури даних та графічного інтерфейсу. Опис алгоритму природною мовою. Аналіз впливу зміни вимог на зміну архітектури.
курсовая работа [2,4 M], добавлен 07.10.2014Вибір технології для створення системи управління контентом. Можливості платформи Node.JS. Опис framework Express, який використовується для створення каркасу додатку. База даних MongoDB. Опис компонентів і проектних рішень. Взаємодія клієнта та сервера.
курсовая работа [5,2 M], добавлен 29.11.2013Основи розробки додатків Windows. Параметри функції WinMain. Запуск процесу, використання для цього вибраних на диску файлів. Відслідковування кожного з процесів (його статус, назву, час життя), діяльності користувача. Опис алгоритму роботи програми.
курсовая работа [202,6 K], добавлен 14.05.2015Архітектура оперативної пам’яті, запис та зчитування даних. Шляхи підвищення продуктивності оперативної пам’яті. Перехід від DDR до DDR2 та DDR3. Основні технічні та швидкісні характеристики модулів пам’яті DDR3. Використання fly-by архітектури.
реферат [1,3 M], добавлен 06.05.2009Створення бази даних аптеки готових лікарських форм для підвищення ефективності її роботи та автоматизації обробки результатів її діяльності. Обмеження при роботі з базою даних. Аналіз системних вимог. Вибір засобів розробки інформаційної системи.
курсовая работа [477,7 K], добавлен 09.12.2013Створення програми "Вантажоперевезення" в середовищі програмування Borland C++ Builder. Важливість використання інформаційних систем в сучасних умовах. Інструкції для системного програміста – проектні рішення, архітектура програми, її призначення.
курсовая работа [8,1 M], добавлен 07.06.2011Проблеми розробки сучасних баз даних. Моделювання предметної області "Адміністратор готелю". Застосування СУБД Microsoft ACCESS для реалізації системної архітектури бази даних. Результати тестування та рекомендації щодо удосконалення розробленої системи.
курсовая работа [22,2 M], добавлен 29.04.2014Вибір архітектури та інструментальних засобів розробки. Розробка модуля для перегляду сторінок сайту, доступного, зручного інтерфейсу системи адміністрування. Створення бази даних. Опис механізмів передачі даних між сторінками. Реалізація форуму на сайті.
дипломная работа [7,1 M], добавлен 24.09.2012Опис організаційної структури автоматизації пошуку кур'єра для виконання замовлення в фірмі "Екіпаж-Сервіс". Побудова умовно замкненої моделі. Побудова дерева цілей і дерева функцій автоматизації. Створення DFD-діаграми та опис форм документів (шаблонів).
курсовая работа [1,1 M], добавлен 12.04.2014Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.
курсовая работа [1,1 M], добавлен 23.01.2014Паралельність розвитку комп’ютерної архітектури, принципові способи її введення. Шина даних процесора, її сутність і розрядність. Архітектура подвійної незалежної шини, корпуса та гнізда мікропроцесорів. Характеристика технологій MMX, 3Dnow, Enhanced.
контрольная работа [39,6 K], добавлен 21.10.2009Опис предметної області по темі "Перевантаження методів". Методика розробки тестових завдань. Проектування та розробка програми. Опис елементів управління, які використовуються в проекті. Опис текстів процедур та опрацювання подій. Отримані результати.
курсовая работа [620,9 K], добавлен 06.08.2013Проблеми друкування шрифтом, який не підтримує програма друку. Створення програми завантаження свого шрифту у принтер. Опис та обґрунтування проектних рішень по проектуванню пристрою системи. Розрахунки та експериментальні матеріали, реалізація проекту.
курсовая работа [17,6 K], добавлен 08.08.2009Комп’ютерні інформаційні системи СППР (системи підтримки прийняття рішень). Призначення, переваги, компоненти, архітектура. Приклади використовуваних СППР, їх основні види і опис. Нейронні мережі та СППР. Чинники, які сприяють сприйняттю і поширенню СППР.
курсовая работа [323,7 K], добавлен 28.12.2010Структура, характеристики та принципи розробки сучасного сайту-візитки. Розробка дизайну. Характеристика сайту кав’ярні. Основні вимоги до програми та до інтерфейсу. Опис проектних рішень, інструментів та підходів до розробки з обґрунтуванням їх вибору.
дипломная работа [3,2 M], добавлен 19.03.2017