Как я могу связать веб-сервисы с SOAP и REST? - PullRequest
3 голосов
/ 15 января 2011

Честно говоря, я действительно не понимаю отношений, которые веб-сервисы разделяют с SOAP и REST.

У меня очень упрощенное понимание всей темы, веб-сервисы - это программное обеспечение, разработанное для облегчения связи между компьютерами по сети.Веб-сервисы имеют интерфейс, понятный машинам (WSDL).Другие системы взаимодействуют со службой с помощью сообщений SOAP.

Где мое понимание веб-служб теряет смысл?

Ответы [ 2 ]

2 голосов
/ 15 января 2011

Очень короткая попытка ответа - если это не сработает, отредактируйте ваш вопрос или комментарий, чтобы уточнить, что вы ищете.

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

Сам REST - это скорее парадигма того, как мы должны раскрывать информацию и общаться с «ресурсами». Я считаю, что это немного больше ОО в том смысле, что все, с чем вы имеете дело, это ресурс (или объект), предоставляемый по определенному URL, который имеет те же методы, определенные на нем ... те же методы, установленные протоколом HTTP, которые в основном составляют интерфейс CRUD. Хотя в случае WSDL с SOAP не существует установленного контракта, это не означает, что REST-сервисы не имеют интерфейсов ... они есть. У них просто нет единого способа предоставления контракта для них (возможно, WADL становится достаточно распространенным для этого).

Если вам интересно узнать о REST, я настоятельно рекомендую прочитать "RESTful WebServices" Руби и Ричардсона .

1 голос
/ 15 января 2011

Веб-сервисы

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

* WSDL 1008 *

WSDL означает язык описания (или определения) веб-служб. Это язык на основе XML, который описывает интерфейс (контракт) службы.

SOAP

SOAP означает протокол простого доступа к объектам. Это стандартизированный протокол взаимодействия между компьютерами. В сервисе SOAP вы разрабатываете множество методов, которые позволяют вам выполнять код удаленно. Только службы SOAP могут быть описаны в первых версиях WSDL. Существует несколько типов веб-сервисов SOAP. Множество совместимых стандартов (WS- *) добавляют дополнительные функции к службам SOAP, такие как безопасность сообщений, распределенные транзакции, надежный обмен сообщениями и т. Д. SOAP можно использовать по различным транспортным протоколам, но наиболее распространенным является SOAP по HTTP.

1020 * REST *

REST означает Передачу Государства Представительства. REST - это не протокол. Это подход к развитию / философия. В сервисах REST у вас есть небольшой набор методов, и вы используете их для работы с ресурсами, идентифицированными URI. Этими методами чаще всего являются HTTP GET, POST, PUT и DELETE. Службы REST могут быть описаны только WSDL 2.0 (проблема в том, что WSDL 2.0 еще не поддерживается всеми платформами). Из-за различий в услугах REST описание не требуется и большую часть времени вообще не используется. Службы REST используются только по протоколу HTTP.

...