Smart-Cloud: A Framework for Cloud Native Applications Development
Loading...
Authors
Al Kiswani, Jalal H. A.
Issue Date
2019
Type
Dissertation
Language
Keywords
Cloud Applications , Cloud Computing , Cloud Software Engineering , Model Driven Development , Modern Software Architecture , Software Product Lines
Alternative Title
Abstract
The development of modern software applications requires the adoption of cutting-edge techniques, technologies, frameworks, tools, and infrastructure. Even though there are many options to choose in every category, the common characteristics are faster-delivery, lightweight and scalable applications, and lower cost. In addition, the automation of testing, deployment, and operations have become significant. All of these new characteristics would not be possible without Cloud-Computing, where services are delivered in three different flavors, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). However, developing high-quality cloud-based software applications that exploit the full benefits of cloud computing is challenging and costly, since it requires a long learning curve and it is challenged by the lack of expertise. In this dissertation, we propose Smart-Cloud, a framework for developing high-quality cloud applications. The primary goals of the framework are to enable the development of such applications to be more rapid, efficient, reliable, and straightforward. Smart-Cloud consists of a novel combination of reusable components that includes API's, services, and application framework. These components were designed and developed using cutting-edge architectural styles, best practices, and patterns such as the microservices architectural style and the twelve-factor-app. The framework adopts the metadata-driven design to enable dynamic and static generation of single artifacts, end-to-end features, and full applications. Moreover, it consists of a cloud-based platform that utilizes the model-driven development approach to enable the use of the framework without writing code. The framework also follows the software product lines approach of enabling users to develop new projects efficiently. Furthermore, a PMS case study is presented, which is a publication management system developed using the framework without writing any code. Moreover, we discuss the results of the user study that we conducted with 36 experienced professionals from industry and academia, who assessed the framework and provided their evaluation and feedback.