Wednesday, July 11, 2012

Intro to Web Service

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!

1 comment:

  1. Nice article. Web services are used mostly in the development of Mobile Application. Rhodes application(Mobile client application) connects with Rho syn server via web services. Rho syn server communicates to the rails application via another web services.
    So using web services, we are able to process to data from Android device.