![]() |
Languages »
XML »
Beginners
Beginner
Layman's SOAPBy Dhandapani AmmasaiThis article gives a basic overview of SOAP. |
XMLWin2K, Dev
|
|
Advanced Search |
|
|
|
||||||||||||||||
This is a beginner level article giving basic introduction to SOAP. The purpose of this article is to introduce the SOAP concept. This article does not address 'How to Build a SOAP Server/Client'. I plan to publish a separate article on how to build a SOAP Server/Client soon.
SOAP is acronym for Simple Object Access Protocol. Simply put, SOAP = XML + HTTP. SOAP sends XML request to SOAP server over HTTP and receives the response back in XML. Since HTTP is the de facto mode of communication in Internet and all the web servers recognize and respond to HTTP request, it is an ideal protocol to use to enable integration of various systems. XML is emerging as a de facto standard to exchange information over disparate systems. SOAP's use of XML to send/receive message enables any system on any platform to read and process the message, unlike any proprietary format.
Before we get into the need for SOAP, let's discuss the problem with existing technologies. Did you ever try to make your COM components distributed? I mean, if COM component resides on a different machine or network, how successful were you in using that component? Not much, uh?
Existing technologies like DCOM or CORBA can make your component distributed. However, DCOM/CORBA uses Remote Procedure Call (RPC) for communication which doesn't work well across Internet. Further, both the client and the server have to have similar or the same system and OS for DCOM/CORBA to work. You may also have to spend some time on setup, to make these solutions work.
For these reasons and more, DCOM/CORBA solutions may not be considered as supporting true distributed components. What I mean by true distributed component is, the client and server can be disparate. The client and server can have different operating systems, run on different kind of machines and network. Since SOAP uses XML over HTTP to communicate, SOAP offers true distributed component support.
Please note that SOAP is not a replacement for COM or CORBA. However, COM/CORBA can use SOAP to enable them work across the Internet.
You will encounter all of these jargons below sooner or later and I will give you a basic idea of what these jargons mean.
WSDL stands for Web Service Description Language. WSDL is an XML document that describes the operations provided by the service. For each operation, WSDL will define the schema for request and response XML string. For e.g. if you provide a web service operation that accepts Farenheit as input and returns Celsius degrees as output, part of the WSDL that describes this will look like below:
<textarea rows=7 cols=80>
<message name='TempConverter.FarenheitToCelcius'>
<PART type="xsd:short" name="Farenheit" />
</message>
<message name='TempConverter.FarenheitToCelciusResponse'>
<PART type="xsd:short" name="Result" />
</message>
</textarea>
Web Service Meta Language maps a web service operation to a COM component's method. For Farenheit to Celsius degrees web service, WSML will look like below:
<textarea rows=16 cols=80>
<?xml version='1.0' encoding='UTF-8' ?>
<!-- Generated 06/04/01 by Microsoft SOAP Toolkit WSDL File Generator,
Version 1.00.623.1 -->
<servicemapping name='FtoC'>
<service name='FtoC'>
<using PROGID='FtoC.TempConverter.1' cachable='0'
ID='TempConverterObject' />
<PORT name="TempConverterSoapPort">
<operation name='FarenheitToCelcius'>
<execute uses='TempConverterObject' method='FarenheitToCelcius'
dispID='1'>
<PARAMETER name="Farenheit" elementName="Farenheit" callIndex="1" />
<PARAMETER name="retval" elementName="Result" callIndex="-1" />
</execute>
</operation>
</PORT>
</service>
</servicemapping>
</textarea>In this section, I will give you a brief overview of the whole server side and client side process involved in making a SOAP request. The diagram below gives an overall idea of what is involved in making SOAP calls.

Note that Microsoft SOAP objects/APIs that are part of Microsoft's SOAP Toolkit will help you to do all of the above processes.
SOAP uses the common standards, XML and HTTP, to promote interoperability between heterogeneous systems anywhere on the Internet. Web services are fast emerging as a new solution paradigm and it won't be too long before you start building web services using SOAP.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 7 Jun 2001 Editor: Smitha Vijayan |
Copyright 2001 by Dhandapani Ammasai Everything else Copyright © CodeProject, 1999-2009 Web16 | Advertise on the Code Project |