Почему большинство веб-сервисов в стиле REST, а не (также) в XML-RPC? - PullRequest
4 голосов
/ 02 апреля 2009

Я знаю, что Flickr предоставляет как XML-RPC, так и REST способы работы с ним.

Существуют стандартные библиотеки XML-RPC для каждого языка (например, в Python есть встроенная xmlrpclib).

Стандартные библиотеки XML-RPC обеспечивают сериализацию / десериализацию, а также отправку / получение ответов.

Мне кажется, что веб-сайты, использующие стиль REST для одного и того же API, в конечном итоге будут писать свои собственные библиотеки на каждом языке. Пример: Yahoo! Search SDK.

Мне кажется, что XML-RPC лучше, но все свидетельства об обратном. Почему?

Итак:

  1. Почему большинство веб-сервисов в стиле REST, а не в XML-RPC?
  2. Есть ли у XML-RPC недостатки, которые не очевидны?

Ответы [ 5 ]

4 голосов
/ 02 апреля 2009
  1. Отдыхать не просто легче, а намного проще.

  2. Xml-Rpc / мыло имеет много движущихся частей и огромное количество накладных расходов, когнитивных
    и в противном случае, который (очень часто) не нужен, его сложно и если вы особенно нужны некоторые функции, которые он предоставляет, просто не стоит

  3. Не каждый запрос на обслуживание должен быть упакован как формальный вызов функции с параметры

  4. REST - это также формальная система, которая хорошо определена и отличная модель для представления ресурсы, доступные в сети (отсюда и термин REST) ​​

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

1 голос
/ 02 апреля 2009

Это отличный вопрос. Если вы не используете преимущества гипермедиа для обнаружения и стандартные форматы мультимедиа, вы вряд ли получите преимущества REST. Вы могли бы также придерживаться XML-RPC.

0 голосов
/ 30 апреля 2009

REST - это нативный архитектурный стиль Интернета. (На самом деле, он был переработан по сравнению с тем, как уже работает Интернет.) XML-RPC и SOAP пытаются взять совершенно другую (процедурную, обязательную) модель программирования и адаптировать ее к сети. В результате REST становится чище и гибче.

0 голосов
/ 02 апреля 2009

в Интернете много дискуссий по этому поводу, поэтому я не буду углубляться в ответ. Короче говоря: это легко. Легко написать, легко понять, легко отладить. Вы можете написать это в своем браузере, и это, вероятно, вернет что-то полезное. Отлично.

Эта легкость достигается ценой меньшего количества «возможностей», но теория гласит, что в конечном итоге легкость может быть более достойной.

0 голосов
/ 02 апреля 2009

Простой ответ: REST легче внедрить

...