Web services can be published and can be accessed with internet and business intranets for developing scattered applications. It can be defined as the model for software system and designed to maintain interoperable communication. The capacity to select and compose the inter-organizational and mixed services at runtime on the web is the important issue to be considered in web service applications. With the help of a single web service, we cannot satisfy both the functional and non-functional requirements of the user, so we need to mix a set of composite already existing web services to satisfy the user needs.
Definition of Web Services
“A web service is a software system that supports interoperable machine to machine interaction over the network. It can be any kind of service provided on the web that can exchange data between applications. In simple terms, it is any program that is callable by another program across the web using standard protocols”.
OR, “A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols”.
Web services are special because they are independent of the platform, programming language, and model design. In current web applications, more businesses are gradually publishing their business as services over the web. This growing number of web services available within an organization and on the Web raises a new and challenging search problem: locating desired web services. Searching for web services with conventional web search engines is insufficient in this context. Relatively speaking, a Web Service (WS) is still a new technology in the software engineering discipline. A WS is a self-contained piece of software which can be viewed as a procedure or subprogram that can be accessed over the Internet via common communication protocols, which make the accessibility to the WS possible through its URL. Any application is considered a WS if it is accessible over the Internet via a common communication protocol, such as HTTP and using XML format for message exchange.
Basic Architecture of Web services
The Web services architecture places into relationship various components and technologies that comprise a Web services “stack” or completely functional implementation. Valid implementations include subsets or parts of the stack, but must at least provide the components within the basic architecture. Components and technologies that extend the basic architecture are represented within the extended architecture.
The basic architecture includes Web services technologies capable of:
- Exchanging messages
- Describing Web services
- Publishing and discovering Web service descriptions
The basic Web services architecture defines an interaction between software agents as an exchange of messages between service requesters and service providers. Requesters are software agents that request the execution of a service. Providers are software agents that provide a service. Agents can be both service requesters and providers. Providers are responsible for publishing a description of the service(s) they provide. Requesters must be able to find the description(s) of the services.
The given figure illustrates the basic Web services architecture, in which a service requestor and service provider interact, based on the service’s description information published by the provider and discovered by the requester through some form of discovery agency. Service requesters and providers interact by exchanging messages, which may be aggregated to form MEPs.
Figure 2.1: Web Service Architecture
Advantages Web Service
Web services provide several technological and business benefits, a few of which include:
- Application and data integration
- Code re-use
- Cost savings
The inherent interoperability that comes with using vendor, platform, and language independent XML technologies and the ubiquitous HTTP as a transport mean that any application can communicate with any other application using Web services. The client only requires the WSDL definition to effectively exchange data with the service – and neither part needs to know how the other is implemented or in what format its underlying data is stored. These benefits allow organizations to integrate disparate applications and data formats with relative ease.
Web services are also versatile by design. They can be accessed by humans via a Web-based client interface, or they can be accessed by other applications and other Web services. A client can even combine data from multiple Web services to, for instance, present a user with an application to update sales, shipping, and ERP systems from one unified interface – even if the systems themselves are incompatible. Because the systems exchange information via Web services, a change to the sales database, for example, will not affect the service itself.
Code re-use is another positive side-effect of Web services’ interoperability and flexibility. One service might be utilized by several clients, all of which employ the operations provided to fulfill different business objectives. Instead of having to create a custom service for each unique requirement, portions of a service are simply re-used as necessary
All these benefits add up to significant cost savings. Easy interoperability means the need to create highly customized applications for integrating data, which can be expensive, is removed. Existing investments in systems development and infrastructure can be utilized easily and combined to add additional value. Since Web services are based on open standards their cost is low and the associated learning curve is smaller than that of many proprietary solutions. Finally, Web services take advantage of ubiquitous protocols and the Web infrastructure that already exists in every organization, so they require little if any additional technology investment .
 Dhavachelvan, P., Uma, G.V., Venkatachalapathy, V.S.K., 2006. A new approach in development of distributed framework for automated software testing using agents, In: International Journal on Knowledge-Based Systems, Elsevier, Volume 19, Number 4, pp. 235– 247, August 2006.
 Schahram Dustdar and Wolfgang Schreiner, “A survey on web services composition” International Journal Web Grid Service, 1(1):10, 30, 2005
 “Chapter 18: Introduction to Web Services”, The Java EE 6 Tutorial, available online at: http://docs.oracle.com/javaee/6/tutorial/doc/gijvh.html
 Cavanaugh, Erin, “Web services: Benefits, challenges, and a unique, visual development solution”, white paper, Feb 10 (2006).