Web Services
A web service is a generic name for a software system that supports interoperable machine-to-machine (M2M) interaction over a computer network. It allows distributed software applications to communicate and exchange data over the Internet, using Web protocols. A web service is typically based on a request-response model, where a server provides a set of functions that are hosted at a network addressable location, which can be remotely accessed by clients. A web technology such as HTTP or HTTPS is used for transferring machine-readable data formats such as XML and JSON. The protocol allows software programs written in a variety of programming languages and running on a variety of platforms to exchange data in a standardized and independent manner. This independence encourages web service based applications to be loosely coupled, component-oriented, cross-technology implementations. Web services can be used alone or with other web services to carry out a complex aggregation or a business transaction.
Messaging
Asynchronous messaging is a communication method, where the sending party (also known as producer) can send a message and continue with its unrelated tasks without waiting for an immediate response from the other party (aka consumer). Unlike the synchronous request-response communication model (e.g., RESTful web services), this method eliminates the need for both communicating parties to be up and running at the time of communication. Usually, a message is placed at a third-party communication entity so that the interested subscribers can receive the message. This makes the message producer completely independent and decoupled from message consumers. It does not need to know who the consumers are, whether they are active at the moment of communication or their addresses. It just needs to know how to reach the third-party entity to store the messages.
Communication Protocols
A communication protocol allows two or more nodes of a communications system to transmit or exchange data, especially across a computer network. The protocol defines the rules, syntax, semantics and synchronization of communication and possible error recovery methods. Network protocols include mechanisms for device identification and the establishment of connections between them, as well as formatting rules that specify how packets and data are structured in messages that are sent and received. Some protocols support message recognition and data compression, designed for reliable, high-performance network communication. Protocols may be implemented by hardware, software or a combination of both. They are the backbone of the internet and other communication systems, ensuring that information is transmitted reliably and in the correct format.
Traffic Management
Modern cloud applications can be built with different architectures and technologies, but in general they expose services that can be consumed by various clients, such as Web, Mobile, Desktop and Embedded applications. Cloud services that are open to the Internet can be accessed by a large number of clients and therefore incoming network traffic must be managed and controlled to ensure high availability, scalability, and performance. Some of the clients that try to access these services can be unauthorized or even malicious. In order to protect the services against such attempts, access control and security measures must be applied.
Application traffic management (ATM) refers to techniques for intercepting, analyzing, decoding, and directing web traffic to the optimum resources based on specific policies. Also called network traffic management, it allows network administrators to significantly increase overall network application performance by routing and filtering packets based on content in their payloads or headers. By applying these standards for security, scalability, availability, and performance to any IP-based application users can save costs and improve efficiency.