210 likes | 703 Views
Agenda. OverviewMessagingProcessing ModelProtocol BindingsAdvanced Usage Scenarios. . Definition. Lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. XML messaging framework provides message construct that can be exchanged over a vari
E N D
1. SOAP Nik Kolev
CSC-9010 - SOA
Villanova University
2. Agenda Overview
Messaging
Processing Model
Protocol Bindings
Advanced Usage Scenarios
3. Definition Lightweight protocol intended for exchanging structured information in a decentralized, distributed environment.
XML messaging framework provides message construct that can be exchanged over a variety of underlying protocols.
Independent of any particular programming model and other implementation specific semantics.
Major design goals – simplicity and extensibility. Achieved by not dealing with “security”, “reliability”, “routing”, etc.
4. Logistics Current Version: 1.2 http://www.w3.org/TR/soap/
Latest update – 27 April 2007
XML protocol working group, World Wide Web Consortium.
Simple Object Access Protocol (spec v.1.1)
Service Oriented Architecture Protocol (post-”acronym drop”)
5. Agenda Overview
Messaging
Processing Model
Protocol Bindings
Advanced Usage Scenarios
6. Message Structure
7. Message Exchange Patterns SOAP v1.2 specification outlines a simple messaging framework for transferring information between an initial SOAP sender and an ultimate SOAP receiver (in essence – one-way, single-message communication)
Application-level semantics add:
Conversational
RPC (Request-Response)
8. Conversational
9. RPC A finer-grained SOAP v1.2 design goal – XML-encapsulate RPC-functionality; the following information needs to be present in the SOAP message:
The address of the target SOAP node.
The procedure or method name.
Argument types and values / return types and value.
Separation between the data and the metadata.
Message exchange pattern
Optional header data
10. RPC Example
11. Fault Scenarios SOAP provides a mechanism for handling situations where faults arise in the processing of a message.
Specification distinguishes between
The conditions that result in a fault
The ability to signal a fault to the originator or another SOAP node in the chain
env:Fault, env:Reason, env:Code elements
12. Fault Example
13. Agenda Overview
Messaging
Processing Model
Protocol Bindings
Advanced Usage Scenarios
14. SOAP Processing Model Describes the (logical) actions taken by a SOAP node on receiving a SOAP message.
A SOAP node is required to analyze the SOAP specific parts of a message.
Message is syntactically conformant.
env:Header processing attributes:
env:role – identifies the role played by the intended target of a header block
env:mustUnderstand – the SOAP node must process the header block according to its specification, given it plays the env:role specified in the header block
env:relay – specifies whether the header block should be relayed in the outbound form of the message
15. Agenda Overview
Messaging
Processing Model
Protocol Bindings
Advanced Usage Scenarios
16. SOAP Protocol Binding Refers to the specification of how SOAP messages make it from one node to another (ex. over a TCP stream, within an HTTP entity - predominantly, etc).
The underlying protocol also deals with providing the serialized representation of the SOAP infoset (usually XML).
In general, the SOAP binding protocol provides the features that the SOAP specification chose not to deal with (in order to support its main design goals).
17. SOAP HTTP Binding
18. Agenda Overview
Messaging
Processing Model
Protocol Bindings
Advanced Usage Scenarios
19. Advanced “Features” Intermediaries (Forwarding, Active)
Encoding Schemes
Optimized Serialization (Message Transmission Optimization Mechanism)
http://www.w3.org/TR/soap12-part0/#L579