Tuesday 25 May 2010

Distributed Computing – SOAP

No, this post is not about the slippery block of nice smelling soap! SOAP in Distributed Computing is another form of message exchanging between peers, and here we describe how it does this.

SOAP

So, lets answer that one question that on everyone’s mind right now – what does SOAP stand for?

When SOAP first came about it originally stood for Simple Object Accessed Protocol. But, times move on. Nowadays the name is considered to be outdated, so in reality SOAP now stands for absolutely nothing! :) Don’t believe me? Go Wikipedia it!

So, what is SOAP then? Well:

SOAP provides a simple lightweight mechanism for exchanging structured and typed information between peers in a decentralised, distributed environment using XML.

Microsoft.

 

 

Structure

Everything has a structure in computing, and it should come as no surprise that SOAP also has one :)

SOAP is constructed via 4 components:

  1. Envelope
  2. Header
  3. Body, and a
  4. Message Pay Load

 

Envelope

The envelope in SOAP contains the whole SOAP message to be sent. That is, the envelope contains the other 3 components; the Header, Body and Message Pay Load.

 

Header

The Header in SOAP is optional, you either have one, or you don’t. If you do decide to use one, it contains the header information – this is application-specific information (like authentication, payment, etc) about the SOAP message. [1]

 

Body

The Body of SOAP contains the application pay load.

In actual fact, the required SOAP Body element contains the actual SOAP message intended for the ultimate endpoint of the message.[1], so this really is the next part.

 

Message Pay Load

This is the part of the message that is intended for the Application. (Above)

 

SOAP_Env

The image above is a visual representation of the elements that form a SOAP message.

 

Faults

SOAP can also contain – within the envelope – a Fault element. The fault element can contain the following:

  • FaultCode – An error code that the service can pass to the Client.
  • FaultString – An error message that the service can provide.
  • FaultActor – Where did the error originate from.
  • Detail – Details about the error that occurred.

 

 

 

References

[1] http://www.w3schools.com/soap

No comments:

Post a Comment