СиС_Лекция_14_2023
.pdfФорматы данных
Формат данных YAML
YAML - это другой тип читаемого человеком формата данных, используемый
приложениями для хранения, передачи и чтения данных. Некоторые характеристики
YAML:
•Похож на JSON и считается надмножеством JSON.
•YAML имеет минималистский формат, облегчающий чтение и запись.
•Он использует отступ для определения своей структуры, без использования скобок или запятых.
Форматы данных
Формат данных YAML (продолжение)
{
"ietf-interfaces:interface": { "name": "GigabitEthernet2", "description": "Wide Area Network", "enabled": true,
"ietf-ip:ipv4": { "address": [
{
"ip": "172.16.0.2", "netmask": "255.255.255.0"
},
{
"ip": "172.16.0.3", "netmask": "255.255.255.0"
},
{
"ip": "172.16.0.4", "netmask": "255.255.255.0"
}
]
}
}
}
•Вывод IOS в формате JSON находится слева. Те же данные в формате YAML приведены ниже. Это легче читать.
•Подобно JSON, объект YAML представляет собой одну или несколько пар ключ-значение. Пары ключзначение отделяются двоеточием без использования кавычек. В YAML дефис используется для разделения каждого элемента в списке.
ietf-interfaces:interface: name: GigabitEthernet2 description: Wide Area Network enabled: true
ietf-ip:ipv4: address:
- ip: 172.16.0.2 netmask: 255.255.255.0
-ip: 172.16.0.3 netmask: 255.255.255.0
-ip: 172.16.0.4
netmask: 255.255.255.0
Форматы данных
Формат данных XML
XML - это еще один тип читаемого человеком формата данных, который
используется для хранения, передачи и чтения данных приложениями. Некоторые
из характеристик XML:
•Это похоже на HTML, который является стандартизированным языком разметки
для создания веб-страниц и веб-приложений.
•XML самоописательный. Он заключает данные в связанный набор тегов.<tag>data</tag>
•В отличие от HTML, XML не использует предопределенные теги или структуру документа.
Объекты XML - это одна или несколько пар ключ/значение, в качестве имени ключа используется начальный тег: <key>value</key>
Форматы данных
Формат данных XML (продолжение)
Следующий вывод показывает те же
данные для GigabitEthernet2,
отформатированные как структура данных XML. Обратите внимание, как значения заключены в теги объекта. В этом примере каждая пара ключ/значение находится на отдельной строке, а некоторые строки имеют отступ. Это не обязательно, но сделано для удобства чтения. Список использует повторяющиеся
экземпляры <tag></tag> для каждого элемента в списке.
Элементы в этих повторяющихся
экземплярах представляют одну или несколько пар ключ/значение.
<?xml version="1.0" encoding="UTF-8" ?> <ietf-interfaces:interface>
<name>GigabitEthernet2</name> <description>Wide Area Network</description> <enabled>true</enabled>
<ietf-ip:ipv4> <address>
<ip>172.16.0.2</ip> <netmask>255.255.255.0</netmask>
</address> <address>
<ip>172.16.0.3</ip> <netmask>255.255.255.0</netmask>
</address> <address>
<ip>172.16.0.4</ip> <netmask>255.255.255.0</netmask>
</address> </ietf-ip:ipv4>
</ietf-interfaces:interface>
2. API
API
Основы API
•API - это программный интерфейс, которое позволяет другим приложениям
получать доступ к данным приложения или услугам. Это набор правил,
описывающих, как одно приложение может взаимодействовать с другим, и инструкции, позволяющие этому взаимодействию происходить. Пользователь отправляет запрос API на сервер, запрашивая конкретную информацию, и получает в ответ API от сервера вместе с запрошенной информацией.
•API похож на официанта в ресторане, как показано на следующем рисунке.
API
Пример API
Чтобы действительно понять, как
можно использовать API для
предоставления данных и услуг, мы рассмотрим два варианта бронирования авиабилетов. Первый вариант использует вебсайт конкретной авиакомпании. Используя веб-сайт авиакомпании, пользователь вводит информацию, чтобы сделать запрос на бронирование. Веб-сайт напрямую
взаимодействует с собственной базой данных авиакомпании и
предоставляет пользователю
информацию, соответствующую запросу пользователя.
APIs
Пример API (продолжение)
Пользователи могут использовать сайт путешествий для доступа к этой же информации не только конкретной авиакомпании, но и множества авиакомпаний. В этом случае пользователь вводит аналогичную информацию о бронировании. Вебсайт туристического сервиса взаимодействует с различными базами данных авиакомпаний, используя API, предоставляемые каждой авиакомпанией. Служба путешествий использует API каждой авиакомпании для запроса информации от этой конкретной авиакомпании, а затем отображает информацию от всех авиакомпаний на своей веб-странице.
API действует как «мессенджер» между запрашивающим приложением и приложением на сервере, который предоставляет данные или услугу. Сообщение от запрашивающего приложения серверу, на котором находятся данные, называется вызовом API.
API
Открытые, внутренние и партнерские API
При разработке API важно учитывать различие между открытым, внутренним и
партнерским API:
•Открытые API или публичные API. - Эти API общедоступны и могут использоваться без ограничений. Поскольку эти API являются общедоступными, многие поставщики API,
такие как Google Maps, требуют, чтобы пользователь получил бесплатный ключ или токен перед использованием API. Это помогает контролировать количество запросов API, которые они получают и обрабатывают.
•Внутренние или частные API - это API, которые используются организацией или компанией для доступа к данным и услугам только для внутреннего использования. Примером внутреннего API является предоставление авторизованным продавцам доступа к внутренним данным о продажах на своих мобильных устройствах.
•Партнерские API-интерфейсы. - Это API-интерфейсы, которые используются между
компанией и ее деловыми партнерами или подрядчиками для облегчения деловых
отношений между ними. Деловой партнер должен иметь лицензию или другую форму
разрешения на использование API. Туристический сервис, использующий API
авиакомпании, является примером партнерского API.
API
Типы веб-сервисов API
Веб-сервис - это сервис, доступный через Интернет с использованием Всемирной
паутины. Существует четыре типа веб-серисов API:
•Simple Object Access Protocol (SOAP)
•Representational State Transfer (REST)
•eXtensible Markup Language-Remote Procedure Call (XML-RPC)
•JavaScript Object Notation-Remote Procedure Call (JSON-RPC)
Характеристик |
SOAP |
Архитектура REST |
XML-RPC |
JSON-RPC |
|
а |
|
|
|
|
|
Формат данных |
XML |
JSON, XML, YAML и |
XML |
JSON |
|
другие |
|||||
|
|
|
|
||
Первый |
1998 |
2000 |
1998 |
2005 |
|
выпуск. |
|||||
|
|
|
|
||
Сильные |
Хорошо |
Гибкое |
Хорошо |
|
|
форматирование, |
Простота |
||||
зарекомендовав |
зарекомендовавш |
||||
стороны |
наиболее широко |
||||
ший себя |
ий себя, простота |
|
|||
|
используемый |
|
|||
|
|
|
|
||
|
|
|
|
|
