All Topics  
SOAP

 

   Email Print
   Bookmark   Link






 

SOAP



 
 
SOAP, originally defined as Simple Object Access Protocol, is a protocol
Protocol (computing)

In computer science, a protocol is a convention or standard that controls or enables the connection, communication, and data transfer between computing endpoints....
 specification for exchanging structured information in the implementation of Web Service
Web service

A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
s in computer network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
s. It relies on Extensible Markup Language (XML) as its message format, and usually relies on other Application Layer
Application layer

Application Layer is a term used in categorizing protocols and methods in architectural models of computer networking. Both, the OSI model and the Internet Protocol Suite contain an application layer....
 protocols (most notably Remote Procedure Call
Remote procedure call

Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
 (RPC) and HTTP
Hypertext Transfer Protocol

Hypertext Transfer Protocol is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web....
) for message negotiation and transmission. SOAP can form the foundation layer of a web services protocol stack
Web Services Protocol Stack

A web service protocol stack is a protocol stack that are used to define, locate, implement, and make Web services interact with each other. A web service protocol stack typically stacks four protocols:...
, providing a basic messaging framework upon which web services can be built.

As a layman's example of how SOAP procedures can be used, a SOAP message could be sent to a web service enabled web site (for example, a house price database) with the parameters needed for a search.






Discussion
Ask a question about 'SOAP'
Start a new discussion about 'SOAP'
Answer questions from other users
Full Discussion Forum



Encyclopedia


SOAP, originally defined as Simple Object Access Protocol, is a protocol
Protocol (computing)

In computer science, a protocol is a convention or standard that controls or enables the connection, communication, and data transfer between computing endpoints....
 specification for exchanging structured information in the implementation of Web Service
Web service

A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
s in computer network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
s. It relies on Extensible Markup Language (XML) as its message format, and usually relies on other Application Layer
Application layer

Application Layer is a term used in categorizing protocols and methods in architectural models of computer networking. Both, the OSI model and the Internet Protocol Suite contain an application layer....
 protocols (most notably Remote Procedure Call
Remote procedure call

Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
 (RPC) and HTTP
Hypertext Transfer Protocol

Hypertext Transfer Protocol is an application-level protocol for distributed, collaborative, hypermedia information systems. Its use for retrieving inter-linked resources led to the establishment of the World Wide Web....
) for message negotiation and transmission. SOAP can form the foundation layer of a web services protocol stack
Web Services Protocol Stack

A web service protocol stack is a protocol stack that are used to define, locate, implement, and make Web services interact with each other. A web service protocol stack typically stacks four protocols:...
, providing a basic messaging framework upon which web services can be built.

As a layman's example of how SOAP procedures can be used, a SOAP message could be sent to a web service enabled web site (for example, a house price database) with the parameters needed for a search. The site would then return an XML-formatted document with the resulting data (prices, location, features, etc). Because the data is returned in a standardized machine-parseable format, it could then be integrated directly into a third-party site.

The SOAP architecture consists of several layers of specifications for message format, message exchange patterns (MEP), underlying transport protocol bindings, message processing models, and protocol extensibility. SOAP is the successor of XML-RPC
XML-RPC

XML-RPC is a remote procedure call protocol which uses XML to encode its calls and [] as a transport mechanism. ...
, though it borrows its transport and interaction neutrality and the envelope/header/body from elsewhere (probably from WDDX
WDDX

WDDX is a programming-language-, platform- and transport-neutral data interchange mechanism to pass data between different environments and different computers....
).

History

SOAP once stood for 'Simple Object Access Protocol' but this acronym was dropped with Version 1.2 of the standard. Version 1.2 became a W3C recommendation on June 24, 2003. The acronym is sometimes confused with SOA
Service-oriented architecture

In computing, service-oriented architecture provides methods for systems development and System integration where systems group functionality around business processes and package these as Interoperability Service ....
, or Service-oriented architecture; however SOAP is quite different from SOA.

SOAP was originally designed by Dave Winer
Dave Winer

Dave Winer is an United States software developer and entrepreneur in Berkeley, California, California. A pioneer in the areas of RSS as "Really Simple Syndication", XML-RPC, OPML, outliners, and the MetaWeblog API, he is also the author of , one of the oldest Blog, established in 1997....
, Don Box
Don Box

Don Box is a software developer currently working at Microsoft.Along with Bob Atkinson, Mohsen Al-Ghosein, and Dave Winer, Don was one of the original four designers of SOAP, a basic messaging layer for web services....
, Bob Atkinson, and Mohsen Al-Ghosein in 1998, with backing from Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 (where Atkinson and Al-Ghosein worked at the time), as an object-access protocol. The is currently maintained by the of the World Wide Web Consortium
World Wide Web Consortium

The World Wide Web Consortium is the main international standards organization for the World Wide Web . It is arranged as a consortium where member organizations maintain full-time staff for the purpose of working together in the development of standards for the World Wide Web....
.

Transport methods

SOAP makes use of an Internet application layer protocol as a transport protocol. Critics have argued that this is an abuse of such protocols, as it is not their intended purpose and therefore not a role they fulfill well. Proponents of SOAP have drawn analogies to successful uses of protocols at various levels for tunneling
Tunneling protocol

The term tunneling protocol is used to describe when one network protocol called the payload protocol is encapsulation within a different delivery protocol....
 other protocols.

Both SMTP and HTTP are valid application layer protocols used as Transport for SOAP, but HTTP has gained wider acceptance as it works well with today's Internet infrastructure; specifically, HTTP works well with network firewalls
Firewall (networking)

A firewall is an integrated collection of security measures designed to prevent unauthorized electronic access to a networked computer system....
. SOAP may also be used over HTTPS
Https

Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol and a secure communication protocol.HTTP operates at the highest layer of the TCP/IP model, the Application layer; but the security protocol operates at lower sublayer, encrypting an HTTP message prior to transmission and decrypting a message upon arriva...
 (which is the same protocol as HTTP at the application level, but uses an encrypted transport protocol underneath) with either simple or mutual authentication; this is the advocated WS-I method to provide web service security as stated in the WS-I Basic Profile
WS-I Basic Profile

The WS-I Basic Profile , a specification from the Web Services Interoperability industry consortium , provides interoperability guidance for core Web Services specifications such as SOAP, Web Services Description Language, and UDDI....
 1.1.This is a major advantage over other distributed protocols like GIOP/IIOP or DCOM
Distributed component object model

Distributed Component Object Model is a proprietary software Microsoft technology for communication among software componentry distributed across networked computers....
 which are normally filtered by firewalls. XML was chosen as the standard message format because of its widespread use by major corporations and open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 development efforts. Additionally, a wide variety of freely available tools significantly eases the transition to a SOAP-based implementation.

The somewhat lengthy syntax
Syntax

In linguistics, syntax is the study of the principles and rules for constructing Sentence s in natural languages. In addition to referring to the discipline, the term syntax is also used to refer directly to the rules and principles that govern the sentence structure of any individual language, as in "the Irish syntax"....
 of XML can be both a benefit and a drawback. While it promotes readability for humans, facilitates error detection, and avoids interoperability problems such as byte-order (Endianness
Endianness

In computing, endianness is the byte ordering used to represent some kind of data. Typical cases are the order in which integer values are stored as bytes in computer memory and the transmission order over a network or other medium....
), it can retard processing speed and be cumbersome. For example, CORBA
Çorba

Chorba , shurpa , sorpa , or shorpo is one of various kinds of soup or stew found in national cuisines across Eurasia. The term is likely of Persian language or Turkic languages origin....
, GIOP, ICE
Internet Communications Engine

The Internet Communications Engine, or Ice, is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing, and Publish/subscribe functionality developed by ZeroC and dual license under the GNU GPL and a proprietary license....
, and DCOM
Distributed component object model

Distributed Component Object Model is a proprietary software Microsoft technology for communication among software componentry distributed across networked computers....
 use much shorter, binary message formats. On the other hand, hardware appliances are available to accelerate processing of XML messages. Binary XML
Binary XML

Binary XML, or Binary Extensible Markup Language, refers to any specification which defines the compact representation of XML in a binary format....
 is also being explored as a means for streamlining the throughput requirements of XML.

Technical critique

Numerous commentators and specialists have discussed the technical advantages and disadvantages of SOAP relative to alternative technologies and the context of its intended use.

Advantages

  • Using SOAP over HTTP allows for easier communication through proxies
    Proxy server

    In computer networks, a proxy server is a server that acts as a go-between for requests from client seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server....
     and firewall
    Firewall

    Firewall may refer to:* Firewall , a physical barrier inside a building or vehicle, designed to limit the spread of fire, heat and structural collapse...
    s than previous remote execution technology.
  • SOAP is versatile enough to allow for the use of different transport protocols. The standard stacks use HTTP as a transport protocol, but other protocols are also usable (e.g., SMTP).
  • SOAP is platform independent.
  • SOAP is language independent.
  • SOAP is simple and extensible.


Disadvantages

  • Because of the verbose XML format, SOAP can be considerably slower than competing middleware
    Middleware

    Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network....
     technologies such as CORBA
    Çorba

    Chorba , shurpa , sorpa , or shorpo is one of various kinds of soup or stew found in national cuisines across Eurasia. The term is likely of Persian language or Turkic languages origin....
    . This may not be an issue when only small messages are sent. To improve performance for the special case of XML with embedded binary objects, Message Transmission Optimization Mechanism
    MTOM

    MTOM is the World Wide Web Consortium Message Transmission Optimization Mechanism,a method of efficiently sending binary data to and from web services....
     was introduced.
  • When relying on HTTP as a transport protocol and not using WS-Addressing
    WS-Addressing

    WS-Addressing or Web Services Addressing is a specification of transport-neutral mechanisms that allow web services to communicate addressing information....
     or an ESB
    Enterprise service bus

    In computing, an enterprise service bus refers to a software architecture construct. This construct is typically implemented by technologies found in a category of middleware infrastructure products, usually based on recognized standards, which provide fundamental services for complex architectures via an event-driven and standards-based mes...
    , the roles of the interacting parties are fixed. Only one party (the client) can use the services of the other. Developers must use polling
    Polling (computer science)

    Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity....
     instead of notification in these common cases.
  • Most uses of HTTP as a transport protocol are done in ignorance of how the operation would be modelled in HTTP. This is by design (with analogy to how different protocols sit on top of each other in the IP stack) but the analogy is imperfect (because the application protocols used as transport protocols are not really transport protocols). Because of this, there is no way to know if the method used is appropriate to the operation. This makes good analysis of the operation at the application-protocol level problematic at best with results that are sub-optimal (if the POST-based binding is used for an application which in HTTP would be more naturally modelled as a GET operation). The REST
    Rest

    Rest may refer to:* Rest, in English may mean: leisure, human relaxation, or sleep; see the...
     architecture has become a web service
    Web service

    A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
     alternative that makes appropriate use of HTTP's defined methods.
  • When relying on HTTP as a transport protocol a firewall designed to only allow web browsing cannot simply allow all HTTP-using packets; instead it has to perform more detailed (and thus less efficient) analysis of the HTTP packages.


See also

  • SOAP with Attachments
    SOAP with Attachments

    SOAP with Attachments or MIME for Web Services refers to the method of using Web Services to send and receive files using a combination of SOAP and MIME, primarily over []....
  • SOAP with Attachments API for Java
  • List of web service protocols
    List of web service protocols

    The following is a list of Web service Protocol s.*BEEP - Blocks Extensible Exchange Protocol*E-Business XML*Hessian *JSON-RPC*Representational State Transfer ...
  • Extensible User Interface Protocol(XUP) a SOAP based UI protocol
    Extensible User Interface Protocol

    The Extensible User Interface Protocol, or XUP, is a proposed web standard. XUP is a SOAP-based protocol for communicating events in a user interface, where the user interface is described by an XML document....
  • SOAPjr
    SOAPjr

    SOAPjr is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It is a hybrid of SOAP and JSON-RPC ....
     - a hybrid of SOAP and JR (JSON-RPC)
  • Web Services Security
    WS-Security

    WS-Security is a communications protocol providing a means for applying security to Web services. On April 19 2004 the WS-Security 1.0 standard was released by OASIS ....


External links