It is not always that all available papers are found. In practice, a research group always tries to find as much studies as possible, but after publishing the paper, the results and catalog may rapidly become obsolete. In an ideal scenario, it would be much more useful to keep a Wiki, like the one maintained by Cloud Standards 16 and allow authors of new solutions to update the list and present their approaches to the community.
Despite that observation, in this work it would be impractical to describe all the solutions found. So we only included those that were more referenced in previous research papers we found Grozev and Petcu also present catalog of solutions.
- Crazy Shortcut Quilts: Quilt As You Go and Finish in Half the Time!?
- The Encyclopedia of Human-Computer Interaction, 2nd Ed. | Interaction Design Foundation!
- The 17th International Conference on Intelligent Software Methodologies, Tools, and Techniques.
We tried to categorize the solutions according to the observations discussed in RQ3. Standardization: according to Armbrust et al. However, although standardization is important, its success depends on adoption. This means that cloud providers must all agree and follow a standard. As discussed in Section 5. For this reason, in determined contexts, standards may not be the best solution.
Adopting a standard can also lead the consumer to become locked-in in selected one. There are so many standards that even choosing one may become a challenge. Thus, the effort required to choose one standard should not be disregarded. Abstraction Layers: some initiatives are trying to achieve cloud interoperability through abstraction layers. This consists in abstracting some common feature of each cloud provider and offering a high level layer to make the development more platform-dependent.
- Algorithms Unplugged.
- Publications – Dr David Parsons.
Open protocols: this strategy is more focused on a communication protocol between the platforms. Model-driven approaches: despite the advances of software development techniques, concerns about reuse, productivity, maintenance, documentation, validation, optimization, portability and interoperability are still under discussion.
MDE aims at solving some of these issues Kleppe et al. Thus, models are now first-class citizens, and transformation mechanisms are used to generate code from them, reducing development effort, increasing portability and interoperability of software systems France and Rumpe Sharma and Sood present a model-driven approach for interoperability in SaaS Software-as-a-Service. Each level can be composed by one or more models to specify the structural, functional and behavioral features of a system.
For PIMs, a formal definition of the operations offered by the service is used, which can be accessed through an interface that must later be composed with other services to build a complete system. Business rules are specified through the declaration of restrictions, pre-conditions and post-conditions, and invariants in Object Constraint Language OCL. It also helps administrators to monitor the services and measure their quality.
SOA-based solutions: there are some strategies based on Service-Oriented Architecture for cloud interoperability. The system enables management, monitoring and migration through the interconnection between different PaaS providers that share the same technology.
The main idea behind this solution is to facilitate developers during search, deployment and governance of PaaS applications to better meet their demands. Semantic algorithms implemented in Cloud4SOA allow management of data and applications. They enable portability between PaaS that use same technologies but have different APIs and data models Zeginis et al. In practice, Cloud4SOA is more focused on portability concepts. It is a vertical interoperability strategy targeting hybrid clouds Petcu It offers an abstraction layer and applies web semantic to the implementation its interfaces and components Petcu In short, this solution is a PaaS that allows development, configuration and management of applications running on IaaS Petcu We found a previously published work on evaluation models for interoperability Rezaei et al.
However, the authors conclude that these existing interoperability evaluation models are not applicable to cloud computing. We too, could not find any evaluation model for cloud interoperability in the selected studies. This may suggest an open challenge to be addressed in the future. Such an evaluation model for cloud interoperability could be a good contribution to this area of research.
WEB TECHNOLOGIES: CONCEPTS METHODOLOGIES TOOLS AND APPLICATIONS
We believe Rezaei et al. Due heterogeneity of interoperable cloud services, their usage scenarios and requirements, we believe only one model for evaluating is not enough. It is needed to propose many models, each one aligned with the context of interoperability strategy.
It may be the case that some evidence was left out of this research. Industry initiatives often experience real advancements in the field without necessarily bothering about publishing papers or reports. The following paragraphs highlight the major findings of this study. Definitions In this work, we found that many definitions have been proposed for cloud interoperability, but none is yet established and well accepted by the community.
Indeed, there is no consensus about its scope, as they focus on different perspectives of interoperability. We observed that interoperability is often associated with many of the advantages of the cloud model. Therefore, we need a more precise and specific definition, aligned to how interoperability has been implemented in practice.
Our definition embraces the idea of multiple cloud providers to allow their combination in building improved solutions, taking advantage of each provider offerings. Concepts We believe that most of the identified concepts emerged from four key ones: inter-cloud, cloud federation, multi-cloud and cloud broker. Classification Although some solid concepts and strategies have been implemented in practice, there is no well-established categorization.
Database Technologies: Concepts, Methodologies, Tools, and Applications - PDF Free Download
We presented the categorizations and their perspectives found in the literature. We believe it would be useful to i define such classifications more rigorously and ii offer a mapping between the classification and the solution. Requirements and usage scenarios Many requirements for interoperable solutions were identified by Petcu Although many of them have been implemented in interoperable solutions in practice, we believe this topic needs to be further explored, as she does not inform about the origin of those requirements nor does she discuss the methodology followed to perform the study.
Mapping requirements, implementations and possible solutions would be valuable for the software engineering community. A more solid empirical work about requirements for cloud and cloud interoperability is needed. Solutions We found many research papers related to this, some of them cataloguing solutions for cloud interoperability.
Some of these papers, discussed in Section 8 , highlight the most referenced solutions.
Mobile Computing: Concepts, Methodologies, Tools, and Applications
While there are many solutions in the literature, there is no evidence that these solutions are being highly adopted in industry. In general, industry is still in the adoption phase, as suggested by many of the works studied here. Given that adoption and consequent migration is still a challenge, interoperability has not yet received the deserved attention, as it is a concern that will be felt further down the road. Nonetheless, new solutions, proposals, case studies and experience reports should be kept on the research agenda. The more case studies available, the more confident researchers and practitioners will become regarding the benefits of cloud interoperability, and the validity of the research.
Evaluation models As solutions are still under investigation, it is not surprising that evaluation models do not yet exist. Some solutions were evaluated in one way or other e. All the research topics highlighted here must be further explored and research needs to be stimulated to promote the advancement of the field. Many solutions and standards diverge from each other, while others are characterized as scientific proposals aiming at solving the problem.
However, in their majority, they are not straightforward and stable enough to be accepted by industry. In conclusion, the lock-in problem remains. Approaches to avoid Lock-In: Lock-in is still a big problem in cloud computing in general. Approaches for this problem need to be more explored and presented. This problem and dynamic nature of cloud technologies lead to solutions to be non-interoperable.
There is no established standard, in practice many enterprises have a conservative profile and adopt technologies only when they become established and highly adopted in the market. Interoperability evolution models: as we presented in question RQ6 , existing evaluation models are not applicable to cloud computing. We believe one unique interoperability evaluation model that fits in Cloud computing in general is not possible.
As we presented in RQ6 , interoperability can be viewed in many perspectives. Thus, an interoperability evaluation model according each one is needed. Future research in this direction should consider each context of interoperability, including different service and deployment models. Case studies on Cloud interoperability: Organizations are normally afraid to adopt new technologies until relevant success cases are presented. In this sense, to reinforce the benefits of the cloud interoperability and presented solutions, to show the importance of this paradigm, and its potential to revolutionize the market, it would be interesting to have a large number of case studies.
The literature already has many examples of such efforts. Community should continue to publish such type of results, and case studies and experience reports should always be on the agenda of software engineering researchers.