SOAP 1.2, Introduction

Download Report

Transcript SOAP 1.2, Introduction

SOAP 1.2, Introduction

University of Colorado at Boulder Department of Computer Science Software Engineering Research Laboratory Nathan D. Ryan

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)

2002.2.4

Slide 2 of 22

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

2002.2.4

Slide 3 of 22

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

2002.2.4

Slide 4 of 22

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

2002.2.4

Slide 5 of 22

Message Anatomy

SOAP Envelope SOAP Header Header Block ...

Header Block SOAP Body Body Block ...

Body Block

2002.2.4

Slide 6 of 22

Message Representation

...

...

...

...

2002.2.4

Slide 7 of 22

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

2002.2.4

Slide 8 of 22

(In)Efficiency

HTTP Request HTTP Body XML Syntax SOAP Envelope SOAP Body SOAP Body Block Textual Integer 0x0b66 Sender

2002.2.4

Receiver

Slide 9 of 22

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

2002.2.4

Slide 10 of 22

Uni-directional Exchange

Intermediary ???

Initial Sender

2002.2.4

Ultimate Receiver

Slide 11 of 22

Bi-directional Exchange (Series)

Intermediary Initial Sender

2002.2.4

Ultimate Receiver

Slide 12 of 22

Bi-directional Exchange (Series)

Intermediary Initial Sender

2002.2.4

Ultimate Receiver

Slide 13 of 22

Bi-directional Exchange (Series)

Intermediary ???

Initial Sender

2002.2.4

Ultimate Receiver

Slide 14 of 22

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

2002.2.4

Slide 15 of 22

Nodes

2002.2.4

Slide 16 of 22

Actors

 Standard actors    none next Anonymous  Application-specific actors   Can be anything Semantics implied by a URI

2002.2.4

Slide 17 of 22

Actor-specific Header Blocks

...

...

2002.2.4

Slide 18 of 22

Intermediary Algorithm

 Receive message  Process appropriate header blocks  Processing possibly produces a fault  Remove processed headers  Add new headers  Send message

2002.2.4

Slide 19 of 22

Ultimate Recipient Algorithm

 Receive message  Process appropriate header blocks  Processing possibly produces a fault  Process all body blocks  Processing possibly produces a fault

2002.2.4

Slide 20 of 22

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

2002.2.4

Slide 21 of 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/

2002.2.4

Slide 22 of 22