Thursday, May 24, 2012

Introduction to SOAP Protocol


Official Definition of SOAP

W3 described SOAP as “SOAP Version 1.2 is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment ”
We can define it as a simple messaging framework .It build on XML technologies.
Two version of SOAP protocol is available now , 1.1 and 1.2 . Her I will focus on version 1.2.

Major Use Case : Exchanging information between systems.

Power of SOAP 1.2 :
This framework designed such a way that it is “independent of any particular programming model and other implementation specific semantics ”.

SOAP makes communication with web services smooth and more solid.
Example : SOAP message containing a SOAP header block and a SOAP body
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
 <env:Header>
  <n:alertcontrol xmlns:n="http://example.org/alertcontrol">
   <n:priority>1</n:priority>
   <n:expires>2050-06-22T14:00:00-05:00</n:expires>
  </n:alertcontrol>
 </env:Header>
 <env:Body>
  <m:alert xmlns:m="http://example.org/alert">
   <m:msg>Hello World SOAP Message</m:msg>
  </m:alert>
 </env:Body>
</env:Envelope>

SOAP Terminology :
Conceptual :
SOAP :
Simple object protocol.

SOAP node
 A SOAP node is responsible for enforcing the rules that govern the exchange of SOAP messages
SOAP role :
A SOAP receiver's expected function in processing a message. A SOAP receiver can act in multiple roles.
SOAP binding
Set of rules to exchange SOAP message in top of another protocol or a part of another protocol. Usually SOAP message exchanged with in an HTTP entity-body or over Tcp stream.
SOAP feature
"reliability", "security", "correlation", "routing", and "Message Exchange Patterns" (MEPs).
SOAP module
A SOAP Module is a specification that contains the combined syntax and semantics of SOAP header blocks.
SOAP message exchange pattern (MEP)
A template for the exchange of SOAP messages between SOAP nodes.
SOAP application
Can be a web service provider or a web service consumer system.

Data Encapsulation :

SOAP message
The basic unit of communication between SOAP nodes.
SOAP envelope
The outermost element information item of a SOAP message.
SOAP header
A collection of zero or more SOAP header blocks each of which might be targeted at any SOAP receiver within the SOAP message path.
SOAP header block
An element information item used to delimit data that logically constitutes a single computational unit within the SOAP header. The type of a SOAP header block is identified by the XML expanded name of the header block element information item.
SOAP body
A collection of zero or more element information items targeted at an ultimate SOAP receiver
SOAP fault
A SOAP element information item which contains fault information generated by a SOAP node.

Message Sender and Receiver Concepts

SOAP sender
A SOAP node that transmits a SOAP message.
SOAP receiver
A SOAP node that accepts a SOAP message.
SOAP message path
The set of SOAP nodes through which a single SOAP message passes. This includes the initial SOAP sender, zero or more SOAP intermediaries, and an ultimate SOAP receiver.
Initial SOAP sender
The SOAP sender that originates a SOAP message at the starting point of a SOAP message path. It can be a client application.
SOAP intermediary
A SOAP intermediary is both a SOAP receiver and a SOAP sender and is targetable from within a SOAP message. It processes the SOAP header blocks targeted at it and acts to forward a SOAP message towards an ultimate SOAP receiver.
Ultimate SOAP receiver
The SOAP receiver that is a final destination of a SOAP message. It can be a web service end point.

No comments:

Post a Comment