Разница между XML и SOAP - PullRequest
9 голосов
/ 11 марта 2010

В чем разница между XML и SOAP? Я читал некоторые вводные статьи о SOAP, но я очень смущен. Это первый раз, когда я читаю о SOAP, так что, возможно, это естественно.

Может кто-нибудь объяснить мне, что такое SOAP и для чего он используется? Может привести несколько примеров его использования?

Ответы [ 3 ]

19 голосов
/ 12 марта 2010

Прочитав все остальные хорошие ответы, я подумал, что может быть полезно предоставить версию "super laymans". Надеюсь, это поможет.


SOAP - это компьютерная версия, использующая почтовую службу. Сообщение (например, письмо) помещается в конверт и отправляется тому, для кого оно предназначено.

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

В частности, он стандартизирует то, что мы называем:

  • «конверт» (на самом деле называется конвертом SOAP)
  • «буква» (называемая «телом»)
  • различные аннотации (называемые «заголовками» - например, штампы, запрос подписи, информация об отправителе и т. Д. - которые почтовое отделение использует для направления сообщения)

Кроме того, SOAP определяет type-system, очень похоже на определения типов, которые вы найдете в .Net, Java или XSD. Я не буду подробно останавливаться на этом - поскольку есть много документации, как упоминалось в предыдущих ответах.

Основной целью разработки этого языка / словаря было обеспечение взаимодействия между платформами. Итак, Java вызывает COM, вызывает .Net, вызывает J2EE и остальные, оставаясь расширяемой в обозримом будущем. Вместо того, чтобы строить еще один мост между COM-объектом и Java-классом, мы можем просто использовать SOAP, чтобы показать функциональность нашего объекта, чтобы другие платформы могли использовать их без использования мостов. Или, другими словами, SOAP был последним мостом, предназначенным для замены всех предыдущих мостов.

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

Я должен также отметить, что SOAP больше не соответствует первоначальному замыслу. В какой-то момент, я думаю, что какой-то важный человек (пере) назовет его: Service Oriented Access Protocol.

Надеюсь, это поможет!

10 голосов
/ 11 марта 2010

В Википедии есть замечательная статья , включая хороший пример .

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

Действительно хороший практический пример:

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

2 голосов
/ 11 марта 2010

SOAP - это протокол обмена сообщениями, используемый в сетях для вызова веб-сервисов .
Форматы сообщений используют XML и описаны в WSDL - произносится как wizdil.

WSDL также являются документами XML.

XML - это формат документа, который использует теги для идентификации содержимого файла, его использование шире, чем SOAP и WSDL, которые являются конкретными типами XML.
См. Учебник по XML для w3schools по адресу http://www.w3schools.com/xml/default.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...