ЩОДО ПИТАННЯ ПОБУДОВИ АРХІТЕКТУРИ СУЧАСНИХ КОРПОРАТИВНИХ ДОДАТКІВ НА NODE.JS
Анотація
У статті розкрито питання побудови архітектури сучасних корпоративних додатків на Node.js. Визначено, що Node.js - це надзвичайно потужна платформа на основі JavaScript, побудована із застосуванням Google Chrome JavaScript V8 Engine, яка використовується для розробки веб-додатків з інтенсивним введенням-виводом. Наголошено, що програму, яка запускається на сервері та обробляється клієнтським браузером, використовуючи Інтернет для доступу до всіх ресурсів цієї програми, зазвичай легко розбити на три частини: клієнт, це коли користувач взаємодіє з інтерфейсною частиною веб-програми; сервер, який відповідає за прийом клієнтських запитів, виконання необхідних завдань та надсилання відповідей клієнтам та база даних у якій зберігаються дані для веб-програми. Наголошено, що Node.js використовує архітектуру «однопотокового циклу подій» для обробки кількох одночасних клієнтів. Модель обробки Node.js заснована на моделі подій JavaScript разом із механізмом зворотного виклику JavaScript. Зазначається, що частини архітектури Node.js складаються із запитів, які можуть бути блокуючими (складними) або неблокуючими (простими) залежно від завдань, які користувач хоче виконати у веб-застосунку; серверу Node.js, який є серверною платформою, яка приймає запити від користувачів, обробляє їх та повертає відповіді відповідним користувачам; черги подій, яка зберігає вхідні запити клієнтів і передає їх один за одним у цикл подій; пулу потоків, що складається з усіх потоків, доступних для виконання деяких завдань, які можуть знадобитися для виконання запитів клієнта; циклу подій, що необмежено приймає запити та обробляє їх, а потім повертає відповіді відповідним клієнтам та зовнішніх ресурсів, які необхідні для блокування запитів клієнтів. Архітектура сучасних корпоративних додатків на Node.js. ґрунтується на застосуванні двох окремих напрямків: «зверху вниз» за відповідними ролями, що допомагає розробникам об’єднувати та роз’єднувати модулі, а також напрямок «розділяй і володарюй» у відповідності до виконуваних завдань, що допомагає розробникам розділити завдання на простіші модулі, одночасно дозволяючи розробляти декілька модулів. Розроблена архітектура покликана ефективно структурувати дизайн додатків для кращої ремонтопридатності та розширюваності з часом.