Практическая ситуация в реальном времени, когда веб-сервис SOAP предпочтительнее REST? - PullRequest
0 голосов
/ 17 июня 2019

Я много читал о том, почему REST предпочтительнее SOAP, и много практических ситуаций для этого.Но я не смог найти статью / ответ о том, когда SOAP можно отдать предпочтение REST.Может ли кто-нибудь объяснить мне практическую ситуацию в реальном времени, когда SOAP может быть предпочтительнее, чем REST?

Примечание - Пожалуйста, не помечайте этот вопрос как дублирующий, не прочитав вопрос полностью.Это не дубликат REST vs SOAP.

NB. Пожалуйста, не помечайте этот вопрос как дубликат, не прочитав его полностью.Это не дубликат REST vs SOAP.

1 Ответ

0 голосов
/ 17 июня 2019

когда вы должны использовать SOAP? Передача репрезентативного состояния (REST) ​​реализует стандарт HTTP / HTTPS в качестве интерфейса, позволяющего клиентам получать доступ к ресурсам на основе запрошенных URI. Важно отметить, что службы на основе REST не имеют состояния, поскольку http / https изначально не имеет состояния.

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

Простой протокол доступа к объектам (SOAP), с другой стороны, использует общий интерфейс для передачи сообщений. В отличие от REST, SOAP может использовать HTTP / HTTPS, SMTP, JMS или любые другие стандартные транспортные протоколы. Кроме того, SOAP использует XML следующими способами:

Define a message
Defines how a message is to be processed
Defines the encoding of a message
Lays out procedure calls and responses

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

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

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

Francia, S. (2010). SOAP vs. REST. Retrieved 11 20, 2011, from spf13: http://spf13.com/post/soap-vs-rest
Rozlog, M. (2010). REST and SOAP: When Should I Use Each (or Both)? Retrieved 11 20, 2011, from Infoq.com: http://www.infoq.com/articles/rest-soap-when-to-use-each
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...