Веб-додатки для розгортання в хмарному середовищі.
2. Вибір архітектури веб-застосування
Архітектура застосування визначає схему взаємодії між різними
компонентами системи. Зручним є розділення архітектури на логічні рівні.
Фактично, відбувається фізичне розділення на системи на певні
компоненти. Наприклад, такими компонентами можуть бути сервер бази
даних, бекенд сервер, користувацький інтерфейс, сервер кешування,
messaging сервер, тощо. В залежності від кількості рівнів, застосунки
поділяються на 1-рівневі, 2-рівневі, 3-рівнені та багаторівнені. Кожен із цих
підходів має свої переваги та недоліки пов’язані із складністю розробки,
розгортки та використання.
Порівняльна характеристика архітектурних підходів
1-рівневе застосування - це застосування у якому сервер бізнес-логіки,
база даних та користувацький розташовані на одній машині.
Візуалізація 1-рівневого застосування
1-рівневі застосування володіють низкою переваг, проте це
архітектурне рішення є непридатним до використання у веб-застосуваннях,
адже усі компоненти програмної системи мусять бути на одній фізичній
машині. Ключовими перевагами є: відсутність мережевих запитів до
ресурсів системи, швидкий доступ до даних, відносно гарний рівень
безпеки. Прикладами 1-рівневих застосувань є настільки додатки (desktop
applications). Одним із найбільших недоліків даних застосувань є складність
внесення змін після того як застосунок було доставлено. Наприклад, якщо
користувач встановив певне програмне забезпечення, яке містить помилку,
він мусить власноруч завантажити та встановити оновлення. Цей недолік
змушує розробників дуже ретельно тестувати, адже будь-який помилковий
код який було доставлено буде складно виправити.
2-рівнева архітектура включає в себе клієнт-серверну взаємодію.
Зазвичай, клієнтський рівень містить користувацький інтерфейс, а сервер
фактично виступає у ролі сервера бази даних.
Візуалізація 2-рівневого застосування
Таке розділення рівнів дозволяє розмістити різні рівні на різні
машини (віртуальні або фізичні). Безумовно, розміщення бізнес-логіки на
клієнтській стороні створює потенційні загрози безпеці. Користувач матиме
змогу здійснити reverse engineering та отримати доступ до критичних
аспектів системи. Проте, даний підхід має й низку позитивних аспектів.
Розміщення користувацького інтерфейсу та бізнес-логіки на одному рівні
дозволяє зменшити кількість мережевих запитів до бази даних. В свою
чергу, це дозволяє зменшити витрати на підтримку серверної
інфраструктури.
3-рівнева архітектура є однією з найбільш використовуваних у вебзастосуваннях. Вона строго розподіляє застосунок на 3 рівні:
користувацький інтерфейс, бізнес-логіка застосунку та база даних.
- Візуалізація 3-рівневого застосування
Даний підхід вирішує більшість недоліків які присутні у 1-рівневій та
2-рівневій архітектурі. 3-рівневі застосунки добре масштабуються,
дозволяють потворно використовувати певні компоненти, спрощують
процес оновлення системи, зменшують ризики безпеки. Проте, у зв’язку з
тим, що комунікація між рівнями відбувається завдяки мережі, постає
задача безпечної передачі даних. Також, варто зазначити що загалом
складність цієї системи є більшою, внаслідок потреби коректно
організовувати комунікацію між компонентами.
Багаторівнева архітектура (або N-tier architecture) є розширення 3-
рівневої архітектури. Даний підхід наслідує принцип Single Responsibility,
тобто кожен рівень повинен мати свою задачу і виконувати її добре.
Прикладами додаткових рівнів які можуть використовувати багаторівневі
застосування є: компоненти кешування, messaging сервіси,
балансувальники навантаження, пошукові сервіси, тощо.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання