Wednesday, 2 March 2011

Web Services


Hi.This is some information about the web service.web service is a method of communication between two communicating devices.According to W3c,web service is a software system designed to support interoperable machine-machine interaction over a network.
The word interoperable mainly indicates that the machines inorder to communicate they should be based on a common message exchanging platform which both can understand.The figure gives the generalized idea of web services.
There are mainly two classes of web services.One is the REST compliant web service which manipulates the XML representations.The other one is the arbitrary web services which exhibits some set of operations.
The web services use a communication protocol called simple object access protocol(SOAP) and uses web services description language to describe the data.The web service can be implemented in three main ways.
1)RPC
2)SOA
3)REST

RPC:It is implemented using remote procedure calls where the function retrieves the desired service from service provider via SOAP

SOA:Here the communication is in the form of messages rather than operations.

REST:It uses HTTP or similar kind of protocols to constrain interface to standard operations like GET,POST like that.

SOA???

Since this is my first blog on SOA, I would like to tell you all what SOA is all about?
One should note that SOA is not a technology and that SOA is an architectural approach to the software design that involves assembling systems from reusable components or services that may originate from different sources and underlying technical environments.

SOA  is an "IT architecture" based on reusable, well-defined services implemented by independent IT components.  These components are loosely coupled enabling the changes in the system much easier.
SOA  actually provides platform, technology and language independent services allowing greater flexibility in assembling new components or services to the existing system.

SOA marks the end of monolithic enterprise application and the beginning of more flexible and more adaptable business-centric applications.

SOA can be loosely described as an 'architectural solution' for making 2 software services communicate with each other.

Now let me tell you what is the need for SOA or how exactly SOA tries to overcome the deficiencies of the existing business processes?
Firstly SOA frees the services from the legacy environment and makes them available for easy reuse by people, processes and other applications.
This reuse yields speed and adaptability for faster execution of marketing campaigns, regulatory compliance and thus opening up new marketing scope to improve an organization's business performance.

SOA allows for the combining of existing functions with the newly developed functions, allowing for the creation of composite applications.
SOA actually leads to high-quality, low-cost applications that can be procured from third party suppliers replacing lower quality components thus lowering the risks in their projects.

Loose coupling of the functions/services helps preserve the future by allowing parts of the business and the technology that provides support to change at their own pace thus overcoming the risks involved in the monolithic approaches.

Tuesday, 1 March 2011

Web Services

I went through some of the article published and found that:
Web service can be used  to convert a application into web application.Web service are published and found through the web.The web service are used by the developer to develop and deploy web application.
The web application has value for the end user not the web service.The web service is valued by the developer. 
The platform components of the web service includes:SOAP(simple object access protocol),UDDI(universal descriptor,discovery and integration),WSDL.


As we can see in the figure above the web service provider publishes the web service with the web service broker.The web service published with the broker is described using the WSDL(Web service description language).The web service requester will discover the service via a service  broker. The communication between the web service provider and the broker is done by using XML messages which are exchanged among them.The protocol used for communication is SOAP.


There are two uses of web service :
  1. Web service can be used as reusable components in the web application or any other application.(eg. currency convertor).
  2. The web service can be used to connect existing software system which are based on different platforms.

Web services v/s Web application

Web applications resides on the server and are meant to use by the end users. All the interactions are done through web pages, data is stored and manipulated on the servers. Web services are server-based applications which are accessed over the web, these are meant for interaction with other programs i,e they are used by the developers.

Even though the capabilities of  web applications can be accessed by the users universally, web applications d'not allow the users to add or extend their capabilities. Web services solve this problem by allowing the users to add to their capabilities using industry standard interfaces and protocols.

Using web applications companies can interact with each through capabilities, but most of the time use of web applications requires human being interacting with web applications.But web services remove this need for human interaction as the companies can interact with each other through programmatic conversations between applications. Web applications are like web sites where as web services represent the business logic.


Web Services Vs Web Application

Web Services provides a means to communicate between electronic devices.It interacts with other systems using SOAP protocol.data is conveyed using HTTP with XML.

      Web Application is an application that is accessed over internet.Web Application are popular due its user friendly appearance of browser to clients.Some of common application are webmail,retail sales and online auction.                       


Web API is a development in Web services  where emphasis has been moving away from SOAP based services towards  REST based communications.Web API is typically a defined set of Hypertext Transfer Protocol (HTTP) request messages along with a definition of the structure of response messages, usually expressed in an Extensible Markup Language (XML) or JavaScript Object Notation (JSON) format.

Web applications commonly use a combination of server-side script  and client-side script  to develop the application. The client-side script deals with the presentation of the information while the server-side script deals with  storing and retrieving the information.

    


Web Services


Real world services available on web as components which are interoperable are called "Web Services". These are used by the developers.

Web services are API's on the web, they allows applications to communicate with each other using XML a meter data and using SOAP as protocol. SOAP, WSDL and UDDI are the technologies which form the foundations of web services. SOAP provides a mechanism to exchange the information between applications, WSDL describes the web services and UDDI is the registry of information for web services.

Before web services, using software for delivering any services lead to various implications. Inorder to deliver a service to clients different  web components has to communicate with each other. Since there were no standard format for communication between different components it lead to compatibility issues. This interoperability issues are be solved by web services.

XML, eXtensible Markup Language is a text based data description language is used to represent business data. Use of  XML interoperability issues as it makes data transport independent of networking, operating system or platform.


Web services involve three categories of business: Service provider, Service broker(Registry) and Service requester. The interaction among these business components can be described by the following triad,




The main components of web services are:
XML(Extensible Markup Language)
                  XML is a simple,text based,self descriptive markup language.It is used to describe logical structures of data in different ways.It helps in data exchange using DTD or XML schema.

SOAP(Simple Object Access Protocol)                    
                  SOAP is a simple but powerful protocol designed for data exchange in an interoperable and extensible form.  

WSDL(Web Service Description Language)
                  WSDL is an Xml file,which describe services.It provides information about the services,names,service location.

 UDDI(Universal Description,Discovery and Integration)
                   It is a specification that is designed to manage business and services-related information UDDI is a registry service that helps to realize service discovery and service invocation.