Technologies for Web and Cloud Service Interaction: a Survey
Total Page:16
File Type:pdf, Size:1020Kb
Service Oriented Computing and Applications manuscript No. (will be inserted by the editor) Technologies for Web and cloud service interaction: a survey Harald Lampesberger Received: date / Accepted: date Abstract The evolution of Web and service technologies 1 Introduction has led to a wide landscape of standards and protocols for interaction between loosely coupled software components. The need to share network-based resources and use remote Examples range from Web applications, mashups, apps, and functionality in a program without dealing with low-level mobile devices to enterprise-grade services. Cloud comput- network access has fueled discussions in the 1970s [263, ing is the industrialization of service provision and deliv- 290,369] and ultimately led to the remote procedure call ery, where Web and enterprise services are converging on (RPC) framework by Birrell and Nelson [37] in the 1980s. a technological level. The article discusses this technologi- RPC became a driver in enterprise systems; location trans- cal landscape and, in particular, current trends with respect parency of procedures eases code reuse but requires tight to cloud computing. The survey focuses on the communi- coupling, e.g., a unified type system. In the 1990s, the prin- cation aspect of interaction by reviewing languages, proto- ciples of object orientation and RPC gave raise to distributed cols, and architectures that drive today’s standards and soft- objects [222]. Tight coupling and interaction complexity in ware implementations applicable in clouds. Technological RPC and distributed objects affected the scalability of enter- advances will affect both client side and service side. There prise systems, and at the end of the 1990s, message passing is a trend toward multiplexing, multihoming, and encryption between so-called services became an alternative enterprise in upcoming transport mechanisms, especially for architec- architecture with relaxed coupling and easier scalability. To- tures, where a client simultaneously sends a large number of day, middleware for message queuing and the concept of requests to some service. Furthermore, there are emerging service-oriented architecture (SOA) [212] dominate large- client-to-client communication capabilities in Web clients scale distributed enterprise systems. that could establish a foundation for upcoming Web-based messaging architectures. In the meantime, Berners-Lee [360] laid out the foun- dation for a World Wide Web of nonlinear text documents, i.e., hypertext, exchanged in a client-server architecture over Keywords Web technology · Web services · Cloud arXiv:1408.2751v3 [cs.NI] 9 Mar 2015 the predecessor of today’s Internet in 1989. The first Web services · Service architecture · Communication protocols · browser was announced end of 1990, the World Wide Web Languages · Service interaction patterns Consortium (W3C) was established in 1994, and W3C pub- lished the first Hypertext Markup Language (HTML) Rec- ommendation in 1997. Since then, the Web has evolved from H. Lampesberger Christian Doppler Laboratory for Client-Centric Cloud Computing, simple hypermedia exchange, to interactive user interfaces, Johannes Kepler University Linz, rich client applications, user-provided content, mashups, so- Softwarepark 21, 4232 Hagenberg, Austria cial platforms, and wide-scale mobile device support. Web E-mail: [email protected] technology has become pervasive and is not limited to hy- This is the author’s accepted draft. Please cite the published ver- permedia applications anymore. Standards are widely ac- sion: Lampesberger, H.: Technologies for Web and cloud service cepted, and they have contributed to the success of Web ser- interaction: a survey. Service Oriented Computing and Applications vices because protocols like the Hypertext Transfer Protocol (2015). DOI 10.1007/s11761-015-0174-1 (HTTP) are reliably forwarded over the Internet [4,253]. 2 Harald Lampesberger Cloud computing [24] can be seen as the industrializa- Service Interaction Pattern Section3 tion of service provision and delivery over the Internet using established technologies from the Web [90] and from en- terprise services [35]. The goal is to offer a service, acces- Protocol Architecture sible across devices, systems, and platforms. Interaction by communication between service consumers and providers, Language Implementation i.e., clients and services, is therefore a key aspect of service Section4 Section2 Section5 delivery. Cloud service delivery models like Platform-as-a- Service (PaaS) or Software-as-a-Service (SaaS) benefit from well-known Web standards and their wide acceptance [24, Fig. 1 The concepts and their relationships found in communication technologies also reflect in the structure of the survey 90,292]. To acknowledge this relation between Web and ser- vices technology, this article surveys the state-of-the-art and recent trends in technologies applicable in clouds. munication technologies applicable to the Web, PaaS, and SaaS are surveyed. 1.1 Scope 1.2 Motivation A survey of technologies in such a dynamic environment needs a defined scope. All technologies that allow a client This survey is motivated by ongoing research efforts in for- to interact with a service should be considered; however, the mal modeling of cloud services [48,44,292], modeling of notion of service is not precisely defined [292]. The follow- service quality [269,268], service adaptation [56], identity ing informal properties and restrictions therefore character- management [326,325], and security monitoring [159,158, ize a service in context of this work: 160] for cloud services. All these aspects need communica- tion between clients and services. Understanding the state- – Service interface. Services are considered as distributed, of-the-art in service communication is therefore necessary, network-accessible software components that offer func- e.g., for security research because an ambiguous or impre- tionality and need communication for interaction [107, cise service interface is in fact a gateway for attacks [288]. 253]. A notion of interface that accepts a certain lan- There is a rich body of literature using patterns to de- guage is therefore required. The survey is restricted to scribe service interaction on a conceptual level [1,26,25, technologies that enable communication between clients 118,378]. On the other hand, the numerous software imple- and service interfaces applicable in Web, PaaS, and SaaS mentations used in today’s services are heavily driven by cloud delivery models. continuously evolving standards and ad hoc specifications. – Heterogeneous platforms. A characteristic of service- This work aims to bridge this gap by surveying the state-of- orientation is to provide functionality and content across the-art of technologies and resort to patterns when concepts hard- and software platforms. Only technologies that em- are discussed. Patterns are appealing because they allow to brace this compatibility are considered. describe solutions in a conceptual way and can therefore – Publicly available standards. The focus is on technolo- support service integrators and scientists in understanding gies that are available to the public audience, in partic- new technologies. ular, technologies based on Internet protocols, i.e., the TCP/IP protocol suite [302], and with publicly available specifications. Specialized technologies for a limited au- 1.3 Methodology and structure dience or application, like industrial control systems, are not part of this study. The problem is approached both in top-down and bottom- – Parties. There are two participating parties or peers in up manners. In the top-down view, entities of information service interaction: a client that consumes some service are exchanged between peers, i.e., clients and services, in an offered by a provider or server, i.e., client-to-service in- agreed-upon style, i.e., interaction pattern. The article there- teraction. On a conceptual level, a service can participate fore discusses languages for encapsulation information, so also as a client to consume other services for a compo- information becomes transportable. The bottom-up view in- sition, i.e., service-to-service interaction. Furthermore, a vestigates how an agreed-upon style of interaction is actu- service can coordinate two clients to establish client-to- ally implemented in today’s networks, i.e., communication client or peer-to-peer interaction. protocols and architectures for information exchange. Fig. 1 visualizes the relationships between concepts required for In accordance with the aforementioned characteristics, service interaction. The relations and concepts have been de- the state-of-the-art and recent trends in Web and service com- rived from the extensive literature review in this article. Technologies for Web and cloud service interaction: a survey 3 Languages are fundamental for communication. A lan- by nonprofit organizations, communities, consortia but also guage defines an alphabet, syntax, and semantics to repre- enterprises. Important institutions are therefore recalled. sent information in a transportable format. Languages there- To develop industrial standards on a global scale such fore encode content, media, and information in general. Pop- as specifications for electronic communication devices, e.g., ular languages in the Web and for services are discussed in networking, the International Organization for Standardiza- Sect.2. tion (ISO) [132], the International Electrotechnical Com- Due to