Интернет магазин китайских планшетных компьютеров



Компьютеры - REST - Концепция

29 мая 2011


Оглавление:
1. REST
2. Концепция
3. Ограничения
4. Руководящие принципы интерфейса
5. Ключевые цели
6. Основной принцип
7. RESTful веб-службы
8. Публичные реализации
9. Реализации на платформах
10. За пределами Веб



Архитектура в стиле REST состоит из клиентов и серверов. Клиенты инициируют запросы к серверам; серверы обрабатывают запросы и возвращают подходящие ответы. Запросы и ответы создаются на базе передачи представлений ресурсов. Ресурс может являться практически любым понятным и значимым адресуемым объектом. Представление ресурса — это обычно документ, отражающий текущее или требуемое состояние ресурса.

В определенный момент времени клиент может находиться либо в состоянии перехода между состояниями приложения или «в покое». Клиент в состоянии покоя способен взаимодействовать со своим пользователем, но не создает нагрузку и не потребляет места для хранения клиентов на серверах или в сети.

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

REST изначально описан в контексте HTTP, но не ограничен этом протоколом. Архитектуры типа RESTful могут быть основаны на других протоколах прикладного уровня, если они уже реализуют обширный и единый словарь для приложений, основанных на передаче значимых представлений состояний. Приложения RESTful увеличивают использование уже существующих хорошо определенных интерфейсов и других встроенных возможностей, предлагаемых выбранным сетевым протоколом, а также сокращают добавление к нему новых возможностей, специфичных для приложения.

Примеры HTTP

HTTP, к примеру, содержит очень обширный словарь глаголов, унифицированных индикаторов ресурсов, типов содержимого, кодов состояния запросов и ответов и.т.д. REST использует существующие возможности протокола HTTP, позволяя существующим многослойным компонентам прокси и сетевых шлюзов выполнять дополнительные функции в сети, например, кэширование и обеспечение безопасности HTTP.

Отличия SOAP RPC

SOAP удалённый вызов процедур над HTTP, с другой стороны, заставляет каждого разработчика приложений определять новый произвольный словарь существительных и глаголов, savePurchaseOrder), обычно накладывающихся на метод HTTP POST. Это не учитывает многие существующие возможности HTTP, такие как проверка подлинности, кэширование и переговоры по типу содержимого, а также может оставить разработчику приложений возможность заново изобрести многие из этих функций в рамках новой лексики. Примерами может служить добавление таких методов, как getNewUsersSince, savePurchaseOrder.

POX/HTTP

Существуют примеры интерфейсов, считающих себя «REST», но фактически использующих HTTP для туннелирования вызовов функций — их называют 'POX/HTTP', или Plain Old XML над HTTP:

  • Amazon.com предлагает «REST» версию его главного интерфейса разработчика 'E-Commerce';
  • eBay предлагает «REST» интерфейс разработчика;
  • Facebook предлагает «REST» интерфейс разработчика Примечание: Facebook ведет процесс отмены его прикладного интерфейса;
  • Yahoo! предлагает ряд «REST» интерфейсов разработчика.
  • Youtube предлагает ряд «REST» интерфейсов разработчика.
  • Система поиска видео Truveo предлагает ряд «REST» интерфейсов разработчика.
  • Newscloud предлагает ряд «REST» интерфейсов разработчика.
  • movideo предлагает ряд «REST» интерфейсов разработчика.
  • SharePoint версии 2010

Некоторые из этих интерфейсов не соблюдают внутри архитектурные ограничения REST. Некоторые из них экспертами REST считаются Аварийно RESTful. Аварии в основном происходят при выполнении автономных GETS, то есть, когда они не применяются для навигации по многим GET в стиле гипермедиа, и когда эти GETS просто извлекают данные, не изменяя их.

Статические веб-сайты

Используя очень свободное определение REST, можно ошибочно утверждать, что в Интернете огромное количество приложений являются RESTful. Хотя теоретически можно классифицировать большинство или все статические веб-сайты, как REST «приложения», вызывает сомнение то, что статичный набор веб-страниц представляет собой интерактивное приложение. Глядя более узко, в смысле альтернативы Веб-службам в целом и стилю RPC в частности, REST можно обнаружить во многих местах публичной паутины:

  • 'Блогосфера' — вместилище блогов — в основном основана на REST, поскольку включает в себя скачивание файлов XML, содержащих списки ссылок на другие ресурсы;
  • OpenStreetMap предлагает интерфейс REST;


Просмотров: 10027


<<< Multitenancy
Rich Internet Application >>>