SlideShare a Scribd company logo
REST
API
Что такое веб-сервис?
 Веб-служба, веб-сервис (англ. web
service) — идентифицируемая веб-
адресом программная система со
стандартизированными интерфейсами.
 Веб-службы могут взаимодействовать
друг с другом и со сторонними
приложениями посредством
сообщений, основанных на
определённых протоколах (SOAP, XML-
RPC, REST и т. д.). Веб-служба
является единицей модульности при
использовании сервис-
ориентированной архитектуры
приложения.

REST API JL.elama
 В обиходе веб-сервисами называют
услуги, оказываемые в Интернете. В
этом употреблении термин требует
уточнения, идёт ли речь о поиске, веб-
почте, хранении документов, файлов,
закладок и т. п. Такими веб-сервисами
можно пользоваться независимо от
компьютера, браузера или места
доступа в Интернет.
Примеры
 Веб-службы обеспечивают взаимодействие
программных систем независимо от платформы.
Например, Windows-C#-клиент может
обмениваться данными с Java-сервером,
работающим под Linux.
 Веб-службы основаны на базе открытых
стандартов и протоколов. Благодаря
использованию JSON/XML достигается простота
разработки и отладки веб-служб.
 Использование интернет-протокола
обеспечивает HTTP-взаимодействие
Достоинства
 Меньшая производительность и больший размер
сетевого трафика за счёт использования текстовых
JSON/XML-сообщений. Однако на некоторых веб-
серверах возможна настройка сжатия сетевого трафика.
 Аспекты безопасности. Ответственные веб-службы
должны использовать кодирование, возможно —
требовать аутентификации пользователя. Достаточно ли
здесь применения HTTPS, или предпочтительны такие
решения, как XML Signature, XML Encryption или SAML —
должно быть решено разработчиком.
Недостатки
 Клиент — сервер
 (англ. client–server) — вычислительная или
сетевая архитектура, в которой задания
или сетевая нагрузка распределены между
поставщиками услуг, называемыми
серверами, и заказчиками услуг,
называемыми клиентами.
 Обычно эти программы расположены на разных
вычислительных машинах и взаимодействуют
между собой через вычислительную сеть
посредством сетевых протоколов, но они могут
быть расположены также и на одной машине.
Достоинства
 Отсутствие дублирования кода
программы-сервера программами-
клиентами.
 Так как все вычисления выполняются на
сервере, то требования к компьютерам, на
которых установлен клиент, снижаются.
 Все данные хранятся на сервере, который, как
правило, защищён гораздо лучше большинства
клиентов. На сервере проще организовать контроль
полномочий, чтобы разрешать доступ к данным
только клиентам с соответствующими правами
доступа.
Недостатки
 Требуется специалист на поддержку
системы – сис админ

 Высокая стоимость оборудования.
 Неработоспособность
сервера может сделать
неработоспособной всю
вычислительную сеть.
Неработоспособным
сервером следует считать
сервер,
производительности
которого не хватает на
обслуживание всех
клиентов, а также сервер,
находящийся на ремонте,
профилактике и т. п.
REST
 «REST» был введён Роем Филдингом
, одним из создателей протокола
«HTTP», лишь в 2000 году. В своей
диссертации «Архитектурные стили и
дизайн сетевых программных
архитектур» в Калифорнийском
университете в Ирвайне он подвёл
теоретическую основу под способ
взаимодействия клиентов и серверов
во Всемирной паутине,
абстрагировав его и назвав
«передачей представительного
состояния».
История
 REST -
 REpresentational
 State
 Transfer
 передача состояния представления
 REST ресурсоориентирован:
 Вещи/сущ-ое vs действие/глагол
 REST: http://somesite.com/resource/1/edit
 NOT: http://somesite.com/UpdateResource.php
 Модель клиент-сервер (client-server)
 Отсутствие состояния (stateless)
 Кэширование (cacheable)
 Единообразие интерфейса (uniform interface)
 Слои (layered system)
 * Код по требованию (code on demand)
Требования к арх-ре REST
 Сервер не содержит данных клиента
между запросами
 Состояния сессий хранятся на клиенте
 Каждый запрос содержит достаточно
информации для обработки
 Клиент инициирует отправку запросов,
когда он готов перейти в новое состояние
Стейтлес
 Кеш на сервере (Redis)
 Кеш на клиенте (хранение ассетов)
 HTTP/1.1 кешинг
 Proxy
Кешировани
 - Задает интерфейс(пораядок/протокол
взаимодействия)
 - Интерфейсы позволяют каждому из сервисов
развиваться независимо.
 - Упрощает и разделяет арх-ру
 - Фундаментально для всей концепции REST’а:
 HTTP методы (GET POST PUT DELETE)
 URIs (имя ресурсов)
 HTTP ответы: коды(2**, 3**, 4**, 5**)
 https://app.swaggerhub.com/apis/lavandosovich/roo
ms_elama_api/1.0.0
Единообразие Интерфейса
 Клиент не может навернека знать, кто
именно отдал респонс (сервер, прокси,
кеш, мидлвейр(прослойка))
 Повышает маштабируемость
Слои
*Код по требованию
 Сервер может расширять клиентские
возможности – передача исполнимой(Java-
applet, JavaScript сценарий) логики на
клиент
Конец

More Related Content

PPT
PPT
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
PPTX
Реализация REST и SOAP сервисов с помощью WCF
PPT
Hivext 04.2009
PPT
!2hl++2008 Restful Architechture
PPT
Hivext - platform web-services, platform web-applications
PDF
Павел Кудинов: Высоконагруженные приложения как совокупность веб-сервисов
Реализация REST и SOAP сервисов с помощью WCF
Hivext 04.2009
!2hl++2008 Restful Architechture
Hivext - platform web-services, platform web-applications

What's hot (8)

ODP
Enterpise&Webservices
PPT
7 создание веб сервисов
PDF
PPT
RESTful Architechture (Highload++ 2008)
PPT
Rest Xslt павел кудинов
PDF
Asupz presentation
PPT
Web 2.0
PPT
Метаданные в модели REST
Enterpise&Webservices
7 создание веб сервисов
RESTful Architechture (Highload++ 2008)
Rest Xslt павел кудинов
Asupz presentation
Web 2.0
Метаданные в модели REST
Ad

Similar to REST API JL.elama (20)

PPTX
03 web server_architecture_ru
PPTX
Мировые информационные ресурсы. Лекция 5
PPTX
Мировые информационные ресурсы. Лекция 2
PPT
Лекция 1. Модель OSI.
PDF
Web and mobile development for intersystems caché, Eduard Lebedyuk
PDF
Разработка мобильного и веб интерфейса для Caché
PPTX
Андрей Завадский "Бессерверная архитектура"
PPTX
Roman Zdebskiy - Windows Azure
PDF
C# Web. Занятие 03.
PPT
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
PPT
Sql Server Data Services
PPTX
Протокол HTTP
PDF
Лекции и задания по рнр
PDF
Новые возможности по разработке приложений (ADF, SOA, BPM)
PPTX
ASP.NET Web API
PPTX
Проектирование и особенности проектирования клиент серверных экономических ин...
PPT
Ms it cup win-team - мевв
PDF
Экскурс в мир WEB разработки
PPTX
Windows azure общий обзор
PDF
Bloch, bodoff руководство. сервлеты
03 web server_architecture_ru
Мировые информационные ресурсы. Лекция 5
Мировые информационные ресурсы. Лекция 2
Лекция 1. Модель OSI.
Web and mobile development for intersystems caché, Eduard Lebedyuk
Разработка мобильного и веб интерфейса для Caché
Андрей Завадский "Бессерверная архитектура"
Roman Zdebskiy - Windows Azure
C# Web. Занятие 03.
Технология создания веб-сервисов на базе стандарта JAX-WS & JAXB
Sql Server Data Services
Протокол HTTP
Лекции и задания по рнр
Новые возможности по разработке приложений (ADF, SOA, BPM)
ASP.NET Web API
Проектирование и особенности проектирования клиент серверных экономических ин...
Ms it cup win-team - мевв
Экскурс в мир WEB разработки
Windows azure общий обзор
Bloch, bodoff руководство. сервлеты
Ad

REST API JL.elama

  • 3.  Веб-служба, веб-сервис (англ. web service) — идентифицируемая веб- адресом программная система со стандартизированными интерфейсами.
  • 4.  Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML- RPC, REST и т. д.). Веб-служба является единицей модульности при использовании сервис- ориентированной архитектуры приложения. 
  • 6.  В обиходе веб-сервисами называют услуги, оказываемые в Интернете. В этом употреблении термин требует уточнения, идёт ли речь о поиске, веб- почте, хранении документов, файлов, закладок и т. п. Такими веб-сервисами можно пользоваться независимо от компьютера, браузера или места доступа в Интернет.
  • 8.  Веб-службы обеспечивают взаимодействие программных систем независимо от платформы. Например, Windows-C#-клиент может обмениваться данными с Java-сервером, работающим под Linux.  Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию JSON/XML достигается простота разработки и отладки веб-служб.  Использование интернет-протокола обеспечивает HTTP-взаимодействие Достоинства
  • 9.  Меньшая производительность и больший размер сетевого трафика за счёт использования текстовых JSON/XML-сообщений. Однако на некоторых веб- серверах возможна настройка сжатия сетевого трафика.  Аспекты безопасности. Ответственные веб-службы должны использовать кодирование, возможно — требовать аутентификации пользователя. Достаточно ли здесь применения HTTPS, или предпочтительны такие решения, как XML Signature, XML Encryption или SAML — должно быть решено разработчиком. Недостатки
  • 10.  Клиент — сервер
  • 11.  (англ. client–server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами.
  • 12.  Обычно эти программы расположены на разных вычислительных машинах и взаимодействуют между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине.
  • 14.  Отсутствие дублирования кода программы-сервера программами- клиентами.
  • 15.  Так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент, снижаются.
  • 16.  Все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще организовать контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа.
  • 18.  Требуется специалист на поддержку системы – сис админ 
  • 19.  Высокая стоимость оборудования.
  • 20.  Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть. Неработоспособным сервером следует считать сервер, производительности которого не хватает на обслуживание всех клиентов, а также сервер, находящийся на ремонте, профилактике и т. п.
  • 21. REST
  • 22.  «REST» был введён Роем Филдингом , одним из создателей протокола «HTTP», лишь в 2000 году. В своей диссертации «Архитектурные стили и дизайн сетевых программных архитектур» в Калифорнийском университете в Ирвайне он подвёл теоретическую основу под способ взаимодействия клиентов и серверов во Всемирной паутине, абстрагировав его и назвав «передачей представительного состояния». История
  • 23.  REST -  REpresentational  State  Transfer  передача состояния представления
  • 24.  REST ресурсоориентирован:  Вещи/сущ-ое vs действие/глагол  REST: http://somesite.com/resource/1/edit  NOT: http://somesite.com/UpdateResource.php
  • 25.  Модель клиент-сервер (client-server)  Отсутствие состояния (stateless)  Кэширование (cacheable)  Единообразие интерфейса (uniform interface)  Слои (layered system)  * Код по требованию (code on demand) Требования к арх-ре REST
  • 26.  Сервер не содержит данных клиента между запросами  Состояния сессий хранятся на клиенте  Каждый запрос содержит достаточно информации для обработки  Клиент инициирует отправку запросов, когда он готов перейти в новое состояние Стейтлес
  • 27.  Кеш на сервере (Redis)  Кеш на клиенте (хранение ассетов)  HTTP/1.1 кешинг  Proxy Кешировани
  • 28.  - Задает интерфейс(пораядок/протокол взаимодействия)  - Интерфейсы позволяют каждому из сервисов развиваться независимо.  - Упрощает и разделяет арх-ру  - Фундаментально для всей концепции REST’а:  HTTP методы (GET POST PUT DELETE)  URIs (имя ресурсов)  HTTP ответы: коды(2**, 3**, 4**, 5**)  https://app.swaggerhub.com/apis/lavandosovich/roo ms_elama_api/1.0.0 Единообразие Интерфейса
  • 29.  Клиент не может навернека знать, кто именно отдал респонс (сервер, прокси, кеш, мидлвейр(прослойка))  Повышает маштабируемость Слои
  • 30. *Код по требованию  Сервер может расширять клиентские возможности – передача исполнимой(Java- applet, JavaScript сценарий) логики на клиент