для - Основные отличия между SOAP и веб-службами RESTful в java




чайников разница (10)

На этот вопрос уже есть ответ:

Следующий вопрос к этому сообщению :

На данный момент я имею небольшое представление о различиях между SOAP и RESTful Services.

Мой вопрос в том, когда я должен использовать SOAP, и когда я должен использовать RESTful; какой из них «лучше», когда речь идет о производительности / скорости или обработке запросов?

Я впервые внедряю RESTful (java) и хочу узнать больше об этом; Раньше я занимался SOAP.


Answers

Отдых VS SOAP

МЫЛО:

► SOAP - это простой протокол доступа к объектам, который работает на TCP / UDP / SMTP.
► Сообщения ответа на запрос чтения и записи SOAP в формате XML.
► SOAP использует интерфейс для определения сервисов.
► SOAP более безопасен, так как он имеет собственную безопасность и четко определенные стандарты.
► SOAP следует за типами RPC и Document для определения веб-служб.
► SOAP использует SOAP-UI в качестве клиентских инструментов для тестирования.

ОСТАЛЬНОЕ

► REST представляет собой передачу состояния представления, которая использует базовые протоколы HTTP.
► ОТДЕЛ является апатридом.
► REST - это архитектурный стиль, который используется для описания и определения веб-сервисов.
► REST может считывать и записывать ответы на запросы ответа в JSON / XML / Plain HTML.
► REST использует URI для каждого ресурса, который используется в веб-службе. Ресурсом может быть метод текстового текста и т. Д.
► REST использует набор VERB, таких как GET HTTP, POST, PUT, DELETE.
► REST легко развивается и легко управляется по сравнению с интерфейсом SOAP.
► REST имеет небольшие клиентские инструменты или плагины, которые легко интегрируются в браузер.
► Службы REST имеют возможность кэширования.


Веб-служба SOAP всегда выполняет операцию POST, тогда как с помощью REST вы можете выбрать определенные методы HTTP, такие как GET, POST, PUT, DELETE. Пример. Чтобы получить элемент с помощью SOAP, вы должны создать запрос xml, но в случае REST вы можете просто указать идентификатор элемента в самом URL-адресе.


REST проще использовать по большей части и является более гибким. В отличие от SOAP, REST не должен использовать XML для предоставления ответа. Мы можем найти веб-службы на основе REST, которые выводят данные в разделе «Разделяемое значение CSV», «Обозначение объектов JavaScript» (JSON) и «Действительно простой синдикат» (RSS). Мы можем получить требуемый результат в форме, которую легко разобрать на языке, который нам нужен для нашего приложения. REST более эффективен (использует более мелкие форматы сообщений), быстро и ближе к другим веб-технологиям в философии дизайна


REST vs SOAP Web Services

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

Что такое веб-служба REST

Сокращение REST означает представление State State Transfer, это в основном означает, что каждый уникальный URL является представлением некоторого объекта. Вы можете получить содержимое этого объекта с помощью HTTP GET, чтобы удалить его, затем вы можете использовать POST, PUT или DELETE для изменения объекта (на практике большинство служб используют POST для этого).

Кто использует REST?

Все веб-службы Yahoo используют REST, в том числе Flickr, del.icio.us API использует его, pubsub, bloglines, technorati, и eBay, и Amazon имеют веб-службы для REST и SOAP.

Кто использует SOAP?

Швы Google должны быть последовательными в реализации своих веб-сервисов для использования SOAP, за исключением Blogger, который использует XML-RPC. Вы также найдете веб-службы SOAP во многих корпоративных программах.

REST против SOAP

Как вы, возможно, заметили, что компании, о которых я упоминал, что используют REST api, не были очень долго, и их apis вышел в этом году в основном. Таким образом, REST - это, безусловно, модный способ создания веб-сервиса, если создание веб-сервисов может когда-либо быть модным (давайте рассмотрим его, мы используем мыло для мытья, а вы отдыхаете, когда устали). Основными преимуществами веб-сервисов REST являются:

Легкий - не много дополнительных xml-разметки. Человеко-читаемые результаты. Простота сборки. Никаких инструментальных средств не требуется. SOAP также имеет ряд преимуществ:

Легкость в потреблении - иногда жесткая проверка типов, соблюдение контракта. Средства разработки. Для использования веб-сервисов иногда бывает сложнее, что проще. Например, веб-сервис Google AdWords действительно сложно потреблять (в любом случае в CF), он использует заголовки SOAP и ряд других вещей, из-за которых это сложно. С другой стороны, веб-служба REST Amazon иногда может быть сложной для синтаксического анализа, потому что она может быть сильно вложенной, а схема результата может сильно отличаться в зависимости от того, что вы ищете.

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

Freitag, P. (2005). «REST vs SOAP Web Services». Получено с http://www.petefreitag.com/item/431.cfm от 13 июня 2010 г.


МЫЛО

Стандарт простого доступа к объектам (SOAP) - язык XML, определяющий архитектуру сообщений и форматы сообщений, используется веб-службами, содержащими описание операций. WSDL - это язык, основанный на XML, для описания веб-сервисов и способов доступа к ним. будет работать на SMTP, HTTP, FTP и т. д. Требуется поддержка промежуточного программного обеспечения, четко определенный механизм для определения таких сервисов, как WSDL + XSD, WS-Policy SOAP вернет данные на основе XML

Веб-службы ретрансляционного государственного перевода REST . это веб-службы второго поколения. Веб-службы RESTful, обмениваются данными через HTTP, чем службы на основе SOAP, и не требуют XML-сообщений или определений WSDL-сервиса-API. для REST не требуется промежуточное ПО, требуется только поддержка HTTP. Стандарт WADL, REST может возвращать XML, обычный текст, JSON, HTML и т. д.


Мыльные Web-сервисы:

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

RestWeb-Services:

  1. Полностью безстоящие операции: для операций CRUD (создание, чтение, обновление и удаление) без гражданства.
  2. Кэширование ситуаций: если информация должна быть кеширована.

REST почти всегда будет быстрее. Основным преимуществом SOAP является то, что он предоставляет механизм обслуживания для описания себя клиентам и для рекламы их существования.

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

В общем, Когда вы публикуете API для внешнего мира, который либо сложен, либо может измениться, SOAP будет более полезен. Помимо этого, REST обычно является лучшим вариантом.


Разница между отдыхом и мылом


  • REST означает передачу State State State Transfer, где SOAP означает Simple Object Access Protocol .

  • SOAP определяет свою собственную безопасность, когда REST наследует безопасность от базового транспорта.

  • SOAP не поддерживает обработку ошибок, но REST имеет встроенную обработку ошибок .

  • REST является легким и не требует синтаксического анализа XML . REST может использоваться любым клиентом, даже веб-браузером с Ajax и Javascript. REST потребляет меньше полосы пропускания , для каждого сообщения не требуется заголовок SOAP.

    • REST полезен для любого протокола, который предоставляет URI. Игнорируйте точку 5 для REST, как указано ниже на картинке.


Когда вы думаете о модификаторах доступа, просто подумайте об этом таким образом (применительно к обеим переменным и методам ):

public-> доступно из любого места
private-> доступно только в том же классе, где он объявлен

Теперь возникает путаница , когда речь идет defaultиprotected

default-> Нет ключевого слова модификатора доступа. Это означает, что он доступен строго в пакете класса. Нигде за пределами этого пакета он доступен.

protected-> Чуть менее строгий, чем defaultи кроме тех же классов пакетов, к ним можно получить доступ под классами вне объявленного пакета .







java soap rest