SOAP Simple Object Access Protocol - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

SOAP Simple Object Access Protocol

Description:

... for applications to communicate using XML-based messages over the ... Microsoft is soliciting industry feedback on version 0.9 of the SOAP specification. ... – PowerPoint PPT presentation

Number of Views:309
Avg rating:3.0/5.0
Slides: 23
Provided by: matthew333
Category:

less

Transcript and Presenter's Notes

Title: SOAP Simple Object Access Protocol


1
SOAP(Simple Object Access Protocol)
  • Matt Brodie
  • March 20th 2006

2
  • "To help developers build Web services and
    link heterogeneous components over the Internet,
    Microsoft worked with industry experts to create
    the Simple Object Access Protocol. SOAP provides
    an open, extensible way for applications to
    communicate using XML-based messages over the
    Web, regardless of what operating system, object
    model or language particular applications may
    use. SOAP facilitates universal communication by
    defining a simple, extensible message format in
    standard XML and thereby providing a way to send
    that XML message over HTTP. Microsoft is
    soliciting industry feedback on version 0.9 of
    the SOAP specification. . ." MS announcement,
    Sept 13 1999"

3
SOAPs designers
  • Initial development done by a team including
    representatives from
  • DevelopMentor
  • IBM
  • Lotus
  • Microsoft
  • UserLand

4
SOAPs maintenance
  • Currently under the auspices of the W3C XML
    Protocol Working Group, which includes
    representatives of
  • BEA Systems
  • IBM
  • Microsoft
  • Sun Microsystems
  • Systinet
  • Not to mention ATT, DaimlerChrysler, Intel, and
    Fujitsu

5
some definitions
  • "SOAP is a protocol specification for invoking
    methods on servers, services, components and
    objects. SOAP codifies the existing practice of
    using XML and HTTP as a method invocation
    mechanism. The SOAP specification mandates a
    small number of HTTP headers that facilitate
    firewall/proxy filtering. The SOAP specification
    also mandates an XML vocabulary that is used for
    representing method parameters, return values,
    and exceptions." DevelopMentor

6
continued
  • The Simple Object Access Protocol (SOAP)
    facilitates interoperability among a wide range
    of programs and platforms, making existing
    applications accessible to a broader range of
    users. SOAP combines the proven Web technology
    of HTTP with the flexibility and extensibility of
    XML. perfectxml.com

7
from the original MS press release
  • SOAP provides an open, extensible way for
    applications to communicate using XML-based
    messages over the Web, regardless of what
    operating system, object model or language
    particular applications may use. SOAP facilitates
    universal communication by defining a simple,
    extensible message format in standard XML and
    thereby providing a way to send that XML message
    over HTTP. Microsoft

8
the official definition
  • SOAP is a lightweight protocol intended for
    exchanging structured information in a
    decentralized, distributed environment. SOAP uses
    XML technologies to define an extensible
    messaging framework, which provides a message
    construct that can be exchanged over a variety of
    underlying protocols. The framework has been
    designed to be independent of any particular
    programming model and other implementation
    specific semantics. W3C

9
repetitious words
  • Extensible
  • Platform-nonspecific
  • Utilizes existing software
  • Facilitates communication
  • Simple

10
a bit of history
  • Sometime in 1999 idea created, work started
  • May 8, 2000 submitted to W3C
  • June 24, 2003 published as a W3C recommendation
  • Now, development is focused on common suite of
    SOAP extensions to add reliability, security,
    etc.
  • Global XML Web Services Architecture (GXA)

11
SOAPs predecessors
  • DCOM and CORBA
  • Remote Procedure Call (RCP) Protocols
  • Poorly designed for Web Services
  • Initially, SOAP was designed to make DCOM and
    CORBA work over the internet.

12
simple depiction of SOAP in action
13
SOAP
  • is a format for one-way communication
  • describes how a message should be transported
    through the web
  • governs which portions of the document should be
    read and by whom
  • is a format describing how the client turns the
    message into an RPC call and converts it into a
    SOAP reply

14
SOAP message structure
  • HTTP binding
  • directs the message
  • Envelope
  • always the root element, it helps the server
    identify the message as SOAP, and it is defined
    by its own schema SOAP-ENV
  • Header (optional)
  • specifying use
  • Adds features to the SOAP message such as
    authentication, transaction management, payment,
    message routes, etc
  • Body
  • containing the payload

15
very simple example
ltEnvelopegt ltHeadergt lttransIdgt345lt/transId
gt lt/Headergt ltBodygt ltAddgt
ltn1gt3lt/n1gt ltn2gt4lt/n2gt lt/Addgt
lt/Bodygt lt/Envelopegt
16
HTTP binding
  • directs SOAP message across HTTP
  • always a POST format
  • content-type is always text/xml
  • includes the special header SOAPAction
  • this is not mandatory, supposed to express the
    function of the message

17
HTTP binding for a request POST
/string_server/Object17 HTTP/1.1 Host
209.110.197.2 Content-Type text/xml Content-Lengt
h nnn
Response 200 OK Content-Type text/xml Content-Le
ngth nnn
18
previous example, fleshed out
ltSOAP-ENVEnvelope xmlnsSOAP-ENVhttp//sche
mas.xmlsoap.org/soap/envelope/
SOAP-ENVencodingStyle"http//schemas.xmlsoap.org
/soap/encoding/gt ltSOAP-ENVHeadergt
ltttransId xmlnsthttp//a.com/transgt345lt/ttra
nsIdgt lt/SOAP-ENVHeadergt ltSOAP-ENVBodygt
ltmAdd xmlnsmhttp//a.com/Calculatorgt
ltn1gt3lt/n1gt ltn2gt4lt/n2gt
lt/mAddgt lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
19
intermediaries
  • intermediaries act as soap receivers and senders
  • they often process messages and send them on
  • the SOAP message is encoded with instructions for
    the receiver will deal with the message
  • it may ignore certain sections of the body, if it
    is told to in the header

20
drawbacks
  • dozens of SOAP toolkits being used to build, many
    interpret message differently
  • SOAP is very ambiguous, no data encoding format
  • Just because the server is using SOAP doesnt
    mean its encoding in the way you expect it to
  • The rules governing encoding within the envelope
    are known as Section 5 rules
  • these rules are not required, causing problems
    when users make assumptions about their use

21
SOAP message example
POST /StockQuote HTTP/1.1 Host
www.stockquoteserver.com Content-Type text/xml
charset"utf-8" Content-Length nnnn SOAPAction
"Some-URI" ltSOAP-ENVEnvelope
xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/en
velope/" SOAP-ENVencodingStyle"http//schemas.
xmlsoap.org/soap/encoding/"gt ltSOAP-ENVBodygt
ltmGetLastTradePrice xmlnsm"Some-URI"gt
ltsymbolgtDISlt/symbolgt
lt/mGetLastTradePricegt lt/SOAP-ENVBodygt lt/SOAP-
ENVEnvelopegt
22
example response
HTTP/1.1 200 OK Content-Type text/xml
charset"utf-8" Content-Length
nnnn ltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//
schemas.xmlsoap.org/soap/envelope/"
SOAP-ENVencodingStyle"http//schemas.xmlsoap.org
/soap/encoding/"/gt ltSOAP-ENVBodygt
ltmGetLastTradePriceResponse xmlnsm"Some-URI"gt
ltPricegt34.5lt/Pricegt
lt/mGetLastTradePriceResponsegt
lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
Write a Comment
User Comments (0)
About PowerShow.com