Over the past few years at work and outside the work I have met quite a lot of people who has shared their view on Web Service or curious about the same. So finally I decided to try to explain it as simple as I can and hoping this will help the crowd.
**Distributing the Software
At first, the internet was used for distributed data – i.e. you can hyperlink two pieces of data together –what about linking two pieces of software?
What has emerged over the past few years is architecture which support different new components to be written and to be able to work together when they run on different computers
– The components are called services – The area of computing is called Service Oriented Computing and is intimately involved with Business Process Modeling
– Web services allow an application developer to write an application using components which are actually housed on geographically separate machines
** e.g. using a service form Amazon which gives you access to their product data
**A Financial Example
The financial application may use a currency exchange calculator which is run by Reuters in London and a credit card facility run in New York.
**Web Services
In simple words - Modules called over the internet are called Web Services
The term covers a wide variety of implementations – The standard model provides one platform independent account – Other versions use XML-RPC and REST – For instance Java has a number of technologies for developing web services.
They also take part in a number of architectures
– The initial structure assume you are writing an application which wants to use a remote method
– but now Web Services are used as components of Business Process Models
– and can be combined in various ways They also live in a variety of repository structures
**The Standard Web Services Model
A Web Service is a software component deployed over the web and which may be used remotely as a building block of an application. The module may be written in any language and the client may be in a different language.
The communications uses one of three XML standards – SOAP – the original standard – XML-RPC – REST
**Web Service Life History
1. A module is written (in any language).
2. The module is transformed by entry into a Web Service Manager, which:
a.) creates an XML description of how to access it (in WSDL)
b.) makes it communicable by transforming its parameters so that it is sending and receiving XML (in SOAP)
3. The description is published in a registry.
4. A client looks in the registry and finds it (using UDDI).
5. The client program binds to the module i.e. makes calls to the methods in the module.
**What Must Be Achieved
Module calls must
– be distributed using Remote Procedure Calls
– use a systematic protocol – e.g. SOAP
– not be language dependent
Modules must
– be described so systematic calls can be generated - WSDL
– be uploadable to some central repository
The registry must
– be generally available
– hold browsable descriptions of the modules - UDDI
I will put together more on my next post e.g. Remote Procedure Calls (RPC) etc and going in depth about implementing Web Service.
Hope this helps!