  The evolution of Web and service technologies has led to a wide landscape of
standards and protocols for interaction between loosely coupled software
components. Examples range from Web applications, mashups, apps, and mobile
devices to enterprise-grade services. Cloud computing is the industrialization
of service provision and delivery, where Web and enterprise services are
converging on a technological level. The article discusses this technological
landscape and, in particular, current trends with respect to cloud computing.
The survey focuses on the communication aspect of interaction by reviewing
languages, protocols, and architectures that drive today's standards and
software implementations applicable in clouds. Technological advances will
affect both client side and service side. There is a trend toward multiplexing,
multihoming, and encryption in upcoming transport mechanisms, especially for
architectures, where a client simultaneously sends a large number of requests
to some service. Furthermore, there are emerging client-to-client communication
capabilities in Web clients that could establish a foundation for upcoming
Web-based messaging architectures.
