Using XML eliminates any networking, operating system, or platform binding. So Web Services based applications are highly interoperable application at their core level.
The role of a Web Service provider is to implement web service and make it available to the web service requestor/ consumer.
These are some of the important advantages of SOAP web services:
- WS Security – SOAP defines its security known as WS Security.
- Language Independent – Its web services can be written in any programming language
- Platform Independent – Its web services can be executed on any platform.
The SOAP message refers to the data sent to the application from web services. SOAP message is an XML document which is sent through web services to provide data to the client application written in any programming language.
SOAP message sends via using hypertext transfer protocol.
These are some of the important advantages of RESTful web services:
- Fast – The Web Services are fast because there is no strict specification of SOAP. It consumes less bandwidth and resource.
- Language Independent – The web services can be written in any programming language.
- Platform Independent – The web services can be executed on any platform.
- Can use SOAP – The web services can use SOAP web services as the implementation.
- Allows different data format – The web service permits different data format such as Plain Text, HTML, XML, and JSON.
The requirement for accessing web services from any application is that should support XML-based request and response. Hence there is no need to install any app for accessing web services.
Synchronicity is used to bind the client to the execution of the service. In synchronous invocations, the client blocks and waits for the service to complete its operation before continuing. On the other hand, synchronous operations facilitate a client to invoke a service and then execute different functions.
The role of Web Service Requestor / Consumer is to utilize the pre-existing web service provided by the Web Service Provider/ Publisher. Web Service Requestor/ Consumer request the Web Service provider for the information by sending a SOAP message to the Web Service provider. Then in-Turn Web Service Publisher sends the requested information back to the requestor in the form of a SOAP message.
These are some of the important disadvantages of SOAP web services:
Slow – It uses XML format that must be parsed to be read and defines many standards that must be followed while developing the SOAP applications. So it is slow and consumes more bandwidth and resource.
WSDL Dependent – It uses WSDL and doesn’t have any other mechanism to discover the service.
The element is used as the root element of every SOAP message.
The Root element is known as the first element in the XML Document.
The envelope, in turn, separated into two parts. One is the header part and second is the body part. The header contains the routing data which stores the source and destination address of the client. So the body includes the actual data.
The tools used to test web services are:
- SoapUI tool for testing SOAP and RESTful web services
- Poster for firefox browser
- Postman extension for Chrome
The UDDI uses the language known as WSDL (Web Service Description Language).
Enlisted below are some common HTTP methods along with their functions that are supported by RESTful web services.
- GET: Read-only access to the resource.
- PUT: Creation of new resource.
- DELETE: Removal of a resource.
- POST: Update of an existing resource.
- OPTIONS: Get supported operations on the resource.
- HEAD: Returns HTTP header only, nobody.
The Service Transport Layer is used to transport messages between applications.
This layer includes Hypertext Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and newer protocols like Blocks Extensible Exchange Protocol (BEEP).
The following list specifies the features of SOAP:
- SOAP is a communication protocol.
- SOAP communicates between applications.
- SOAP is a format for sending messages.
- SOAP is designed to communicate via Internet.
- SOAP is platform independent.
- SOAP is language independent.
- SOAP is simple and extensible.
- SOAP allows you to get around firewalls.
- SOAP developed as a W3C standard.
The web services consist of four layers, as mentioned below:
This layer is the first layer in the web services protocol stack used in transporting XML files between various clients applications. Protocols used in the layer is as follows:
- HTTP (Hypertext transfer protocol)
- SMTP (Simple Mail Transfer Protocol)
- FTP (File Transfer Protocol)
- BEEP (Block Extensible Exchange Protocol)
This layer is the second layer in the web services protocol stack based on XML model where messages are encoded in common XML format which can be understandable to other client applications. This layer includes the following protocols:
- XML – RPC
- SOAP (Simple Object Access Protocol)
This layer provides the service description to the public interface like the location of web service, Available functions, And the data types for XML messaging. This layer only includes one language:
- WSDL: WSDL stands for Web Service Description Language.
This layer in the Web Services protocol stack is used to publish or finding web services over the web. This layer includes:
UDDI (Universal Description, Discovery, and integration).
In Web service, an XML is used to tag the data, format the data.
These are the steps involved in accessing a web service:
- Client application bundled the information and into a SOAP message.
- SOAP message sends to the server as a body of Hyper-Text markup language using POST method.
- Web service unpacks the SOAP message and converts it into a command understandable by the application.
- Application processes the information and in turn bundled the info and send it back to the client as a SOAP message.
- A Client then unpacks the SOAP message to obtain the results.
These are some of the important advantages of web services:
Interoperability: With the help of web services, an application can communicate with other application developed in any language.
Reusability: We can expose the web service so that other applications can use it.
Modularity: With the help of web service, we can create a service for a specific task such as tax calculation.
A Standard protocol for every application program: Web services use standard protocol so that all the client applications written in different languages can understand it. This Standard protocol helps in achieving cross-platform.
Cheaper cost for communication: Web services uses SOAP over HTTP so that anybody can use existing internet for using web services.
The Service Description layer is used to describe the public interface to a specific web service. Currently, service description is handled via the Web Service Description Language (WSDL).
The WSDL stands for Web Services Description Language. It is an XML document containing information about web services such as method name, method parameter. The Client needs a data dictionary which contains information about all the web services with methods names and parameters list to invoke them for the web services. The Web Service Description Language bridge up this gap, by providing all necessary information to the client.
Some Important elements used in Web Services Description language are as follows:
- <message>: The message element in WSDL is used to define all different data elements for each operation performed by the web service.
- <portType>: The port type element is used to determine the operation which can be performed by the web service. This operation can have two messages one is input and the second one is the output message.
- <binding>: This element contains the used protocol.
The web service framework includes three different layers.
The roles of these layers are:
- Service Provider: Role of Service provider is to make the web service which makes it accessible to the client applications over the Web.
- Service Requestor: Service requestor refers to any consumer of web service like any client application. Client applications are written in any language contact web service for any functionality by sending XML request over the available network connection.
- Service Registry: Service Registry is the centralized directory System which helps to locate the web services for client applications. Used to find the existing web services, as well as developers, can also create the brand new one web service also.
The Service Provider uses the interface named as ?Publish? interface of Service Registry to make the existing web services available to client applications. With all the information provided by the service registry, service requestor able to find or invoke services.
WSDL is used in web service to describe the availability of service.
The Web services facilitate various applications to communicate with each other and share data and services among themselves. Other applications can also use the web services. For example, a VB or .NET application can communicate with a Java web services and vice versa. Web services are used to make the application platform and technology independent.
Communication protocol refers to the protocols which were used to transmit information over the web. By using Transport protocols, applications from the different background can quickly communicate with each other without knowing the inside functioning of the various systems. HTTP (Hyper-Text Transfer Protocol) can be used to implement a SOAP message whereas FTP (File Transfer Protocol) can be used as the reliable transport mechanism. SMTP and BEEP can also be used for transport mechanism.
SOAP message is not tied to any protocol. It can use any of the open Transport protocol.
Following is a list of main features of web services:
- It is available over the Internet or private (intranet) networks.
- It uses a standardized XML messaging system.
- It is not tied to any one operating system or programming language.
- It is self-describing via a common XML grammar.
- It is discoverable via a simple find mechanism.
The Service Discovery layer is used for centralizing services into a universal registry and providing easy publish/find functionality.
Currently, service discovery is handled via Universal Description, Discovery, and Integration (UDDI).
The UDDI stands for Universal Description, Discovery and Integration. It is a XML based framework for describing, discovering and integrating web services. It contains a list of available web services. WSDL is the part of UDDI. More details..
The RPC is Remote Procedure Call. It is the method used for calling a procedure or function available on any remote computer on the web.
XML-RPC refers to a simple protocol used to perform RPCs by using XML messaging. It is an excellent tool for connecting different environments and also establishing connections between wide varieties of computers.
A consumer of a web service is not tied to that web service directly. The web service interface can change over time without compromising the client’s ability to interact with the service. A tightly coupled system implies that the client and server logic are closely tied to one another, implying that if one interface changes, the other must be updated. Adopting a loosely coupled architecture tends to make software systems more manageable and facilitates simpler integration between different systems.
The terms “Platform independent” and “Diverse Application” were related to each other because XML-RPC uses HTTP for transporting SOAP messages over the web. The HTTP is a universal standard protocol for exchanging information on the Web. Hence, it leads to Cross Platform support/ Platform independent. So because it is Platform independent, it leads to the diverse application capable of accessing the web services.
The SOAP stands for Simple Object Access Protocol. It is an XML-based protocol for accessing web services. It is platform independent and language independent. By using SOAP, you can interact with other programming language applications. More details..
The Remote procedure calls refer to the calls made to the methods which are hosted by related web service.
The REST stands for Representational State Transfer. It is an architectural style. It is not a protocol like SOAP. More details..
The BEEP stands for Blocks Extensible Exchange Protocol. BEEP is an alternative to HTTP and FTP. BEEP is determined as building new protocols for the variety of applications such as instant messaging, network management, file transfer. It is termed as new Internet Engineering Task Force (IETF) which is layered directly over TCP.
Some of the Build-in features of BEEP protocol are listed below:
- Error handling
- Initial Handshake Protocol