Introduction to Web services technologies
Web Services Introduction
Before understanding why web services are popular or so important, you should first assess ‘What is Web Services, what’s its use and how does it work?’ The nature and functionality of web services have made it very popular. Nowadays, our business systems have matured, transparent and more logical and high tech, and all for these are because of web services.
Definition
Web services are the amalgamation of eXtensible Markup Language (XML) and HyperText Transfer Protocol HTTP that can convert your application into a Web-application, which publish its function or message to the rest of the world.
In other words, we can say, web services are just Internet Application Programming Interfaces (API) that can be accessed over a network, such as Internet and intranet, and executed on a remote system hosting the requested services.
Web-applications are simple applications that run on the web. Web services are browsers and operating system independent service, which means it can run on any browser without the need of making any changes. Web Services take Web-applications to the Next Level.
The World Wide Web Consortium (W3C) has defined the web services. According to W3C, “Web Services are the message-based design frequently found on the Web and in enterprise software. The Web of Services is based on technologies such as HTTP, XML, SOAP, WSDL, SPARQL, and others.”
The Elements of Web ServicesWeb services use XML to code and to decode data, and SOAP to transport it (using open protocols). Besides these, HTTP, Web Services Description Language (WSDL), Universal Description, Discovery and Integration (UDDI), and SPARQL are the elements of Web Services.
To understand clearly about Web Services, it is mandatory to have some brief knowledge of web services elements.
HTTP
HyperText Transfer Protocol in short HTTP is the most widely used protocol by World Wide Web. It defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
One of the shortcomings of HTTP is that it is a stateless protocol, which means each command is executed independently, without any knowledge of the commands that came before it. This shortcoming has been resolved in new technologies includes ActiveX, Java, JavaScript and cookies.
Simple Object Access Protocol (SOAP)
SOAP is a simple XML-based protocol that allows to communicate applications information over HTTP without the dependency of OS platform. SOAP uses HTTP and XML as the mechanisms for information exchange.
Universal Description, Discovery and Integration (UDDI)
Universal Description, Discovery and Integration in short UDDI is a web based distributed directory like traditional phone book's yellow and white pages that enables businesses to list themselves on the Internet and discover each other. It defines a registry service – a Web service that manages information about service providers, service implementations, and service metadata – for Web services and for other electronic and non-electronic services.
The service providers can use UDDI to advertise the services they offer while service consumers can use UDDI to discover services.
Web Services Description Language (WSDL)
The WSDL refers to Web Services Description Language, is an XML based protocol used for sending and receiving the information through decentralized and distributed environments. WSDL is an integral part of UDDI that was developed jointly by Microsoft and IBM.
It defines what services are available in its Web service and also defines the methods, parameter names, parameter data types, and return data types for the Web service. The WSDL document is quite reliable and applications that use web services accept it
SPARQLSPARQL refers to SPARQL Protocol and RDF Query Language is an RDF query language that defines a standard query language and data access protocol for use with the Resource Description Framework (RDF) data model. It works for any data source that can be mapped to RDF. SPARQL allows a query to be consisted of triple patterns, conjunctions, disjunctions, and optional patterns. It is standardized by the RDF Data Access Working Group (DAWG) of the W3C, and is considered a key semantic web technology.
Uses of Web ServicesWeb services are a set of tools that can be used in a number of ways most commonly in three styles:
- Remote Procedure Calls
- Service-oriented architecture
- Representational state transfer
Moreover, it is also used as Reusable application-components and Connect existing software.
Remote procedure calls (RPC)The Remote procedure calls Web services present a distributed function call interface, which is familiar to many developers. Typically, the basic unit of RPC Web services is the WSDL operation.
Service-oriented architecture (SOA)Under Service-oriented architecture (SOA) Web services is used to implement an architecture in which the basic unit of communication is a message, rather than an operation. This is often referred to as "message-oriented" services. Major software vendors and industry analysts support the SOA Web Services. Representational state transfer (REST)
The Representational State Transfer (REST) Web Services attempts to describe architectures based on REST can use WSDL to describe SOAP messaging over HTTP, which defines the operations. REST describes operations, can be implemented as an abstraction purely on top of SOAP or can be created without using SOAP at all.
In Reusable application-components uses Web Services offers most frequently used services like currency conversion, weather reports, language translation and much more.
In Connect existing software, Web Services offers you to exchange data between different applications and different platforms. In this type of uses, you can solve the interoperability problem by giving different applications a way to link their data.
Now, you have assessed why web services is so popular and why it is widely in use.
In this section we introduced you with the Web services. In next section you will learn about the importance of Web services.