Создание универсального коннектора к источникам данных

Универсальный коннектор - это контейнер Docker, предназначеный для подключения любого источника данных к мобильной платформе. Коннектор выступает в роли посредника между сервером мобильной платформы и источником данных. Если структура выходных данных отличается от структуры формата JSON или формат данных носит проприетарный характер, то коннектор преобразовывает данные в допустимый формат и позволяет обмениваться запросами между сервером мобильной платформы и источником для выполнения операций с данными. Связь коннектора с источником данных осуществляется за счёт подключения к источнику данных JSON или WEB на стороне мобильной платформы.

Функциональная архитектура «Форсайт. Мобильная платформа» при использовании универсального коннектора:

Для использования универсального коннектора:

  1. Создайте контейнер Docker на сервере мобильной платформы или в кластере, развёрнутом на основе Kubernetes, Deckhouse или OKD/OCP.

Примечание. При необходимости можно разместить контейнер Docker на выделенном сервере или на сервере источника данных и запускать его вручную.

  1. Настройте подключение к источнику данных JSON или WEB в зависимости от целей использования.

Особенности использования универсального коннектора с источниками данных JSON и WEB:

  1. Импортируйте ресурс источника данных JSON или WEB, к которому будет отправляться запрос пользователя с мобильного устройства.

После выполнения действий при запросе данных с мобильного устройства будет использоваться универсальный коннектор для передачи данных из источника.

Аутентификация пользователя в источнике данных

По умолчанию в процессе аутентификации пользователя в источнике данных используется конкретный тип аутентификации, заданный в настройках подключения к источнику данных JSON или WEB - Basic, NTLM, Kerberos или гостевой вход.

Схема данного способа аутентификации:

Процесс аутентификации пользователя в источнике данных:

  1. Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных.

  2. Сервер мобильной платформы проверяет полученный запрос, определяет тип аутентификации и отправляет запрос на универсальный коннектор.

  3. Универсальный коннектор преобразовывает запрос с информацией о типе аутентификации от сервера мобильной платформы в запрос к источнику данных и отправляет его.

  4. Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.

При необходимости можно использовать другой тип аутентификации:

Примечание. Использование другого типа аутентификации доступно только при настроенном подключении источника данных WEB.

Процесс аутентификации пользователя при использовании двухступенчатого типа аутентификации:

  1. Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных с указанием дополнительного заголовка, например, «my_auth», который содержит учётные данные пользователя.

  2. Сервер мобильной платформы отправляет запрос на универсальный коннектор, содержащий тело запроса, заголовки и GET-параметры, указанные в принятом запросе. Если при импорте ресурса были заданы дополнительные GET-параметры, то они также будут передаваться в запросе.

  3. Универсальный коннектор преобразовывает запрос с информацией об учётных данных пользователя в заголовке «my_auth» от сервера мобильной платформы в запрос к источнику данных и отправляет его.

  4. Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.

Схема использования двухступенчатого типа аутентификации

Процесс аутентификации пользователя при использовании трехступенчатого типа аутентификации:

  1. Пользователь отправляет запрос с мобильного устройства на сервер мобильной платформы для получения или загрузки данных с указанием дополнительного заголовка, например, «my_auth», который содержит учётные данные пользователя, и заголовок Web-Authorization. С помощью заголовка Web-Authorization будет выполняться аутентификация в универсальном коннекторе.

  2. Сервер мобильной платформы отправляет запрос на универсальный коннектор, содержащий тело запроса, заголовки и GET-параметры, указанные в принятом запросе, и заменяет заголовок Web-Authorization на заголовок Authorization. Если при импорте ресурса были заданы дополнительные GET-параметры, то они также будут передаваться в запросе.

  3. Универсальный коннектор выполняет аутентификацию пользователя на основании заголовка Authorization и преобразовывает запрос с информацией об учётных данных пользователя в заголовке «my_auth» от сервера мобильной платформы в запрос к источнику данных и отправляет его.

  4. Источник данных выполняет аутентификацию пользователя и отправляет ответ универсальному коннектору.

Схема использования трехступенчатого типа аутентификации

См. также:

Подключение источников данных | Создание контейнера Docker | Настройка подключения источника данных JSON | Настройка подключения источника данных WEB | Настройки импорта ресурса