A Web Service is an application that can be described, published, located, and called through a network, usually the Internet. It combines the best aspects of development based on components and the Web.
Like components, Web Services are features located within a black box, and can be reused without worrying about how were they implemented. Unlike the present components technology, they are not accessed through specific protocols of the object model such as RMI, DCOM, or IIOP; they are accessed using web protocols such as HTTP and XML.
The Web Services interface is defined in terms of the messages that they accept and return; thus, Web Services consumers can be implemented in any platform and in any programming language; they must just be able to create and consume the messages defined by the Web Services interface.
SOAP is a protocol for information exchange in a decentralized and distributed environment. It is the most used protocol to develop information exchange in the Web Services model. It is based on XML and it can be potentially used in combination with a variety of communication protocols; the most used of these protocols is HTTP. Thus, HTTP is used to transport information and XML to represent this information.
The complete protocol can be found at http://www.w3.org/TR/soap
WSDL (Web Services Description Language) is an XML based language used for Web Services. It has been provided by the W3C for standardization.
A file with WSDL format provides information on the different methods (operations) provided by the Web Service, it shows how to access them and what formats should have those messages to be sent and received. It is like a contract between the service supplier and the client, where the supplier assumes the compromise to provide certain services only if the client sends a requirement with a specific format. This is the principal document at the time of documenting a Web Service, but it may not be the only one. In most cases it is advisable to accompany this document with a document written in a natural language, providing information on what does each method provided by the Web Service do, as well as examples such as the SOAP messages the service accepts and responds to.
To sum up, you can say that a WSDL file describes the following:
· Messages that the service accepts and messages that the service responds to.
· Protocols that the service supports.
· Where to send the messages.
Web Services with GeneXus