Найти тему

Backend для системного аналитика

Оглавление

Перед вами карта компетенций системного аналитика и сегодня мы поговорим про backend.

Карта компетенций системного аналитика
Карта компетенций системного аналитика

Взаимодействие между backend и frontend

Взаимодействие backend - frontend
Взаимодействие backend - frontend

В предыдущей статье мы обсуждали frontend и говорили о том, что он получает данные с бэкенда. Сейчас мы разберемся как это происходит. Представьте себе, что где-то существует своего рода сервер, который умеет обрабатывать запросы. Для ответа на запросы он может использовать или не использовать базу данных. Специфика взаимодействия с таким сервисом, то есть адреса для конкретного типа запросов, структура запросов и структура ответов — это то, что называется API. Frontend шлет запрос определенной структуры на определенный адрес. Backend понимает этот запрос, если нужно, формирует запрос в базу данных, получает необходимые данные, формирует из них ответ в заранее оговоренном формате и отправляет его на фронт. Фронт понимает этот ответ (потому что он приходит в формате, описанном в API) и отображает данные для пользователя через интерфейс. Такие взаимодействия обычно описываются так называемыми диаграммами последовательности или sequence диаграммами. Их мы рассмотрим в одном из следующих статьях.

Структура сообщений

Структура сообщений
Структура сообщений

Итак, когда речь заходит о сообщениях, которыми обмениваются фронт и бэк, необходимо понимать, что сообщение необходимо отправить на правильный адрес (иначе бэкенд его попросту не примет и ответит об ошибке). Также в сообщении необходимо указать данные авторизации (бэкенд не будет отвечать кому попало). Такие данные как правило указываются в header запроса и могут представлять из себя, например, авторизационный токен. Ну и наконец, сообщение может содержать (а может и не содержать) какое-то тело (body). В нем для запросов могут быть указаны какие-нибудь фильтры, а для ответов, собственно, запрашиваемая информация.

Облачные технологии

Backend в облаке
Backend в облаке

В реальности backend может представлять (и чаще всего таки представляет) из себя не отдельно стоящий сервер, а множество физических или виртуальных серверов в облаке. И хотя frontend в таком случае не представляет к какому конкретно реальному или виртуальному серверу уходит его запрос (более того, один и тот же запрос в разное время может быть обращен к разным серверам), это ему и не нужно. Он шлет правильные запросы на правильные адреса и получается правильные ответы. Этого достаточно. В общем не важно, куда там обращается это облако (в штанах или без), важно, чтобы запросы соответствовали описанию в API. Тогда и ответы будут ему соответствовать.

Заключение

В заключении повторим основные моменты:

  • Фронт и бэк взаимодействуют между собой посредством сообщений, структура и формат которых реализованы в API.
  • Сообщение отправляется на конкретный адрес и помимо самого тела сообщения обычно содержит какие-то данные для авторизации.
  • Backend может представлять из себя не конкретный физический сервер со своей базой данных, но множество физических и виртуальных серверов и даже множество баз данных.