Найти тему
Дневник ЖОЗницы

API как пекарня

Оглавление
Чем только не вдохновишься на создание образовательной статьи, но едой - приятнее всего:)
Чем только не вдохновишься на создание образовательной статьи, но едой - приятнее всего:)

История из жизни

Я разнервничалась, устала на работе, захотела порадовать себя чашечкой кофе со свежайшим круассаном. Пошла в ближайшую пекарню.

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

Конечно, я могла бы сделать его сама, но мне, вероятнее всего: а) Лень б) нет на то оборудования в) нет ингредиентов, и еще множество причин:) )

Ознакомилась с меню, нашла желаемую свежую пышку.

Протягиваю продавцу указанное в меню количество денег, делаю заказ.

Продавец принимает заказ, мои монеты и уходит в комнату, где хранится мой маленький источник эндрофинов. Выходит и протягивает свежий круассан.

Я сыта и довольна, а вы только что изучили фундаментальный термин в IT: API - пример в реальной жизни :)

Нет, сама я такой вряд ли сготовлю. Или просто лень?:)
Нет, сама я такой вряд ли сготовлю. Или просто лень?:)

Техничнее, пожалуйста!

Немного сухой терминологии.

API – это механизмы, которые позволяют двум программным компонентам взаимодействовать друг с другом, используя набор определений и протоколов.

В истории из жизни я специально выделяла жирненьким (от масла круассана:)) шрифтом определенные слова.

Итак, давайте разбираться.

  • Я - Клиент пекарни. Ровно тот же самый термин используется и в IT: клиент. (Подробнее можем разобрать в Клиент-серверной архитектуре. Спокойно! Ничего страшного:))
  • Пекарня. Именно там мне выдадут желаемую булку. Это сервер, на котором "производятся" булки.
  • Прилавок пекарни. End-point, куда точно мы подходим. К слову, в пекарне может быть далеко не один прилавок. В каком-то из них, нам круассан красиво упакуют в подарочную упаковку, в каком-то нальют кофе. А может быть еще интересней: сеть любимых булочных, раскиданных по городу:) Подумайте, что это за реализация в IT?
  • Меню - это документально оформленный контракт API. Я изучаю, что я должна дать (сколько денег)и что я получу: состав (=набор атрибутов), калорийность (ой, какая тут аналогия?) и время приготовления (= SLA - Service Level Agreement). Тут я рассуждаю, а подходит ли мне этот круассан вообще? Может я хочу с малиной, а не грибами! И может быть, я не готова ждать 40 минут, есть же хочется:(
  • Деньги - это атрибуты, которые я даю на вход, выполняя свой запрос. Без них мне не дадут круассан, увы:(
  • Заказ - Вызов API, запрос - по сути это именно мое действие обращения к прилавку с продавцом: "я тебе деньги, а ты мне - круассан".
  • Полученный круассан - результат выполнения API, ответ. И да, мне легко могут ответить, что выяснилось, что круассана с малиной нет. Или что, денег я дала недостаточно. Это тоже результат:)

На этом пока у меня все:)

Мысль можно развивать, и скорее всего так я и поступлю. А если есть идеи и ваши примеры - с удовольствием их прочту.

Еда
6,93 млн интересуются