Каково лучшее использование сервисов REST?

   $("div").click(function(e) {
        if($(e.target).is('p')){
            e.preventDefault();
            return;
        }
        alert("woohoo!");
    }); 

проверить цель клика. Таким образом, вам не нужно связывать другое событие.

15
задан Mr. Will 10 June 2009 в 05:27
поделиться

5 ответов

REST - это не службы данных CRUD. Да, вы можете использовать REST для создания сервисов, подобных CRUD, но это все равно, что сказать, что регулярные выражения предназначены для анализа адресов электронной почты.

Здесь - лучшая презентация, которую я видел на сегодняшний день по дебатам REST и SOAP / RPC.

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

Atom Pub - хорошая реализация REST. Netflix API - один из лучших коммерческих API REST. API Twitter не выполняет большинство ограничений RESTful.

Если вам нужна точная информация о REST, зайдите в эти места:

Не слушайте крупных поставщиков по предмету, который их больше интересует. сделать их существующие продукты модным словом.


Продолжение:

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

Отношение многих к 1

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

Слабая связь

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

Гипермедиа

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

Производительность

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

Взаимодействие

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

При разработке интерфейсов REST мне нравится думать, что потребитель службы - это часть программного обеспечения, находящаяся под непосредственным контролем конечного пользователя. Неслучайно веб-браузер называется User-Agent.

36
ответ дан 1 December 2019 в 01:05
поделиться

SOAP - самая популярная альтернатива REST, и я нашел несколько хороших ссылок, описывающих их различия и когда их использовать:

Суть в том, что REST намного проще, чем его альтернативы (особенно SOAP), и его следует использовать, когда все, что вам нужно, это базовые функции (создание / чтение / обновление / delete), и ваша служба не имеет состояния.

Если вам нужен пример приложения, использующего REST, CouchDB делает. (Я не могу придумать что-нибудь еще в моей голове.) Кроме того, его используют многие веб-сайты, такие как Flickr, del.icio.us, Bloglines и Technorati.

3
ответ дан 1 December 2019 в 01:05
поделиться

Есть много примеров. GData и протокол Atom Pub, вероятно, самые лучшие. У Twitter, похоже, тоже есть хороший REST API. Сервис Amazon S3 также вполне «RESTful». К сожалению, многие сервисы, претендующие на статус RESTful, нарушают самые основные принципы REST, изложенные Роем Филдингом в его диссертации , в которой описывается архитектурный стиль REST.

REST - это архитектурный стиль, а не набор в определенном стандарте или реализации. Это затрудняет определение того, что является службой REST, а что нет, поэтому вы часто будете слышать "RESTful".

REST может быть отличной (и простой) альтернативой SOAP, XMLRPC и в некоторых случаях такие вещи, как DCOM и CORBA.

1
ответ дан 1 December 2019 в 01:05
поделиться

REST эффективен, когда вашей конечной целью данных являются операции CRUD, обычно в веб-интерфейсе, обычно с использованием AJAX, Flash, Silverlight, когда безопасность, шифрование и транзакции не выполняются. проблема, однако, если ваши требования включают в себя какие-либо корпоративные функции, упомянутые ранее (транзакции, шифрование, взаимодействие и т. д.), SOAP - это решение.

-1
ответ дан 1 December 2019 в 01:05
поделиться

Существует МНОГО интерфейсов REST: flickr и API данных Google приходят на ум как два большие примеры.

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

0
ответ дан 1 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: