Загрузил Дмитрий Пилецкий

Обмен данными

реклама
Обмен данными
Алексей Бучнев
Ведущий системный аналитик в МТС Банке
План занятия
1
Архитектура клиент-серверных приложений
2
HTTP протокол передачи данных
3
Представление объектов в нотации JSON
4
Маппинг данных
Архитектура
клиент-серверных
приложений
Архитектура
информационных
систем —
концепция, определяющая модель,
структуру, выполняемые функции и взаимосвязь компонентов
информационной системы
Клиент-серверная архитектура
Клиент
Сервер
приложений
Представление данных
Управление данными
Функциональная обработка
Бизнес-логика
Сервер баз данных
Хранение данных
Звенья клиент-серверной архитектуры
Клиент
Сервер
приложений
Сервер баз данных
Программа, которая работает на стороне
пользователя. Отвечает за представление данных и работу с пользователем
(функциональная обработка)
Программа, запущенная на сервере. Принимает
запросы из сети, обрабатывает
их и возвращает ответ.
Реализует бизнес-логику
Программный комплекс,
который выполняет
обслуживание и управление
базой данных и отвечает за целостность и сохранность
данных, а также обеспечивает
операции ввода-вывода при доступе клиента к информации
Звенья клиент-серверной архитектуры
Клиент
Просмотр и загрузка
фотографии
Сервер
приложений
Обработка фотографии:
применение фильтра и т. д.
Сервер баз данных
Хранение загруженных
фотографий
Архитектура интернет-магазина
Веб-портал (сайт) для клиента магазина
Веб-портал для отдела продаж
Веб-портал для отдела логистики
HTTP
Сервер приложений
Сервер баз данных
HTTP протокол передачи данных
HTTP://
HyperText Transfer Protocol
HTTP — широко распространённый протокол передачи данных,
изначально предназначенный для передачи гипертекстовых
документов — документов, которые могут содержать ссылки,
позволяющие организовать переход к другим документам
Запрос
Клиент
Ответ
Сервер
HTTP запрос
Запрос состоит из
метода
POST
адреса
https://dadata.ru/demo/v2/suggest/address
заголовков
accept: application/json
content-type: application/json
тела запроса
{query: "109012, г Москва, Красная пл, д 1", count: 1}
Клиент
Сервер
HTTP ответ
POST
https://dadata.ru/demo/v2/suggest/address
accept: application/json
content-type: application/json
{query: "109012, г Москва, Красная пл, д 1", count: 1}
Клиент
Ответ содержит
код ответа
заголовки
тело ответа
Сервер
Status Code: 200
content-type: application/json
{"suggestions":[{"value":"г Москва, Красная пл, д1",
"unrestricted_value":"109012, г Москва, Тверской р-н, Красная пл, д 1" … }
Представление объектов
в нотации JSON
{JSON}
HTTP запрос и ответ
Формат JSON
Клиент
Формат JSON
POST
https://dadata.ru/demo/v2/suggest/address
accept: application/json
content-type: application/json
{query: "109012, г Москва, Красная пл, д 1", count: 1}
Сервер
Status Code: 200
content-type: application/json
{"suggestions":[{"value":"г Москва, Красная пл, д1",
"unrestricted_value":"109012, г Москва, Тверской р-н, Красная пл, д 1" … }
JavaScript Object Notation
JSON — текстовый формат обмена данными, основанный на JavaScript (популярный язык разработки web приложений). Позволяет представлять данные в виде объектов.
JSON-текст представляет собой (в закодированном виде) одну из двух структур:
набор пар Ключ-Значение:
упорядоченный набор значений:
{
}
"name": "Алексей"
[
{
},
{
]
}
"name": "Алексей"
"name": "Андрей"
JSON
В качестве значений в JSON могут быть использованы:
{
строка
число
литералы (true, false, null)
запись
массив
}
"firstName": "Алексей",
"lastName": "Бучнев",
"age": 36,
"children": [
{
"name": "Алиса",
"age": 7
},
{
"name": "Андрей"
}
],
"isMarried": true,
"contacts": {
"email": "[email protected]",
"phone": "+79998882222"
}
Маппинг данных
Маппинг данных
Маппинг данных — определение
соответствия данных между
потенциально различными
семантиками одного объекта или разных объектов
Маппинг данных —
одна из типичных задач системного аналитика. Маппинг часто используется при интеграции нескольких систем
{
...
"delivery": {
"type": "toClient",
"address": {
"index": 5555,
"district": "Район",
"city": "город",
"village": "Населённый пункт",
"street": "адрес",
"house": "дом",
"structure": "Строение",
"flat": "квартира"
}
},
...
}
Поле адреса после интеграции сервиса Dadata
1
Пользователь вводит адрес
4
Пользователь выбирает какой-то из предложенных вариантов адресов
2
Сайт интернет-магазина запрашивает
варианты адресов у dadata
5
При отправке заказа на наш сервер, данные адреса полученные от dadata,
подставляются в соответствующие адресные
поля в формате JSON существующего HTTP запроса. Подстановка осуществляется
согласно описанной логике маппинга
3
Полученные варианты отображаются
пользователю для выбора
1
3
4
Web-портал
(сайт) для
клиента
HTTP
2
HTTP
5
DADATA API
(сервис
подсказок)
Сервер
приложений
интернет-
магазина
Сервер БД
Итоги занятия
1
Архитектура информационных систем — концепция, определяющая модель, структуру,
выполняемые функции и взаимосвязь компонентов информационной системы
2
Звенья клиент-серверной архитектуры: клиент, сервер приложений и сервер баз данных
3
HTTP — широко распространённый протокол передачи данных
4
Объекты могут быть представлены в формате JSON
5
Маппинг данных — определение соответствия данных между потенциально различными
семантиками одного объекта или разных объектов
Обмен данными
t.me/AlexeyBuchnev
Алексей Бучнев
Ведущий системный аналитик в МТС Банке
Скачать