Web Services – An Introduction
Today the Internet connectivity is increasing the day by day. Earlier the connectivity was limited only to the computers that were using same hardware and software technologies. But this limited functionality was insufficient to fulfill the ever-growing needs. So there was necessity of such kind of a system can allow inter platform communications, or I can say that the communications should be independent of the Operating Systems and Programming Languages. To address this issue the concept of web services was introduced.
A web service has list of methods and procedures that can be used by any of the applications irrespective of the programming languages, OS, hardware used to develop them. Any type of applications can access the functionality provided by the web service and such functionality is called web methods or web APIs.
A web service allows the communication via internet standards XML and HTTP.Thus I, can say that any computer that has an access to the internet can have access to the web service. Once the web service is deployed on the Internet it can be used by any of the clients using HTTP and XML. There can be a web service, which provide the details of any person based on its social security number. This service can be readily available to any clients who need to access it.
The fundamental requirements for a web service are listed as under.
- A common format for data representation so that the communication or data exchange should be platform agnostic.
- A standard specification for sending messages to web service and receiving responses from web services.
- A standard format to describe a web service.
- A standard for publishing and discovering web services enabling applications to access them.
The various requirements described above are based on the open standards such as XML, SOAP, WSDL and UDDI.
- Since XML (eXtensionable Markup Language) is considered as cross platform standard for transferring data over Internet because it is understand by any hardware and software. The XML also describes the data.
- In order to communicate there must be a common protocol to exchange the information. SOAP (Simple Object Access Protocol) is Microsoft implementation, responsible for transporting messages between network applications and includes protocols such as HTTP, HTTPS, SMTP and MIME. It uses the XML for information exchange. The messages received or returned by SOAP are called Request and Response envelopes. These are strictly based on XML and described in WSDL for that web service.
- WSDL (Web Services Description Language) describes, publicly available methods provided by the web service. The information it provides such as the name of methods, parameters passed to the web services and the values it returns. It is a standard for describing the web service methods. WSDL is a XML format that is used to describe web services. The following are the elements of WSDL.
- definitions: This is the root element and has web service name and its target namespace.
- types: This element defines the data types used by the web services. WSDL uses W3C XML Schema syntax to define data types.
- message: This describes the request and response messages.
- portType: It is most important element of web service. This defines the operations such as the input and output/Request and Response messages involved.
- bindings: In bindings element we define the way messages are transported i.e. binding style and transport protocol.
- documentation: It will provide the brief description of the service.
- UDDI (Universal Description, Discovery and Integration) provides a mechanism for clients to dynamically discover services available. When a service provider wants to make a web service publicly available it registers it in UDDI directory and provides WSDL for describing the web service.
Nice post but quite surprising since you're talking about SOAP webservices and this space is about RESTful webservices 🙂