Прочитав все остальные хорошие ответы, я подумал, что может быть полезно предоставить версию "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
.
Надеюсь, это поможет!