140 likes | 565 Views
SOAP Presentation. By Raymond Tuong 12/02/2002. SOAP Overview. A SOAP Message is an envelope with two distinct parts Header Body <soap:Envelope> <soap:Header> </soap:Header> <soap:Body> </soap:Body> </soap:Envelope>. What is SOAP?. An XML-based messaging protocol.
E N D
SOAP Presentation By Raymond Tuong 12/02/2002
SOAP Overview • A SOAP Message is an envelope with two distinct parts • Header • Body <soap:Envelope> <soap:Header> </soap:Header> <soap:Body> </soap:Body> </soap:Envelope>
What is SOAP? • An XML-based messaging protocol. • SOAP defines a set of rules for structuring messages that can be used for simple one-way messaging • Particularly useful for performing RPC-style (Remote Procedure Call) request-response dialogues.
Why is SOAP useful? • Not tied to any particular operating system or programming language. • Important building block for developing distributed applications that exploit functionality published as services over an intranet or the internet. (Ex. Web Services)
SOAP Benefits • Standard communication format • Use existing infrastructure • Connecting diverse systems • New revenue streams
SOAP Advantage/Disavantage • Pros • Works well with firewalls • Great for communicating between different platforms • Uses XML, therefore allows rich, extensible messages • Cons • Limited tools (for now…)
SOAP message types • Request • Response • Fault
SOAP message structure: Request • POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml Content-Length: nnnn SOAPAction: Some-Namespace-URI#GetLastTradePrice • <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> • <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>
SOAP message structure: Response • HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8“Content-Length: nnnn • <SOAP-ENV:Envelopexmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> • <SOAP-ENV:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>
Transporting SOAP messages: protocol bindings • A SOAP envelope needs to be sent from one point to another. • Protocol designed must fit in the existing architecture. • Protocol binding: give information to an underlying protocol (HTTP, BEEP, ...) about what to do with a message.
Security of the Web services architecture • SOAP extensions: digital signatures, encryption. • Overall security work.
SOAP/HTTP and Security • HTTP Header Filtering • M-POST verb • HTTP • Basic • SSL • Header filtering (on SOAPAction) • Application Level Restriction • Only allow access to “Web Service” registered components
SOAP Clients & Servers • In the world of web services, there are: • Web service providers (Servers) • Web service consumers (Clients) • Servers and clients communicate using SOAP
Summary • SOAP = XML + HTTP (eventually other protocols) • Cross platform • Language independent • Works with firewalls