Presentation is loading. Please wait.

Presentation is loading. Please wait.

S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.

Similar presentations


Presentation on theme: "S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun."— Presentation transcript:

1 S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun

2 Overview What is SOAP? What is SOAP? SOAP History SOAP History Message Exchange Pattern Message Exchange Pattern SOAP Structure SOAP Structure Demo Demo Alternatives Alternatives Q&A Q&A

3 What is SOAP? Original Acronym: Simple Object Access Protocol (no longer used as it was misleading; dropped in 1.2) Original Acronym: Simple Object Access Protocol (no longer used as it was misleading; dropped in 1.2) It is a lightweight communication protocol for exchanging information in a distributed environment It is a lightweight communication protocol for exchanging information in a distributed environment SOAP uses XML and HTTP SOAP uses XML and HTTP It can invoke methods, servers, services and objects via the Internet It can invoke methods, servers, services and objects via the Internet

4 Advantages Platform and language independent Platform and language independent Allow programs written in different languages running on different platforms to communicate with each other Allow programs written in different languages running on different platforms to communicate with each other Simple and extensible Simple and extensible Minimum functionality Minimum functionality Format is simple and human-readable Format is simple and human-readable Standard HTTP protocol is ‘firewall friendly’ Standard HTTP protocol is ‘firewall friendly’

5 History SOAP follows the principle: Invent no new technology! Using two commonly deployed technologies (XML and HTTP), SOAP facilitates interoperability between programs and platforms

6 Message Exchange Pattern Remote Procedure Call RPC has two types of messages RPC has two types of messages Request - Client sends a request to the server to invoke a service Request - Client sends a request to the server to invoke a service Response - Server sends back the result Response - Server sends back the result

7 3-Part Structure of a SOAP Message Envelope Envelope Defines the XML document as a SOAP message Defines the XML document as a SOAP message Must have the namespace http://www.w3.org/2001/12/soap-envelope Must have the namespace http://www.w3.org/2001/12/soap-envelope Header (optional) Header (optional) Holds control information Holds control information Body Body Contains the data you are trying to send Contains the data you are trying to send Can have a element to handle and carry error messages Can have a element to handle and carry error messages

8 Request Message 470 470 </SOAP-ENV:Envelope>

9 Response Message Anthony Anthony </SOAP-ENV:Envelope>

10 Demo SOAP Client written in PHP SOAP Client written in PHP Profname.wsdl Profname.wsdl Profname.wsdl Client Source Client Source Client Source Client Source Server Response Result Shown Server Response Result Shown Server Response Result Shown Server Response Result Shown

11 Demo SOAP Client written in PHP SOAP Client written in PHP Source Code for Server Side Source Code for Server Side Source Code for Server Side Source Code for Server Side Source Code for Client Side Source Code for Client Side Source Code for Client Side Source Code for Client Side Request and response messages captured and displayed Request and response messages captured and displayed Request and response messages captured and displayed Request and response messages captured and displayed Client connect to unknown server Client connect to unknown server Client connect to unknown server Client connect to unknown server

12 Problems with SOAP Data needs to be converted to strings (instead of being transmitted in binary form) Data needs to be converted to strings (instead of being transmitted in binary form) Lengthy XML messages are slower to transmit (less of an issue with short messages) Lengthy XML messages are slower to transmit (less of an issue with short messages) You have to do more work (SOAP does not define how receiving a message You have to do more work (SOAP does not define how receiving a message will create an instance of the object and execute the method)

13 Alternatives XML-RPC XML-RPC Designed by Dave Winer of UserLand Software with Microsoft, 1998 Designed by Dave Winer of UserLand Software with Microsoft, 1998 SOAP's predecessor SOAP's predecessor Advantages: Advantages: Simple and minimal protocol for remote execution of java code (entire description can be printed on two pages of paper) Simple and minimal protocol for remote execution of java code (entire description can be printed on two pages of paper) Easy to use Easy to use Disadvantages: Disadvantages: Too simple; unable to handle complex interactions Too simple; unable to handle complex interactions Mostly replaced by SOAP Mostly replaced by SOAP

14 Alternatives CORBA (Common Object Request Broker Architecture) CORBA (Common Object Request Broker Architecture) Advantage: Advantage: Most complete RPC protocol Most complete RPC protocol Good for implementation in server farms or large groups of homogenous systems on a dedicated network Good for implementation in server farms or large groups of homogenous systems on a dedicated network Disadvantage: Disadvantage: Too complex for most applications Too complex for most applications Difficult to implement with a high number of clients Difficult to implement with a high number of clients Though implemented on a variety of platforms, in practice any given deployment needs to be on a single consistent implementation Though implemented on a variety of platforms, in practice any given deployment needs to be on a single consistent implementation

15 Alternatives DCOM (Distributed Component Object Model) DCOM (Distributed Component Object Model) Only for Windows Only for Windows Advantage: Advantage: Highly efficient and flexible Highly efficient and flexible Disadvantage: Disadvantage: Very complicated to configure Very complicated to configure Hard to work in modern web environment Hard to work in modern web environment Deprecated by.NET Deprecated by.NET

16 Thank you! Are there any points we can clarify for you?


Download ppt "S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun."

Similar presentations


Ads by Google