Abstract
Currently, there is limited guidance on generic cloud software architecture model for designing and building cloud applications and each platform provider has different standards that influences the way applications are developed and written. In this paper we propose a cloud application development model based on developing services (typically REST API services). We see clear benefits in applying this model to service oriented architecture (SOA) and business process management (BPM) design in order to develop enterprise applications for cloud environments in a systematic, rapid manner. This conceptual model described in this paper is drawn from the core ideas and practices behind REST API, BPM, and SOA. In this paper we focus on the proposed software development model for enterprise cloud applications and services. Throughout this paper we use the term cloud application and cloud service interchangeably. The model described in this paper can be applied to both. Further research on a software-modeling tool that provides a standardized structure for cloud software development and deployment seems to be in order. Supported by a graphical modeling environment, such a tool would utilize a Cloud Resource Provisioning language, will be able to seamlessly deploy and provision cloud resources across multiple cloud service providers. The presented research provides a practical and extensible application development model for cloud platforms. The model described can be used in a variety of applications as well as migration of legacy code to cloud platforms. By using this model, a cloud application can be deployed as small functionally separate components to different cloud nodes. Resource allocation can be defined for these nodes on a per need basis, which minimizes the cost of acquiring a fail over and load balanced system compared to the traditional on premise application development. In this paper, a detailed description of the analysis and development steps of the proposed model is also presented.
Similar content being viewed by others
References
Mell P, Grance T (2011) The NIST definition of cloud computing. Special Publication, 800-145. National Institute of Standards and Technology
Rummler GA, Brache AP (1995) Improving performance, how to manage the white space on the organization chart. Jossey-Bass, SanFrancisco
Wu J, Wang T (2014) Research and application of SOA and cloud computing model. 2014 Enterprise systems conference, pp 294–299
Tsai W, Sun X, Balasooriya J (2010) Service-oriented cloud computing architecture. Seventh international conference on information technology
Erl T (2006) Service-oriented architecture concepts, technology, and design. Pearson Education Inc., Boston
Jiang J, Le J, Wang Y, Sun J, He F (2011) The BPM architecture based on cloud computing. Knowledge acquisition and modeling (KAM), 2011 Fourth international symposium, IEEE Xplore
Mircea M (2010) SOA, BPM and cloud computing: connected for innovation in higher education. International conference on education and management technology (ICEMT 2010)
Hamdaqa M, Livogiannis T, Tahvildari L (2011) A reference model for developing cloud applications. In: Proceedings of the 1st international conference on cloud computing and services science, pp 98–103
Murer S, Hagen C (2014) Fifteen years of Service-Oriented Architecture at Credit Suisse. IEEE Softw 31(06):9–15
Han Y, Sun J, Wang G, Li H (2010) A cloud-based BPM architecture with user-end distribution of non-compute-intensive activities and sensitive data. J Comput Sci Technol 25(6):1157–1167
Azeez A, Perera S, Gamage D, Linton R, Siriwardana P, Leelaratne D, Weerawarana S, Fremantle P (2010) Multi-tenant SOA middleware for cloud computing. 2010 IEEE 3rd international conference on cloud computing
Kundra V (2011) Federal cloud computing strategy. U.S. Chief Information Officer
Ardagna D, Nitto ED, Casale G, Petcu D, Mohagheghi P, Mosser S, Matthews P, Gericke A, Ballagny C, D’Andria F, Siemens CS N, Sheridan C (2012) MODACLOUDS: a model-driven approach for the design. In: Proceedings of the 4th international workshop on modeling in software engineering
Schulte S, Janiesch C, Venugopal S, Weber I, Hoenisch P (2014) Elastic business process management: state of the art and open challenges for BPM in the cloud. In: Future generation computer systems, Elsevier, September 2014
Mohameda M, Amziania M, Belaïd D, Tata S, Melliti T (2014) An autonomic approach to manage elasticity of business processes in the Cloud. In: Future generation computer systems, ScienceDirect
Matthews C, Neville S, Coady Y, McAffer J, Bull I (2009) Overcast: eclipsing high profile open source cloud initiatives. Selected papers from workshops on cloud computing at OOPSLA09. Orlando, USA
Berners-Lee T, Fielding R, Masinter L (2005) Uniform resource identifier (URI): generic syntax. IETF RFC 3986
Martin RC (2002) The single responsibility principle. The principles, patterns, and practices of Agile Software Development, pp 149–154
Scheer A-W (1994) Business process engineering: reference models for industrial enterprises, 2nd edn. Springer, Berlin, Heidelberg
Ko RKL (2009) A computer scientist’s introductory guide to business process management (BPM). Crossroads vol 15, no 4. ACM, New York
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Karim, B., Tan, Q., El Emary, I. et al. A proposed novel enterprise cloud development application model. Memetic Comp. 8, 287–306 (2016). https://doi.org/10.1007/s12293-016-0203-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12293-016-0203-4