TL;DR: The authors propose to leverage Model-Driven Architecture to specify the software services in the cloud using platform-independent model (PIM), from which one or more platform-specific models (PSM) can be derived using automated transformation tools.
Abstract: Cloud computing, an emerging computing paradigm, is still in its stage of infancy. It can be considered as an amalgam of a variety of legacy and evolving technologies and concepts such as distributed computing, grid computing, virtualization, service-oriented architecture, software-as-a- service etc to mention a few. It aims at optimally utilizing the distributed, dynamically-scalable and often virtualized resources such as processors, storage and software, which are made available to the users as services over a network, on a pay-per-use basis. These services can be easily accessed by the user through an interface, as simple as a browser. But as the technologies are in a state of flux, developing the software services in the cloud directly using existing technologies will make them obsolete as and when new technologies evolve. Model-driven Architecture (MDA), an initiative by Object Management Group (OMG), is an open, vendor-neutral approach that supports the complete software development process with the modeling activity. In this paper, the authors propose to leverage Model-Driven Architecture to specify the software services in the cloud using platform-independent model (PIM), from which one or more platform-specific models (PSM) can be derived using automated transformation tools. The software services thus yielded will be more robust, flexible and agile in the wake of changing technologies.
TL;DR: The authors endeavour to explore the MDA approach for developing cloud software applications so that the ensuing software solutions are more robust, flexible and agile, in the wake of constantly evolving technologies.
Abstract: Cloud computing is a leading edge computing paradigm in which massively scalable and dynamically configured resources are offered remotely as services, over a network. With rapid transitions in hardware and software technologies, as witnessed in the recent years, the biggest challenge posed to the IT industry is technology obsolescence. Consequently, there arises a need for a software development approach that could mitigate the undesirable effects of technology change. The Model Driven Architecture (MDA) approach to software development becomes an obvious choice. In this approach, the models drive the process of software development. These models are specified at different levels of abstraction and automated tools are used for model-to-model and model-to-code transformations between the levels. In this paper, the authors endeavour to explore the MDA approach for developing cloud software applications so that the ensuing software solutions are more robust, flexible and agile, in the wake of constantly evolving technologies.
TL;DR: This paper presents an MDA-based model-driven approach to develop cloud software services and exhibit interoperability between them, and indicates that Model-driven Architecture (MDA) becomes a preferred methodology for developing cloudSoftware services.
Abstract: computing is a promising computing paradigm wherein the resources are made available to the clients as services, over high bandwidth networks. Cloud SaaS refers to a cloud computing service model in which the software applications are offered as services. These cloud software applications may require interacting with each other in order to accomplish a task. Thus, interoperability among services is an important issue for consideration in cloud computing. With the hardware and software technologies constantly evolving at a tremendous pace, the IT industry is persistently faced with the challenges of technology obsolescence. These changing technologies have more serious consequences in B2B context. Therefore, it becomes essential to promote a technology-agnostic software development approach that could alleviate the undesirable effects of technology change. In this perspective, Model-driven Architecture (MDA) becomes a preferred methodology for developing cloud software services. This paper presents an MDA-based model-driven approach to develop cloud software services and exhibit interoperability between them.
11 citations
Additional excerpts
...An MDA based development of cloud SaaS (application) will enable defining these services in a technology-independent manner and will play a significant role in improving the quality of cloud software services, making them more robust, flexible and agile [13, 14, 15, 16]....
TL;DR: An MDA-based approach for developing cloud software applications making them more robust, flexible and agile, in the wake of changing technologies is illustrated.
Abstract: Cloud computing is a new and upcoming computing model where the computational resources are offered as services, remotely over a network. The software applications running as cloud SaaS are targeted on different platforms. The constantly evolving software technologies may result in the obsolescence of the legacy applications. It, therefore, becomes an essential requisite to adopt a software development methodology that could alleviate the undesirable effects of technology change. The Model Driven Architecture (MDA) approach becomes the obvious choice where the models drive the software development process. These models are defined at different levels of abstraction; and automated tools are used for model-to-model and model-to-code transformations between the levels. In this paper, the authors illustrate an MDA-based approach for developing cloud software applications making them more robust, flexible and agile, in the wake of changing technologies.
TL;DR: This paper presents an approach to deploy scalable business service compositions based on the concept of an extensible hierarchy of virtual organisations that allows capturing commonalities and variations of relationships between business services while its extensibility allows scale-out/in the SaaS application instance.
Abstract: Software-as-a-Service (SaaS) is a software delivery model gaining popularity. Service Oriented Architecture (SOA) is widely used to construct SaaS applications due to the complementary characteristics in the two paradigms. Scalability has always been one of the major requirements in designing SaaS applications to meet the fluctuating demand. However, constructing SaaS applications using third-partybusiness services raises additional challenges for the scalability of the application due to the partner services' variability and autonomy. Any approach used to develop scalable service-based SaaS applications that compose business services needs to consider these characteristics. In this paper we present an approach to deploy scalable business service compositions based on the concept of an extensible hierarchy of virtual organisations. The explicit representation of relationships in the organisation allows capturing commonalities and variations of relationships between business services while its extensibility allows scale-out/in the SaaS application instance.
6 citations
Cites background from "Modeling Cloud Software-As-A-Servic..."
...[17] too combine the benefits of MDA and SOA to build SaaS applications....
TL;DR: In this paper, the authors propose the CloudCost UML profile, which allows the modeling of cloud architectures and the users' behavior when they interact with the cloud to request resources, and investigate how to increase the profits of cloud infrastructures by using price schemes.
Abstract: Cloud computing has emerged as a cutting-edge technology which is widely used by both private and public institutions, since it eliminates the capital expense of buying, maintaining, and setting up both hardware and software. Clients pay for the services they use, under the so-called Service Level Agreements (SLAs), which are the contracts that establish the terms and costs of the services. In this paper, we propose the CloudCost UML profile, which allows the modeling of cloud architectures and the users' behavior when they interact with the cloud to request resources. We then investigate how to increase the profits of cloud infrastructures by using price schemes. For this purpose, we distinguish between two types of users in the SLAs: regular and high-priority users. Regular users do not require a continuous service, so they can wait to be attended to. In contrast, high-priority users require a constant and immediate service, so they pay a greater price for their services. In addition, a computer-aided design tool, called MSCC (Modeling SLAs Cost Cloud), has been implemented to support the CloudCost profile, which enables the creation of specific cloud scenarios, as well as their edition and validation. Finally, we present a complete case study to illustrate the applicability of the CloudCost profile, thus making it possible to draw conclusions about how to increase the profits of the cloud infrastructures studied by adjusting the different cloud parameters and the resource configuration.
TL;DR: This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
Abstract: Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.
TL;DR: In this article, the authors compare and contrast cloud computing with grid computing from various angles and give insights into the essential characteristics of both the two technologies, and compare the advantages of grid computing and cloud computing.
Abstract: Cloud computing has become another buzzword after Web 2.0. However, there are dozens of different definitions for cloud computing and there seems to be no consensus on what a cloud is. On the other hand, cloud computing is not a completely new concept; it has intricate connection to the relatively new but thirteen-year established grid computing paradigm, and other relevant technologies such as utility computing, cluster computing, and distributed systems in general. This paper strives to compare and contrast cloud computing with grid computing from various angles and give insights into the essential characteristics of both.
TL;DR: Leading the way to the true service-oriented enterprise, Thomas Erl demystifies the complexities of the open WS-I standards with detailed practical discussions and case studies.
TL;DR: Insight is given in what MDA means and what you can achieve, both today and in the future, thereby raising the level of maturity of the IT industry.
Abstract: From the Book:
For many years, the three of us have been developing software using object oriented techniques. We started with object oriented programming languages, like C++, Smalltalk, and Eiffel. Soon we felt the need to describe our software at a higher level of abstraction. Even before the first object oriented analysis and design methods, like Coad/Yourdon and OMT, were published, we used our own invented bubbles and arrows diagrams. This naturally led to questions like "What does this arrow mean?" and "What is the difference between this circle and that rectangle?". We therefore rapidly decided to use the newly emerging methods to design and describe our software. During the years we found that we were spending more time on designing our models, than on writing code. The models helped us to cope with larger and more complex systems. Having a good model of the software available, made the process of writing code easier and in many cases even straightforward.
In 1997 some of us got involved in defining the first standard for object oriented modeling called UML. This was a major milestone that stimulated the use of modeling in the software industry. When the OMG launched its initiative on Model Driven Architecture we felt that this was logically the next step to take. People try to get more and more value from their high level models, and the MDA approach supports these efforts.
At that moment we realized that all these years we had naturally walked the path towards model driven development. Every bit of wisdom we acquired during our struggle with the systems we had to build, fitted in with this new idea of how to build software. It caused a feeling similar to an AHA-erlebnis: "Yes, this is it," the same feeling we had years before when we first encountered the object-oriented way of thinking, and again when we first read the GOF book on design patterns. We feel that MDA could very well be the next major step forward in the way software is being developed. MDA brings the focus of software development to a higher level of abstraction, thereby raising the level of maturity of the IT industry.
We are aware of the fact that the grand vision of MDA, which Richard Soley, the president of the OMG, presents so eloquently, is not yet a reality. However some parts of MDA can already be used today, while others are under development. With this book we want to give you insight in what MDA means and what you can achieve, both today and in the future.
Anneke Kleppe, Jos Warmer, and Wim Bast
Soest, the Netherlands
January 2003
2,031 citations
"Modeling Cloud Software-As-A-Servic..." refers background in this paper
...As this approach focuses primarily on the functionality and behaviour of the software system, and not the technology in which it will be implemented, it is not necessary to repeat the process of modelling system’s functionality and behaviour each time a new technology comes along....
TL;DR: This paper develops a comprehensive taxonomy for describing cloud computing architecture and uses this taxonomy to survey several existing cloud computing services developed by various projects world-wide, to identify similarities and differences of the architectural approaches of cloud computing.
Abstract: The computational world is becoming very large and complex. Cloud Computing has emerged as a popular computing model to support processing large volumetric data using clusters of commodity computers. According to J.Dean and S. Ghemawat [1], Google currently processes over 20 terabytes of raw web data. It's some fascinating, large-scale processing of data that makes your head spin and appreciate the years of distributed computing fine-tuning applied to today's large problems. The evolution of cloud computing can handle such massive data as per on demand service. Nowadays the computational world is opting for pay-for-use models and Hype and discussion aside, there remains no concrete definition of cloud computing. In this paper, we first develop a comprehensive taxonomy for describing cloud computing architecture. Then we use this taxonomy to survey several existing cloud computing services developed by various projects world-wide such as Google, force.com, Amazon. We use the taxonomy and survey results not only to identify similarities and differences of the architectural approaches of cloud computing, but also to identify areas requiring further research.