SOAP 1'2, Introduction - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

SOAP 1'2, Introduction

Description:

SOAP 1.2, Introduction. University of Colorado at Boulder. Department of Computer Science ... SOAP 1.2 Is... A 'wrapper' protocol. Written in XML. Independent ... – PowerPoint PPT presentation

Number of Views:113
Avg rating:3.0/5.0
Slides: 23
Provided by: nathan103
Category:

less

Transcript and Presenter's Notes

Title: SOAP 1'2, Introduction


1
SOAP 1.2, Introduction
  • University of Colorado at Boulder
  • Department of Computer Science
  • Software Engineering Research Laboratory
  • Nathan D. Ryan

2
What Is SOAP?
  • SOAP 1.1
  • Simple Object Access Protocol
  • SOAP 1.2
  • Huh? Us, work for Microsoft? No way!
  • XML Protocol (XMLP or XP)

3
SOAP 1.2 Is
  • A wrapper protocol
  • Written in XML
  • Independent of the wrapped data
  • Independent of the transport protocol
  • Efficient (according to the W3C)
  • A uni-directional message exchange paradigm

4
SOAP 1.2 Is Not
  • A transport protocol
  • Written in valid XML
  • Independent of the wrapped data
  • Independent of the transport protocol
  • Efficient (according to me)
  • A uni-directional message exchange paradigm

5
Classification
  • Wrapper protocol versus transport protocol
  • Data is placed in header blocks and body blocks,
    as desired
  • Transport is handled by another mechanism
  • HTTP 1.1 is the only binding specified, though
    others are possible

6
Message Anatomy
SOAP Envelope
7
Message Representation
lt?xml version"1.0" ?gt ltenvEnvelope
xmlnsenv"http//www.w3.org/soap-envelope"gt
ltenvHeadergt ltdataheaderBlock
xmlnsdata"http//example.com/header"
envactor"http//example.com/actor"
envmustUnderstand"true"gt ...
lt/dataheaderBlockgt ... lt/envHeadergt
ltenvBodygt ltdatabodyBlock xmlnsdata"http//
example.com/header"gt ...
lt/databodyBlockgt ... lt/envBodygt lt/envEnve
lopegt
8
Independence
  • Independent of the wrapped data
  • True, but
  • Only text data is allowed
  • Some data structures are difficult to represent
  • Independent of the transport protocol
  • True, but
  • The XML Protocol Working Group has requested
    additions to the HTTP 1.1 specification

9
(In)Efficiency
HTTP Request
HTTP Body
XML Syntax
SOAP Envelope
SOAP Body
SOAP Body Block
Textual Integer
Sender
Receiver
0x0b66
10
Exchange Paradigm
  • Point-to-point exchange
  • Sender, receiver, possible intermediaries
  • Uni-directional message exchange
  • True, but
  • Specification includes semantics for dealing with
    faults
  • Faults cannot be ignored
  • Faults must be reported to the sending node

11
Uni-directional Exchange
Intermediary
InitialSender
UltimateReceiver
12
Bi-directional Exchange (Series)
Intermediary
InitialSender
UltimateReceiver
13
Bi-directional Exchange (Series)
Intermediary
InitialSender
UltimateReceiver
14
Bi-directional Exchange (Series)
Intermediary
InitialSender
UltimateReceiver
15
Processing Model
  • Point-to-point (sender-to-receiver) exchange,
    possibly via intermediaries
  • Receivers assume roles as actors
  • Header blocks can be specific to actors
  • Body blocks are always specific to the ultimate
    receiver
  • Actors can be required to understand header blocks

16
Nodes
Intermediary
Intermediary
InitialSender
UltimateReceiver
17
Actors
  • Standard actors
  • none
  • next
  • Anonymous
  • Application-specific actors
  • Can be anything
  • Semantics implied by a URI

18
Actor-specific Header Blocks
ltdataheaderBlock xmlnsdata"http//example.com
/header" envactor"http//example.com/actor1"
envmustUnderstand"true"gt ... lt/dataheaderBlo
ckgt ltdataheaderBlock xmlnsdata"http//example
.com/header" envactor"http//example.com/actor
2" envmustUnderstand"true"gt
... lt/dataheaderBlockgt ltdataheaderBlock
xmlnsdata"http//example.com/header"
envactor"http//example.com/actor2"
... lt/dataheaderBlockgt
19
Intermediary Algorithm
  • Receive message
  • Process appropriate header blocks
  • Processing possibly produces a fault
  • Remove processed headers
  • Add new headers
  • Send message

20
Ultimate Recipient Algorithm
  • Receive message
  • Process appropriate header blocks
  • Processing possibly produces a fault
  • Process all body blocks
  • Processing possibly produces a fault

21
Higher-level Exchange Paradigms
  • RPC
  • Fits well with HTTP 1.1 binding
  • Current activity within the XML Protocol Working
    Group
  • Conversational
  • Fits well with general message passing, but
    awkward with HTTP 1.1 binding

22
Normative References
  • http//www.w3.org/2000/09/XML-Protocol-Charter
  • http//www.w3.org/2002/ws/Activity.html
  • http//www.w3.org/TR/xmlp-reqs/
  • http//www.w3.org/TR/xmlp-am/
  • http//www.w3.org/TR/xmlp-scenarios/
  • http//www.w3.org/TR/soap12-part0/
  • http//www.w3.org/TR/soap12-part1/
  • http//www.w3.org/TR/soap12-part2/
Write a Comment
User Comments (0)
About PowerShow.com