A Web-Based Framework for Developing Cloud Multi-Tenant Softwareasaservice Application Supervisor Dr. Adil Yousif Jan 2017
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF SCIENCE AND TECHNOLOGY COLLEGE OF GRADUATE STUDIES AND ACADEMIC ADVANCEMENT Faculty of Computer Science and Information Technology A Web-Based Framework for Developing Cloud Multi-tenant Software as aService Application by Alsadig Hamad Hamid Ismail A Thesis Submitted to the College of Graduate Studies and Academic Advancements in Partial Fulfillment of the Requirement for the Degree of Master of Science in Information Technology Supervisor Dr. Adil Yousif Jan 2017 أﻵية قال هللا تعالى : ( ْقق َر أْق ِبا ْقا ِب َر ِبِّب َر لَّل ِب َر َر َر ) او ة لع ﻵية ْقق )1( Abstract Cloud computing portrays a new model for providing IT services over the Internet. In cloud computing, resources and services are accessed from the Internet through web- based tools. Nowadays, most of the businesses are performed by using the software as a service (SaaS) business model, one of the delivery models of cloud computing by charging the services through subscription.SaaS Multi-tenancy promotes sharing of resources all the way from a single application instance to the database, This allows applications to better fit the cloud computing paradigm. Building cloud saas application from scratch is a very complex task and takes time in developing these applications especially for a university student. There is a need for a framework that makes the creation of cloud saas applications. This research aims to build a new web-based framework for usable saas application development that supports multi-tenancy. This research proposed a new framework to develop SaaS application and supporting multitenancy. The proposed framework provide simple creation of a SaaS multitenancy application without writing a Code, and easy to customize to whom know PHP and web technology. To evaluate the proposed framework the study conducted an empirical study for students at the university of science and technology.The empirical study result revealed that the proposed framework is usable. II المستخلص اٌذٛسثح اٌسذاتٍح ٚفشخ اٌعذٌذ ِٓ اٌخذِاخ اٌفعاٌح ٚ اصثذد ِطٍة اٌعذٌذ ِٓ اٌُؤسساخ ٌرسٚ ًٍٙ اداسج اعّاٌٙا , ٚرٌه ٔرٍجح ٌرمًٍٍ إٌفماخ ٚسفع اﻻعثاء عٓ اٌّؤسساخ اٌرً ذسرخذَ خذِاخ اٌذٛسثح اٌسذاتٍح. اٌذٛسثح اٌسذاتٍح ذصٛس ّٛٔرجا جذٌذا ٌرمذٌُ خذِاخ ذىٌٕٛٛجٍا اٌّعٍِٛاخ عثش اﻹٔرشٔد ٚ ٌرُ اٌٛصٛي إٌى اٌّٛاسد ٚاٌخذِاخ عثش اﻹٔرشٔد ِٓ خﻻي اٌّرصفخ . فً اٌٛلد اٌذاضش وً اﻻعّاي ذؤدي عثش اﻻٔرشٍٔد ِٓ خﻻي ّٛٔرج اٌثشِجٍاخ وخذِح (ٚ (SaaS ٌرُ رٌه عٓ شٌك ٍة اٌخذِح عثش اﻻﻻرشان فً اٌخذِح تشسَٛ اٚ ِجأا ًا, ٚ اﻻﻻرشان ٕ٘ا تّثاتح اﻻٌجاس ﻻٔه ذمَٛ تاٌجاس اٌخذِح ٌٚزٌه ظٙشخ ٍِزج ذعذد اﻻٌجاساخ فً ذطثٍماخ اٌثشِجٍاخ وخذِح ٌرمَٛ تاﻻسرخذاَ اﻻِثً ٌٍّٛاسد ٚرٌه تاٌذصٛي عًٍ اٌّطٍٛب فمط ِٓ اٌّٛاسد ٚذماسُ اٌثمٍح ِع اٌّسراجشٌٓ اﻻخشٌٓ. تٕاء ذطثٍك اٌثشِجٍاخ وخذِح (SaaS) ِٓ ٔمطح اٌصفش ً٘ ِّٙح ِعمذج ٌٍغاٌح ٌٚسرغشق ٚلرا ٌٛﻻ فً ذطٌٛش ٘زٖ اٌرطثٍماخ ٚخاصح تإٌسثح ٌٍطاٌة اٌجاِعً. ٕٚ٘ان داجح إٌى إ اس ٌزًٌ اٌرعمٍذ ٌٚسشع ٚذٍشج اٌعًّ . ٌٙذف ٘زا اٌثذث إٌى تٕاء إ اس عًّ جذٌذ ٌرطٌٛش ذطثٍماخ اٌثشِجٍاخ وخذِح (SaaS) تصٛسج سشٌعح ٚ ِثسطح ٚ ذذعُ ذعذد اﻹٌجاساخ. ا اس اٌعًّ اٌّمرشح فً ٘زا اٌثذث ٌمَٛ ترطٌٛش تشِجٍاخ وخذِح (SaaS) دْٚ اٌذٛجح اًٌ وراتح اي سطش تشِجً. اﻹ اس اٌّمرشح ٌٛفش ِعّاسٌح ذمَٛ تفصً ِىٛٔاخ اٌرطثٍك ِٓ عشض ٚ اعّاي ٚ ذذىُ ٌٍسًٙ تزٌه عٍٍّح ذخصٍص اٌرطثٍك ٌّٓ ٌذٌٗ اٌّعشفح تٍغاخ اٌٌٛة وـ PHP ٌرمٍٍُ اﻹ اس اٌّمرشح أجشخ اٌذساسح دساسح ٍِذأٍح ٌٍطﻻب فً جاِعح اٌعٚ ٍَٛاٌرمأح. ٚٔرٍجح ذٍه ايدساسح وشفد أْ اﻹ اس اٌّمرشح لاتً ٌﻻسرخذاَ. III Dedicate First of all, I would like to thank God for bringing me through this interesting experience. He answered all my prayers and encouraged me when I felt like I wanted to give up. God has been so amazing to me and I want to dedicate not only my life but this thesis to HIM. I would be nothing without HIM. Second To my dear mother, To my dear father, To all my family, To my university, to my supervisor, To all who supported me, To the people who paved our way of science and knowledge, All our teachers Distinguished I Dedicate this research. IV Acknowledgement Firstly I would like to thank God who helped me and pleased me to finish this research, Secondly, I would like to thank my precious family and all who supported me from the beginning of my study to the end. Honorable Doctors and teacher, who have donated their knowledge. My deepest gratitude is to Dr. Adil Yousif I have been lucky to have an advisor who gave me the freedom to explore on my own and at the same time the guidance to recover when my steps faltered who taught me how to question thoughts and express ideas his patience and support helped me overcome many crisis situations and finish this dissertation. V TABLE OF CONTENT Abstract……………….......…………………………………………………………....……....…..II III……….......……………………………………………………………............................…اٌّسرخٍص Dedicate………………………………………………………………….……………..................IV Acknowledgment………………………………………………………………………..................V Table of Contents………………………………………………………………........……............VI List of Figures…….......……………………………………………………………………..........XII List of Tables ………………………………….......……….....……………….…………….…..XIII Table of Abbreviations…….......………...............................……………………….……….......XIV CHAPTER1: Introduction 1.1 Introduction…………...…………………………………………………………............…......1 1.1 Overview and Summary ......................................................................................................... 1 1.2 Problem background ................................................................................................................1 1.3 Problem Statement......................................................................................................................2 1.4 Research Objectives....................................................................................................................2 1.5 Thesis Structure..........................................................................................................................2 CHAPTER2: Literature Review 2.1 Introduction.............................................................................................................................. 4 2.2 Cloud Computing......................................................................................................................4 2.2.1 Cloud Computing Definition..................................................................................................4 2.2.2 Essential Characteristics....................................................................................................... 5 2.2.2.1 On-Demand Self-Service.....................................................................................................5 2.2.2.2 Broad Network Access.......................................................................................................5 VI 2.2.2.3 Resource Pooling................................................................................................................6 2.2.2.4 Rapid Elasticity...................................................................................................................6 2.2.2.5 Measured Service................................................................................................................6 2.2.3 Extra Characteristics Of Cloud...............................................................................................6 2.2.3.1 Pay-Per-Use.........................................................................................................................6 2.2.3.2 Service Level Agreements (SLA).......................................................................................6 2.2.4 Cloud Computing Benefits.....................................................................................................7 2.3 Cloud Computing Deployment Models....................................................................................8 2.3 1 Private Cloud..........................................................................................................................8 2.3 2 Public Cloud...........................................................................................................................8 2.3 3. Community Cloud.................................................................................................................9 2.3 4. Hybrid Cloud.........................................................................................................................9 2.4 Cloud Computing Service Models.........................................................................................9 2.4.1 Infrastructure as a Service (IaaS)...........................................................................................9 2.4.2 Platform as a Service (PaaS)................................................................................................10 2.4.2.1 PaaS Components..............................................................................................................10 2.4.3 Software as aService (SaaS).................................................................................................11 2.4.3.1 Software-as-a-Service History..........................................................................................11 2.4.3.2 Software as aService Definition .................................................................................... 12 2.5 Key Features and characteristic of Software-as-aServices.....................................................13 2.5.1 Reusability...........................................................................................................................13 2.5.2 Data Managed by Provider..................................................................................................14