1. Backend -
серверная часть веб-приложения, отвечающая за обработку запросов, выполнение
бизнес-логики, управление доступом и хранение данных. Сервер получает
информацию от клиента, проверяет её, выполняет необходимые операции и формирует
ответ. Серверная часть не должна без проверки доверять данным, переданным
браузером.
2. Маршрутизация -
механизм сопоставления HTTP-метода и адреса запроса с определённым
обработчиком. Например, GET /api/students может использоваться для получения
списка студентов. Контроллер принимает параметры и тело запроса, обращается к
сервисному слою и возвращает HTTP-ответ с соответствующим статусом.
3. Сервисный слой
содержит бизнес-логику приложения, то есть правила выполнения операций.
Например, сервис регистрации студентов может проверять наличие свободных мест
на курсе. Отделение бизнес-логики от контроллеров упрощает тестирование,
сопровождение и изменение приложения. Контроллер отвечает за
HTTP-взаимодействие, а сервис — за правила предметной области.
4. Базы данных
используются для долговременного хранения информации. Система управления базами
данных обеспечивает создание, изменение, удаление и получение записей. ORM
(Object-Relational Mapping) - технология, связывающая программные объекты с
таблицами реляционной базы данных. ORM упрощает работу с данными, однако
разработчику также необходимо понимать SQL, индексы и особенности выполнения
запросов.
5. Транзакция - механизм
объединения нескольких связанных операций с данными в единое действие. При
успешном выполнении изменения подтверждаются, а при ошибке могут быть отменены.
Это помогает сохранять целостность данных. Серверная валидация проверяет
обязательные поля, форматы и допустимые значения. Обработка ошибок позволяет
возвращать пользователю понятные сообщения, не раскрывая внутренние подробности
системы. Техническая информация об исключениях должна сохраняться в защищённых
журналах.