Трехуровневая архитектура: описание и компоненты

1.

Трехуровневая архитектура:
описание и компоненты
Лысенко Богдан, SA

2.

Введение: Что такое трехуровневая
архитектура?

3.

Цели:
Трехуровневая архитектура - это архитектурный
стиль, который разделяет приложение на три уровня:
представление, бизнес-логика и данные.
- Упрощение разработки
и поддержки.
- Повышение
масштабируемости.
- Улучшение
тестируемости и
повторного
использования кода.

4.

История и
развитие
В 1990-х годах, с ростом клиент-серверных приложений,
возникла необходимость в более структурированном
подходе.
- Появление веб-технологий (например, CGI)
способствовало распространению трехуровневой
архитектуры.
Примеры:
Первые версии CRMсистем, ERP-системы,
которые требовали
четкого разделения
между
пользовательским
интерфейсом и логикой
обработки данных.

5.

Основные уровни трехуровневой архитектуры
1. Уровень представления
(Presentation Layer)
2. Уровень бизнес-логики
(Business Logic Layer)
Интерфейс пользователя, который
взаимодействует с пользователями.
Отвечает за хранение и извлечение
Обрабатывает данные, выполняет
данных из баз данных.
вычисления и управляет бизнес-процессами.
Примеры технологий:
- HTML/CSS: Основные технологии для
создания структуры и стилей веб-страниц.
- JavaScript: Используется для
динамического взаимодействия. Например,
AJAX для асинхронных запросов к серверу.
Фреймворки:
- React: Позволяет создавать
компонентные интерфейсы.
- Angular: Полноценный фреймворк для
создания одностраничных приложений
(SPA).
- Bootstrap: CSS-фреймворк для
быстрого создания адаптивных
интерфейсов.
Примеры технологий:
- Java (Spring Framework): Создание
RESTful API для обработки запросов от
уровня представления.
- C#: Разработка корпоративных
приложений с поддержкой MVC.
Пример: создание веб-приложения для
управления запасами.
- Python (Django): Быстрое создание
приложений с интеграцией бизнеслогики. Пример: создание системы
управления пользователями.
3. Уровень данных
(Data Layer)
Примеры технологий:
- SQL (MySQL, PostgreSQL):
Реляционные базы данных для хранения
структурированных данных. Пример:
таблицы пользователей и заказов в
интернет-магазине.
- NoSQL (MongoDB, Cassandra):
Нереляционные базы данных для
хранения больших объемов
неструктурированных данных. Пример:
хранение отзывов пользователей в
формате JSON.
- ORM (Object-Relational Mapping):
Инструменты, такие как Hibernate или
Entity Framework, позволяют работать с
базами данных на уровне объектов.
Пример: использование ORM для
автоматического создания SQL-запросов.

6.

Взаимодействие между уровнями
Как уровни взаимодействуют друг с другом?
Пример взаимодействия:
1. Пользователь заполняет форму регистрации на уровне представления.
2. Данные отправляются на уровень бизнес-логики через API-запрос (например, POST-запрос).
3. Бизнес-логика проверяет данные (например, проверяет уникальность имени пользователя)
и взаимодействует с уровнем данных для сохранения информации в базе данных.
4. После успешного сохранения уровень бизнес-логики отправляет ответ на уровень
представления (например, сообщение об успешной регистрации).
5. Уровень представления отображает результат пользователю.

7.

Преимущества трехуровневой архитектуры
Разделение ответственности:
Каждый уровень отвечает за свою часть функциональности,
что упрощает разработку и тестирование.
- Упрощение разработки и поддержки:
Изменения в одном уровне не требуют изменений в других
уровнях. Например, можно изменить интерфейс без изменения
бизнес-логики.
- Масштабируемость:
Легко добавлять новые функции или менять технологии на
одном из уровней без затрагивания остальных. Например,
можно заменить базу данных без изменения бизнес-логики.
- Повышенная безопасность:
Каждый уровень может иметь свои механизмы
аутентификации и авторизации. Например, уровень данных
может быть защищен от несанкционированного доступа.

8.

Недостатки трехуровневой архитектуры
- Сложность настройки и конфигурации:
Требует больше усилий на начальном этапе разработки. Например, необходимо
настроить взаимодействие между уровнями.
- Потенциальные проблемы с производительностью:
Если взаимодействие между уровнями не оптимизировано, это может замедлить
приложение. Например, избыточные запросы к базе данных могут увеличить время
отклика.
- Затраты на поддержку:
Более сложная архитектура требует более квалифицированного персонала.
Например, разработчики должны понимать все три уровня и их взаимодействие.

9.

Примеры применения
- Корпоративные приложения:
- CRM-системы (например, Salesforce), которые требуют четкого
разделения между пользовательским интерфейсом и обработкой
данных.
- ERP-системы (например, SAP), где различные модули могут
работать независимо друг от друга.
- Веб-приложения:
- Интернет-магазины (например, Amazon), где необходимо управлять
большим количеством данных о товарах и пользователях.
- Социальные сети (например, Facebook), где требуется обработка
большого количества запросов от пользователей.
- Мобильные приложения:
- Приложения для управления финансами (например, Mint), которые
используют серверную часть для обработки транзакций и анализа
данных.

10.

Будущее трехуровневой архитектуры
- Тенденции и прогнозы:
- Микросервисы:
- Переход от монолитных приложений к более гибким микросервисным архитектурам для улучшения
масштабируемости и независимости компонентов. Например, каждая функция приложения может быть
реализована как отдельный сервис.
- Облачные решения:
- Интеграция с облачными сервисами для хранения данных и обработки бизнес-логики. Например,
использование AWS Lambda для выполнения функций без необходимости управления серверами.
- Контейнеризация:
- Использование Docker и Kubernetes для управления развертыванием и масштабированием
приложений. Это позволяет легко разворачивать приложения в разных средах.

11.

Заключение
Итоговые мысли:
- Трехуровневая архитектура остается
актуальной благодаря своей гибкости и
структурированности.
- Она служит основой для многих современных
подходов к разработке ПО и помогает
справляться с растущими требованиями к
приложениям.

12.

Вопросы к спикеру
English     Русский Правила