Message Communication Protocols for connected devices:
• MQTT (Message Queue Telemetry Transport)-It was created about 15 years back for monitoring remote sensor nodes, and is designed to conserve both power and memory. It is based on the ‘Publish Subscribe’ communication model, where a broker is responsible for relaying messages to MQTT clients. This allows multiple clients to post messages and receive updates on different topics from a central server known as the MQTT broker. This is similar to subscribing to a YouTube channel, where you get notified whenever a new video is posted. Using MQTT, a connected device can subscribe to any number of topics hosted by an MQTT broker.
SOAP-OAP (originally Simple Object Access Protocol) is a protocol specification for exchanging structured information in the implementation of web services in computer networks. Its purpose is to induce extensibility, neutrality and independence. It uses XML Information Set for its message format, and relies on application layer protocols, most often Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission.
SOAP allows processes running on disparate operating systems (such as Windows and Linux) to communicate using Extensible Markup Language (XML). Since Web protocols like HTTP are installed and running on all operating systems, SOAP allows clients to invoke web services and receive responses independent of language and platforms. SOAP provides the Messaging Protocol layer of a web services protocol stack for web services. It is an XML-based protocol consisting of three parts:
• an envelope, which defines the message structure and how to process it
• a set of encoding rules for expressing instances of application-defined datatypes
• a convention for representing procedure calls and responses
SOAP has three major characteristics:
• extensibility (security and Web Services Addressing are among the extensions under development)
• neutrality (SOAP can operate over any protocol such as HTTP, SMTP, TCP, UDP, or Java Message Service)
• independence (SOAP allows for any programming model)
As an example of what SOAP procedures can do, an application can send a SOAP request to a server that has web services enabled—such as a real-estate price database—with the parameters for a search. The server then returns a SOAP response (an XML-formatted document with the resulting data), e.g., prices, location, features. Since the generated data comes in a standardized machine-parsable format, the requesting application can then integrate it directly.
The SOAP architecture consists of several layers of specifications for:
• Message format
• Message Exchange Patterns (MEP)
• Underlying transport protocol bindings
• Message processing models
• Protocol extensibility
REST-REST (Representational State Transfer) is an architectural style for developing web services. REST is popular due to its simplicity and the fact that it builds upon existing systems and features of the internet's HTTP in order to achieve its objectives, as opposed to creating new standards, frameworks and technologies.
Advantages of REST-A primary benefit of using REST, both from a client and server's perspective, is REST-based interactions happen using constructs that are familiar to anyone who is accustomed to using the internet's Hypertext Transfer Protocol (HTTP).
An example of this arrangement is REST-based interactions all communicate their status using standard HTTP status codes. So, a 404 means a requested resource wasn't found; a 401 code means the request wasn't authorized, a 200 code means everything is OK; and a 500 means there was an unrecoverable application error on the server. Similarly, details such as encryption and data transport integrity are solved not by adding new frameworks or technologies, but instead by relying on well-known Secure Sockets Layer (SSL) encryption and Transport Layer Security (TLS).
Disadvantages of REST-The benefit of REST using HTTP constructs also creates restrictions, however. Many of the limitations of HTTP likewise turn into shortcomings of the REST architectural style. For example, HTTP does not store state-based information between request-response cycles, which means REST-based applications must be stateless and any state management tasks must be performed by the client.
HTTP Restful-In REST architectutations to represent a resource like Text, JSON and XML. JSON is now the most popular format being used in Web Services.
The following HTTP methods are most commonly used in REST based architecture.
• GET − Provides a read only access to a resource.
• PUT − Used to create a new resource.
• DELETE − Used to remove a resource.
• POST − Used to update an existing resource or create a new resource.
• OPTIONS − Used to get the
Restful Web Services-A web ser