Vous êtes sur la page 1sur 4

Hello,

From Wikipedia, the free encyclopedia

This article is about the computer network protocol. For surfactants used for cleaning, see Soap.
For other uses, see Soap (disambiguation).

This article's lead section may not adequately summarize key


points of its contents. Please consider expanding the lead to provide an
accessible overview of all important aspects of the article. Please discuss
this issue on the article's talk page. (June 2012)

SOAP (Simple Object Access Protocol) is a protocol specification for exchanging structured
information in the implementation of web services in computer networks. Its purpose is to
induce extensibility, neutrality and independence. It uses XML Information Set for its message
format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP)
or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.

SOAP allows processes running on disparate operating systems (such as Windows and Linux) to
communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are
installed and running on all operating systems, SOAP allows clients to invoke web services and
receive responses independent of language and platforms.

Contents

[hide]

1Characteristics

2History

3SOAP Terminology

o 3.1Protocol Concepts

o 3.2Data Encapsulation Concepts

o 3.3Message Sender and Receiver Concepts

4Specification

5SOAP building blocks

6Transport methods

7Message format

8Example message (encapsulated in HTTP)

9Technical critique

o 9.1Advantages
o 9.2Disadvantages

10See also

11References

12Further reading

13External links

Characteristics[edit]
SOAP provides the Messaging Protocol layer of a web services protocol stack for web services.
It is an XML-based protocol consisting of three parts:

an envelope, which defines the message structure[1] and how to process it

a set of encoding rules for expressing instances of application-defined datatypes

a convention for representing procedure calls and responses

SOAP has three major characteristics:

1. extensibility (security and WS-routing are among the extensions under development)

2. neutrality (SOAP can operate over any protocol such as HTTP, SMTP, TCP, UDP,
or JMS)

3. independence (SOAP allows for any programming model)

As an example of what SOAP procedures can do, an application can send a SOAP request to a
server that has web services enabledsuch as a real-estate price databasewith the
parameters for a search. The server then returns a SOAP response (an XML-formatted
document with the resulting data), e.g., prices, location, features. Since the generated data
comes in a standardized machine-parsable format, the requesting application can then integrate
it directly.

The SOAP architecture consists of several layers of specifications for:

message format

Message Exchange Patterns (MEP)

underlying transport protocol bindings

message processing models

protocol extensibility
SOAP evolved as a successor of XML-RPC, though it borrows its transport and interaction
neutrality from Web Service Addressing [2] and the envelope/header/body from elsewhere
(probably from WDDX).[citation needed]

History[edit]
SOAP was designed as an object-access protocol in 1998 by Dave Winer, Don Box, Bob
Atkinson, and Mohsen Al-Ghosein for Microsoft, where Atkinson and Al-Ghosein were working.
[3]
Due to politics within Microsoft,[4] the specification was not made available until it was submitted
to IETF 13 September 1999.[5][6]Because of Microsoft's hesitation, Dave Winer shipped XML-
RPC in 1998.[7]

The submitted Internet Draft did not reach RFC status and is therefore not considered a
"standard" as such. Version 1.1 of the specification was published as a W3C Note on 8 May
2000.[8] Since version 1.1 did not reach W3C Recommendation status, it can not be considered a
"standard" either. Version 1.2 of the specification, however, became a W3C recommendation on
June 24, 2003.

The SOAP specification[9] was maintained by the XML Protocol Working Group[10] of the World
Wide Web Consortium until the group was closed 10 July 2009. SOAP originally stood for
"Simple Object Access Protocol" but version 1.2 of the standard dropped this acronym. [11]

After SOAP was first introduced, it became the underlying layer of a more complex set of Web
services, based on Web Services Description Language (WSDL), XML schema and Universal
Description Discovery and Integration (UDDI). These different services, especially UDDI, have
proved to be of far less interest, but an appreciation of them gives a complete understanding of
the expected role of SOAP compared to how web services have actually evolved.

SOAP Terminology[edit]
SOAP specification can be broadly defined to be consisting of the following 3 conceptual
components: Protocol concepts, encapsulation concepts and Network concepts. [12]

Protocol Concepts[edit]

SOAP: The set of rules formalizing and governing the format and processing rules for
information exchanged between a SOAP sender and a SOAP receiver.

SOAP Nodes: These are physical/logical machines with processing units which are used
to transmit/forward, receive and process SOAP messages. These are analogous to Node
(networking).

SOAP Roles: Over the path of a SOAP message, all nodes assume a specific role. The
role of the node defines the action that the node performs on the message it receives. For
example, a role "none" means that no node will process the SOAP header in any way and
simply transmit the message along its path.

SOAP protocol binding : A SOAP message needs to work in conjunction with other
protocols to be transferred over a network. For example, a SOAP message could
use TCP as a lower layer protocol to transfer messages. These bindings are defined in the
SOAP protocol binding framework.[13]
SOAP features: SOAP provides a messaging framework only. However, it can be
extended to add features such as reliability, security etc. There are rules to be followed when
adding features to the SOAP framework.

SOAP module : A collection of specifications regarding the semantics of SOAP header to


describe any new features being extended upon SOAP. A module needs to realize 0 or more
features. SOAP requires modules to adhere to prescribed rules.[14]
Data Encapsulation Concepts[edit]

SOAP message: Represents the information being exchanged between 2 soap nodes.

SOAP envelope : As per its name, it is the enclosing element of an XML message
identifying it as a SOAP message.

SOAP header block: A SOAP header can contain more than one of these blocks, each
being a discrete computational block within the header. In general, the
SOAP role information is used to target nodes on the path. A header block is said to be
targeted at a SOAP node if the SOAP role for the header block is the name of a role in which
the SOAP node operates. (ex: A SOAP header block with role attribute
as ultimateReceiver is targeted only at the destination node which has this role. A role
attribute as next is targets each intermediary as well as the destination node.)

SOAP header : A collection of one or more header blocks targeted at each SOAP
receiver.

SOAP body : Contains the body of the message intended for the SOAP receiver. The
interpretation and processing of SOAP body is defined by header blocks.

SOAP fault: In case a SOAP node fails to process a SOAP message, it adds the fault
information to the SOAP fault element. This element is contained within the SOAP body as a
child element.
Message Sender and Receiver Concepts[edit]

SOAP sender: The node that transmits a SOAP message.

SOAP receiver : The node receiving a SOAP message. (Could be an intermediary or the
destination node.)

SOAP message path : The path consisting of all the nodes that the SOAP message
traversed to reach the destination node.

Initial SOAP sender: This is the node which originated the SOAP message to be
transmitted. This is the root of the SOAP message path.

SOAP intermediary: All the nodes in between the SOAP originator and the intended
SOAP destination. 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 destination receiver of the SOAP message. This node is
responsible for processing the message body and any header blocks targeted at it .

Vous aimerez peut-être aussi