Today, companies rely on thousands of different software applications each with their own role to play in running a business. To name just a few, database applications store information about customers and inventories, web applications allow customers to browse and purchase products online, and sales tracking applications help business identify trends and make decisions for the future. These different software applications run on a wide range of different platforms and operating systems, and they are implemented in different programming languages. As a result, it is very difficult for different applications to communicate with one another and share their resources in a coordinated way. Take, for example, a company that has its customer data stored in one application, its inventory data stored in another application, and its purchasing orders from customers in a third. Until now, if this company wanted to integrate these different systems, it had to employ developers to create custom bridging software to allow the different applications to communicate with one another. However, these sorts of solutions are often piecemeal and time consuming. As soon as a change is made to one application, corresponding changes have to be made to the other applications linked to it and to the bridges that link the applications together.
The Web Services Solution
To solve the problem of application-to-application communication, businesses need a standardized way for applications to communicate with one another over networks, no matter how those applications were originally implemented. Web Services provide exactly this solution by providing a standardized method of communication between software applications. With a standardized method of communication in place, different applications can be integrated together in ways not possible before. Different applications can be made to call on each other's resources easily and reliably, and the different resources that applications already provide can be linked together to provide new sorts of resources and functionality. Moreover, application integration becomes much more flexible because Web services provide a form of communication that is not tied to any particular platform or programming language. The interior implementation of one application can change without changing the communication channels between it and the other applications with which it is coordinated. In short, Web services provide a standard way to expose an application's resources to the outside world so that any user can draw on the resources of the application.
Web Service Basic Technologies
What is a Web Service?
Essentially, a Web service makes software application resources available over the networks in a standardized fashion. Other technologies have done the same thing, such as Internet browsers, which make web pages available using standard Internet technologies such as HTTP and HTML. However, these technologies are generally used as a way for human users to view data on a web server and, on their own, are not well suited to enabling application-to-application communication and integration. What is new and exciting about Web service technology is its ability to allow software applications to talk to one another and utilize each other's resource. Using Web service technology, one application can call on another to perform simple or complex tasks, even if the two applications are running on different operating systems and are written in different languages. In other words, a Web service makes its resources available in such a way that any client application, regardless of its internal implementation, can operate and draw on the resources provided by the Web service.
Basic Technologies
Web services are able to expose their resources in this generally accessible way because they adhere to the following communication standards:
(1) A Web service publicly describes its own functionality through a WSDL file.
(2) A Web service communicates with other applications via XML messages.
(3) A Web service uses a standard network protocol such as HTTP.
WSDL
A WSDL file provides a description (written in Web Service Description Language) of how the Web service is operated and how other software applications can interface with the Web service. Think of a WSDL file as the instruction manual for a Web service explaining how a user can draw on the resources provided by the Web service. WSDLs are generally publicly accessible and provide enough detail so that potential clients can figure out how to operate the service solely from reading the WSDL file. If a Web service translates English sentences into French, the WSDL file will explain how the English sentences should be sent to the Web service, and how the French translation will be returned to the requesting client.
XML and SOAP
XML messages provide the common language by which different applications can talk to one another over a network. To operate a Web service a user sends an XML message containing a request for the Web service to perform some operation; in response the Web service sends back another XML message containing the results of the operation. Typically these XML messages are formatted according to SOAP syntax. SOAP, an acronym for Simple Object Access Protocol, specifies a standard format for applications to call each other's methods and pass data to one another. Note that other non-SOAP forms of XML messages are possible, depending on the specific requirements of the Web service. But, in any case, the sort of XML message and the specific syntax required can be found in the WSDL file, making the Web service generally available to any client application capable of sending and receiving the appropriate XML messages.
HTTP
To make it accessible to other applications across networks, such as the Internet and in-house intranets, Web services receive requests and send responses using widely used protocols such as HTTP (HyperText Transfer Protocol) and JMS (Java Message Service).
Web Service Architecture
The following illustration shows the relationship between a Web service (in the center), its client software applications (on the left), and the resources it uses, including databases, other Web services, and so on (on the right). A Web service communicates with clients and resources over standard protocols such as HyperText Transfer Protocol (HTTP) by exchanging XML messages. The WebLogic Server on which the Web service is deployed is responsible for routing incoming XML messages to the Web service code that you write. The Web service exports a Web Service Description Language (WSDL) file to describe its interface, which other developers may use to write components to access the service.

Other Characteristics of Web Services
The following characteristics of Web services make them well suited for creating integrated systems on the Internet or intranets.
Reusable
Just like other component technologies, once you have written code and exposed it as a Web service, you or others may use that code again and again from various applications. Once you've written and tested your code, it's easy to make use of it in new applications. Because Web services use standard XML protocols, these components can be consumed by a much wider variety of users than with previous component based technologies.
Flexible
Because Web services communicate using extensible XML documents (instead of small pieces of data), they can more easily accommodate changing data and content over time. This also encourages packaging may activities into a single method call over the network. This greatly improves the efficiency of your applications, especially over high-latency networks such as the Internet or corporate WANs (Wide Area Networks).
Standards-Based
Web services are built on standard technologies such as HTTP and XML. All Web service messages are exchanged using a standard XML messaging protocol known as SOAP (Simple Object Access Protocol), and Web service interfaces are described using documents in the WSDL (Web Services Description Language) standard. These standards are all completely agnostic of the platform on which the Web services were built.





