Sunday, March 06, 2005

SOAP - An Overview

SOAP :- Simple Object Access Protocol

SOAP is a lightweight protocol for the exchange of information in a decentralized, distributed environment.

A SOAP message is a transmission of information from a sender to a receiver.
SOAP messages are combined to perform request/response patterns.
SOAP is transport protocol independent.
SOAP can be run over existing Internet infrastructure (for example SOAP over HTTP).
SOAP enables the binding and usage of discovered Web services by defining a message path for routing messages.
SOAP is used to query UDDI for Web services.




SOAP is an XML-based protocol that defines three parts to every message:

Envelope: The envelope defines a framework for describing what is in a message and how to process it. A SOAP message is an envelope containing zero or more headers and exactly one body. The envelope is the top element of the XML document, providing a container for control information, the address of a message, and the message itself. Headers transport any control information such as quality-of-service attributes. The body contains the message identification and its parameters. Both the headers and the body are child elements of the envelope.

Encoding rules: The set of encoding rules expresses instances of application-defined data types. Encoding rules define a serialization mechanism that can be used to exchange instances of application-defined data types. SOAP defines a programming language-independent data type scheme based on XSD plus encoding rules for all data types defined according to this model.

Communication styles: Communications can follow a remote procedure call (RPC) or message-oriented (Document) format.

Communication styles:-

SOAP supports two different communication styles:

Remote procedure call (RPC). Invocation of an operation returning a result.

Message-Oriented. Also known as document-oriented or document style. This style provides a lower layer of abstraction, and requires more programming work. The request parameter is any XML document, the response can be anything or nothing.

No comments: