A Web Service is any software component which is available on internet. A Web Service is a software component which is develop to perform specific tasks regarding communication between two platforms.
Now a days there are various programming platforms available to develop web-based applications. Some applications are develop in java, some in .Net while some are in Node.js, AngularJS, etc.
Sometimes these heterogeneous applications require to communicate with each other. But as these applications are develop in different platforms, it becomes difficult to set communication between them.
In such situation, the Web Services comes in picture. Web services offers a common platform which helps the various applications built on different platforms to communicate with each other.
Example –
- An XML message is send by the client to invoke the Web Service and also waits for XML response.
- The Web service is not dependent on any operating system since the communication is done in XML. Application in any platform can interact with any other application of any platform.
- Web Services are modular, dynamic, distributed and self contained software components which can be easily published, located and also called over the network or internet.
- Web Services are build on the standard language like HTML, Java, XML and with standard protocols like TCP/IP and HTTP.
Distributed Systems –
- Distributed systems have been a part of computer science for decades. They are systems where different components in a network, communicate with each other and coordinate their actions only by passing messages.
- A component may be a program execution on a computer or a device such as a computer or a printer. It is a rather simple definition, but it covers the entire range of systems that can be called distributed systems.
Web Services –
- Web Services technology is a relatively new development. It is based upon the principles of distributed systems.
- A Web Service is a set of functions that are publish to a network for use by other programs.
- Many people regard web services as a technology only for publishing software services on the internet via browsers. While others regard them as the “new big thing” in distributed computing that is working as general purpose architecture.
- Both the general characteristics of web services are explored.
Evaluation –
- Web Services contain many features which satisfy the goals of distributed systems.
- And in many cases they will probably be the appropriate way of designing a distributed system.
- However there are limits to when web services can be use as foundation for distributed systems.
- It is probably better to use a distributed solution internally in an organisation or system and to use a web service solution in smaller and less trivial solution. Especially if the web service is made by an external party.
Features of Web Services –
(1) XML-Based :
Web Services uses XML for transfer of data in the internet. XML is not dependent on any specific operating system, networking environment and platform.
(2) Loosely Coupled :
The web services are loosely couple with the user. The interface of web service can be change at any time without making any compromise in the ability of client to interact with the service. It makes the software systems more manageable and different systems can be easily integrated.
(3) Coarse-Grained :
Web services provide a mechanism to define the coarse-grained services which can access the exact part of business logic.
(4) Ability to be Synchronous or Asynchronous :
In Synchronous method, the client is bind with the service execution. Client has to wait for completion of service execution before continuing.
In Asynchronous method, client can invoke the service as well as execute other functions. Web services provide both of the options.
(5) Supports Remote Procedure Calls (RPCs) :
In Web Services, the user can call the procedures and functions on remote object with the help of XML-based protocol.
(6) Supports Document Exchange :
Web Service provides functionality to exchange documents which facilitate business integration.
Web Service Components –
(1) SOAP (Simple Object Access Protocol)
(2) WSDL (Web Services Description Language)
(3) UDDI (Universal Description, Discovery and Integration)