What are web services? #
Web services provide a standardised way for different applications to communicate with each other no matter which platform or framework they operate on.
Web services involve a client-server architecture, where the client sends a request to the server and the server returns a response.
They are therefore used for a variety of purposes, such as retrieving data from remote databases, accessing remote applications and integrating disparate systems.
Components of web services #
Web services are a collection of protocols and transport methods that enable the querying and retrieval of data from one application to another, such as a client, a server or another web service.
Information is accessed and shared via a web-based interface over HTTP/HTTPS (Hypertext Transfer Protocol / Secure HTTP) using open standard protocols and technologies, including XML, SOAP, REST, WSDL and UDDI.
- XML (Extensible Markup Language) is a text format containing codes or tags that describe the digital document being sent over the internet, including how it should be structured, stored and transported. It is similar to HTML which is used by web pages.
- WSDL (Web Services Description Language) uses XML to describe the operations and messages in a web service – what is included and how to connect.
- UDDI (Universal Description, Discovery and Integration) is an XML, web-based directory that enables businesses to publish and search for web services on the internet. Each entry describes what is available in the application.
- REST (Representational State Transfer), also known as RESTful, was developed to make it easy to access web services. As well as using XML, REST can also use CSV (Command Separated Value), JSON (JavaScript Object Notation) and RSS (Really Simple Syndication) data formats.
- SOAP (Simple Object Access Protocol) is a technology that helps transfer the data. It sends HTTP (Hypertext Transfer Protocol) requests to an application’s endpoints to create, access and manipulate resources – which can include query results, records, metadata etc.
SOAP web service #
SOAP forms the core of many web service technologies. It was developed as a standard for designing web services, independent of platform, language and transport. SOAP is supported by WSDL, which is used to define and locate web services, and UDDI, a directory service that stores information about web services and WSDL definitions.
SOAP provides a method to extend application protocols, such as HTTP, and to build new protocols that can be channelled through HTTP. SOAP has the same basic structure of header and body as other standard internet message formats, such as HTML and XML.
SOAP services publish a WSDL file, which describes the operation and parameters of the service. The web service generally provides this on their website.
REST web service #
As an alternative to using SOAP standards and protocols, web services can be based on REST design.
Unlike SOAP, REST is not a standard. It is a set of guiding principles for designing software architecture for networked systems as a platform for distributed computing.
REST is an attempt to simplify web services. It aims to avoid the complexity of multiple standards and to be less tied to proprietary middleware than SOAP or WSDL services.
REST design is more straightforward to understand and use than SOAP. With REST web services every REST resource is represented by a URL. This makes it easy to write and configure clients for REST web services.
REST requests are stateless. HTTP requests from clients are independent of other requests and complete in themselves. They contain all the data the server needs to act on them, without the server needing to keep track of context or variables or to pass these on to other servers.
This is important on the internet, where large clusters of servers may pass requests around to achieve efficiency through load-balancing. When the HTTP requests are self-contained, there is no need for servers to synchronise or query external applications, and as a result web performance improves. This makes REST services highly efficient.
Web service connector #
A dedicated web service connector tool for an integration platform can be used to integrate with a wide number of web services, making it possible to automate the passing of data requests and retrieval to and from the website.
Web application integration enables communication with a wide range of web services — including SOAP and REST protocols – as well as of working with XML and JSON formats, allowing you to post to and retrieve data from your business application.
If required, you can use a Web Services Description Language (WSDL) file to describe the web service used. Supported operations include GET, POST, PUT and DELETE. You can control any header or authentication requirements, can even join together multiple operations to form a single web call. The response received back from a web call can be directly passed to other steps in a task, which can be useful for data integration type scenarios.