SOAP, originally defined as Simple Object Access Protocol, is a protocol In computing and telecommunications, a protocol or communications protocol is a formal description of message formats and the rules for exchanging those messages. Protocols may include signaling, authentication and error detection and correction capabilities. In its simplest form, a protocol can be defined as the rules governing the syntax, specification for exchanging structured information in the implementation of Web Services Web services are typically application programming interfaces or web APIs that are accessed via Hypertext Transfer Protocol (HTTP) and executed on a remote system hosting the requested services. Web services tend to fall into one of two camps: Big Web Services and RESTful Web Services in computer networks A computer network, often simply referred to as a network, is a collection of computers and devices connected by communications channels that facilitates communications among users and allows users to share resources with other users. Networks may be classified according to a wide variety of characteristics. This article provides a general. It relies on eXtensible Markup Language XML is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards (XML) as its message format, and usually relies on other 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 define application layers protocols (most notably 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 (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer would write essentially (RPC) and HTTP The Hypertext Transfer Protocol is an Application Layer protocol for distributed, collaborative, hypermedia information systems) for message negotiation and transmission. SOAP can form the foundation layer of a web services protocol stack A web service protocol stack is a protocol stack that is 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. This XML based protocol consists of three parts: an envelope (which defines what is in the message and how to process it), a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing procedure calls and responses.

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 real-estate 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 web site or application.

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 is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism, though it borrows its transport and interaction neutrality and the envelope/header/body from elsewhere (probably from WDDX WDDX is a programming-language-, platform- and transport-neutral data interchange mechanism to pass data between different environments and different computers. It supports simple data types such as number, string, boolean, etc., and complex aggregates of these in forms such as structures, arrays and recordsets (row/column data, typically coming).[speculation?]

Contents

History

SOAP structure

SOAP once stood for 'Simple Object Access Protocol' but this acronym was dropped with Version 1.2 of the standard.[1] Version 1.2 became a W3C The World Wide Web Consortium is the main international standards organization for the World Wide Web (abbreviated WWW or W3) recommendation on June 24, 2003. The acronym is sometimes confused with SOA, which stands for Service-oriented architecture In computing, a service-oriented architecture is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains; however SOAP is different from SOA.

SOAP was originally designed by Dave Winer Dave Winer is an American software developer, entrepreneur and writer in Berkeley, California. A pioneer in the areas of outliners, content management, XML-RPC, RSS, OPML, and the MetaWeblog API, he is also noted for his contribution to podcasting. Winer is the author of Scripting News, one of the oldest weblogs, established in 1997. He is also, Don Box, Bob Atkinson, and Mohsen Al-Ghosein in 1998 in a project for Microsoft Microsoft Corporation is a public multinational corporation based in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions. Established on April 4, 1975 to develop and sell BASIC interpreters for the Altair 8800, (where Atkinson and Al-Ghosein were already working at the time)[2], as an object-access protocol. The SOAP specification is currently maintained by the XML Protocol Working Group of the World Wide Web Consortium The World Wide Web Consortium is the main international standards organization for the World Wide Web (abbreviated WWW or W3).

After SOAP was first launched, it became the underlying layer of a more complex set of Web Services Web services are typically application programming interfaces or web APIs that are accessed via Hypertext Transfer Protocol (HTTP) and executed on a remote system hosting the requested services. Web services tend to fall into one of two camps: Big Web Services and RESTful Web Services, based on Web Services Description Language The current version of the specification is 2.0; version 1.1 has not been endorsed by the W3C but version 2.0 is a W3C recommendation. WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the HTTP request methods WSDL 2.0 specification offers better support for RESTful web services, and is (WSDL) and Universal Description Discovery and Integration (UDDI). These services, especially UDDI, have proved to be of far less interest, but an appreciation of them gives a fuller understanding of the expected role of SOAP compared to how web services have actually developed.

The SOAP specification

The SOAP specification defines the messaging framework which consists of:

SOAP processing model

The SOAP processing model describes a distributed processing model, its participants, the SOAP nodes and how a SOAP receiver processes a SOAP message. The following SOAP nodes are defined:

A SOAP node that transmits a SOAP message.

A SOAP node that accepts a SOAP message.

The set of SOAP nodes through which a single SOAP message passes.

The SOAP sender that originates a SOAP message at the starting point of a SOAP message path.

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.

The SOAP receiver that is a final destination of a SOAP message. It is responsible for processing the contents of the SOAP body and any SOAP header blocks targeted at it. In some circumstances, a SOAP message might not reach an ultimate SOAP receiver, for example because of a problem at a SOAP intermediary. An ultimate SOAP receiver cannot also be a SOAP intermediary for the same SOAP message.

Transport methods

SOAP makes use of an internet 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 define application layers protocol as a transport protocol. Critics have argued that this is an abuse of such protocols, as it is not their intended function and therefore not a role they fulfill well. Proponents of SOAP have drawn analogies to successful uses of protocols at various levels for tunneling Computer networks use a tunneling protocol when one network protocol encapsulates a different payload protocol. By using tunneling one can (for example) carry a payload over an incompatible delivery-network, or provide a secure path through an untrusted network other protocols.[citation needed]

Both SMTP Simple Mail Transfer Protocol is an Internet standard for electronic mail (e-mail) transmission across Internet Protocol (IP) networks. SMTP was first defined in RFC 821 (STD 15) (1982), and last updated by RFC 5321 (2008) which includes the extended SMTP (ESMTP) additions, and is the protocol in widespread use today. SMTP is specified for and HTTP The Hypertext Transfer Protocol is an Application Layer protocol for distributed, collaborative, hypermedia information systems are valid application layer protocols used as Transport for SOAP, but HTTP The Hypertext Transfer Protocol is an Application Layer protocol for distributed, collaborative, hypermedia information systems has gained wider acceptance as it works well with today's Internet infrastructure; specifically, HTTP works well with network firewalls A firewall is a part of a computer system or network that is designed to block unauthorized access while permitting authorized communications. It is a device or set of devices which is configured to permit or deny computer applications based upon a set of rules and other criteria. SOAP may also be used over HTTPS Hypertext Transfer Protocol Secure is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encryption and secure (website security testing) identification of the server. It uses port 443. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate (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 1.1.

This is a major advantage over other distributed protocols like GIOP/IIOP or DCOM Distributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure. It has which are normally filtered by firewalls. SOAP over AMQP is yet another possibility that some implementations support.

Message format

XML XML is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards was chosen as the standard message format because of its widespread use by major corporations and open source Open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology. Before the term open source became widely adopted, developers and producers used a variety of phrases to describe the concept; open source development efforts. Additionally, a wide variety of freely available tools significantly eases the transition to a SOAP-based implementation. The somewhat lengthy syntax In linguistics, syntax is the study of the principles and rules for constructing sentences in natural languages of XML XML is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards 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 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 (relative to a given memory addressing scheme) and the transmission order over a network or other medium. When specifically talking about bytes, endianness is also referred to), it can retard processing speed and can be cumbersome. For example, CORBA The Common Object Request Broker Architecture is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together, i.e. it supports multiple platforms, GIOP, ICE, and DCOM Distributed Component Object Model is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure. It has use much shorter, binary message formats. On the other hand, hardware appliances are available to accelerate processing of XML XML is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards messages.[3][4] Binary XML is also being explored as a means for streamlining the throughput requirements of XML.

Sample SOAP message

POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>

Technical critique

Advantages

Disadvantages

See also

References

  1. ^ SOAP Version 1.2 specification
  2. ^ Exclusive .NET Developer's Journal "Indigo" Interview with Microsoft's Don Box
  3. ^ IBM Datapower
  4. ^ IBM Zurich XML Accelerator Engine
  5. ^ http://www.w3.org/TR/2009/CR-soapjms-20090604/
  6. ^ http://www.w3.org/TR/2001/WD-soap12-part0-20011217/#SMTP
  7. ^ IBM Developer works
  8. ^ Marchal, Benoit (2004). "SOAP 1.2 and the GET request". Developer Works. IBM. http://www.ibm.com/developerworks/xml/library/x-tipgetr.html. Retrieved 30 March 2010.

External links

World Wide Web Consortium
Products and standards
Recommendations Canonical XML · CDF · CSS · DOM · Geolocation API · HTML · MathML · OWL · P3P · PLS · RDF · RDF Schema · SISR · SKOS · SMIL · SOAP · SRGS · SSML · SVG · SPARQL · Timed Text · VoiceXML · WSDL · XForms · XHTML · XInclude · XLink · XML · XML Base · XML Encryption · XML Events · XML Information Set · XML namespace · XML Schema · XML Signature · XPath 1.0, 2.0 · XPointer · XProc · XQuery · XSL · XSL-FO · XSLT (elements)
Notes XAdES · XHTML+SMIL
Working Drafts CCXML · CURIE · HTML5 · InkML · RIF · SCXML · sXBL · WICD · XFDL · XFrames · XBL · XHTML+MathML+SVG · XMLHttpRequest
Guidelines Web Content Accessibility Guidelines
Initiative Multimodal Interaction Activity · W3C MVS
Deprecated C-HTML · HDML · JSSS · PGML · VML
Organizations World Wide Web Foundation · SVG Working Group · WebOnt · W3C Device Description Working Group · WHATWG
Software Agora · Argo · Arena · Amaya · CERN httpd · Libwww · line-mode browser
Conference-related IW3C2 · World Wide Web Conference · WWW1

Categories: World Wide Web Consortium standards | Application layer protocols | XML-based standards | Remote procedure call | Data serialization formats

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Mon Jul 26 23:00:40 2010. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


Football legend adds to glamour of celeb event - Manchester Evening News
menmedia.co.uk
Football legend adds to glamour of celeb event - Manchester Evening News
Wed, 21 Jul 2010 14:01:19 GMT+00:00
Manchester Evening News It was just like any other summer fete except of course for a guest list featuring footballing legend Bobby Charlton and a couple of soap stars. ...
Google News Search: Soap,
Thu Jul 22 04:27:32 2010
evergreen soap bar photo jpg
herbariasoap.com
evergreen soap bar photo jpg
360px x 470px | 47.10kB

[source page]

com assets herbaria images photos soap bars full rosemary soap bar photo jpg http www HerbariaSoap com assets herbaria images photos soap bars full licorice soap bar photo jpg http www HerbariaSoap com assets herbaria images photos soap bars full evergreen soap bar photo jpg http www HerbariaSoap com assets herbaria images photos soap bars full gift set

Yahoo Images Search: Soap,
Sat Jul 17 11:04:04 2010
Bath & Body Works: Free Hand Soap with $10 Purchase
mrsmoneysaver.com
Bath & Body Works: Free Hand Soap with $10 Purchase

Dana @ Mrs. Moneysaver

Wed, 28 Jul 2010 04:45:55 GM

Take this coupon to your local Bath & Body Works to get a free anti-bacterial hand . soap. (up to $5) when you make any purchase, $10 or more. The.

Google Blogs Search: Soap,
Thu Jul 29 06:51:40 2010
What is the overall difference between lye soap and non-lye soap?
Q. I would like to make organic homemade soap. Most receipes require lye, but some do not. First off, how does lye effect the quality of the finished soap. And second, with all other ingredients organic, would it still be organic if I used lye.
Asked by MariJHouse - Mon Feb 9 22:50:54 2009 - - 2 Answers - 0 Comments

A. OK. All SOAP is made with lye somewhere in the process. Commercial "soaps" are often detergent products rather than true soap. You can get melt & pour "soap" bases. There are two types. One is actually a detergent product and the other is a modified soap in which someone else has done the lye part for you. Lye doesn't affect the quality - it MAKES the soap. Oils + lye = soap. There is no such thing as organic lye. Anyone who says their soap is 100% organic is kidding themselves or you. But you can make a soap (albeit a very expensive one) out of 100% organic oils. To learn about soapmaking please go to millersoap.com - it's a GREAT starting place.
Answered by carol g - Tue Feb 10 12:21:19 2009

Yahoo Answers Search: Soap,
Tue Jul 20 18:59:58 2010