An Evaluation Model for Application Development Frameworks for Web Applications
Total Page:16
File Type:pdf, Size:1020Kb
An Evaluation Model for Application Development Frameworks for Web Applications THESIS Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in the Graduate School of The Ohio State University By Changpil Lee Graduate Program in Computer Science and Engineering The Ohio State University 2012 Thesis Committee: Dr. Rajiv Ramnath, Advisor Dr. Jay Ramanathan Dr. Tom Bitterman Copyright by Changpil Lee 2012 ABSTRACT Web frameworks and web-based content management systems (WCMS) are emerging as the growth of the Internet has continued and its role has increased in the daily life of its users. When choosing a web framework or a WCMS on which to build an application, web application developers usually decide on a framework or a WCMS based on their prior web development expertise, the quality of the available documentation about the framework, or the popularity of the web framework, regardless of its ability to meet the non-functional and functional requirements of the application to be built. The problem is that there are many choices with respect to web frameworks and WCMS for a web developer to select from and the goals must be to select the best framework for the job. When choosing an framework or WCMS, web application developers must consider the overall effect of the design decisions within the framework, the inherent tradeoffs between quality attributes (such as performance and security), and the tradeoffs required to address user, system, and business requirements. However, the process necessary to find the best framework for an application‘s requirements is not well described. There is only limited research on the evaluation of web application frameworks; this makes it hard for developers to choose the right web framework or WCMS. In this thesis, a new cost-estimation model for web frameworks and WCMS is introduced. The costs in the estimation model are categorized as follows: system costs, ii design costs, learning costs, and implementation costs. This cost-estimation model is a framework for comparing the relative costs of web frameworks and WCMS. This cost estimation model was applied in two case studies namely the Polymer Properties Predictor (P4) project and the PFast project, both at the Ohio Supercomputing Center. Finally we used the cost-estimation model to analyze the development of a new web project. iii Acknowledgments I would like to express my sincere gratitude to the best advisor and mentor I could have possibly gotten, Dr. Rajiv Ramnath. His knowledge and critical thinking has been very valuable. His encouragement and confidence has made this thesis possible. I would also like to thank Professor Jayashree Ramanathan and Dr. Thomas Bitterman for their continued support, insights and suggestions that helped shape my research. I also really appreciate the support I got from my family, especially my wife, and the God who kept encouraging me constantly and kept me on track to complete this successfully. iv Vita August 2004………………………B.S. Computer Science, Purdue University September 2009 to present…...........Graduate Student, Department of Computer Science and Engineering, The Ohio State University. Field of Study: Major Field: Computer Science and Engineering v TABLE OF CONTENTS Abstract…………………………………………………………………………………...ii Acknowledgements…………………………………………………………………...…..iv Vita……………………………………………………………………………………......vi Table of contents…………………………………………………………………………vii List of Figures………………………………………………………………………...…xiii List of Tables……………………………………………………………………………..ix 1. Introduction……………………………………………………………………………..1 1.1. Background…………………………………………………………………...1 1.2. Motivation & Problem Statement.....................................................................3 1.3. Objectives and research questions....................................................................5 1.4. Overall research methodology..........................................................................6 1.5. Definitions of terms..........................................................................................7 1.6. Assumptions......................................................................................................8 2. Conceptual Layouts and Related Research……............................................................10 2.1. Conceptual Layouts........................................................................................10 2.1.1. Web Framework.............................................................................11 2.1.2. CMS...............................................................................................13 2.1.3. Functional Requirements...............................................................16 vi 2.1.4. Non-functional Requirements........................................................17 2.1.5. Requirements According to Their Application Domains..............21 2.2. Previous Framework Comparison Models......................................................23 3. A comparison Model for web application frameworks.................................................26 3.1. Introduction.....................................................................................................26 3.2. Problem statement...........................................................................................29 3.3. Assumption.....................................................................................................30 3.4. Analysis of Web Framework..........................................................................31 3.4.1 System Costs.....................................................................................31 3.4.2 Design Costs.....................................................................................31 3.4.3 Learning Costs..................................................................................35 3.4.4 Implementation Costs.......................................................................37 3.4.5 Testing Costs.....................................................................................38 3.5. Methodologies.................................................................................................38 4. Case Study: P4 Application...........................................................................................41 4.1. Introduction.....................................................................................................41 4.2. Requirements Analysis...................................................................................42 4.3. Cost Analysis with Drupal CMS....................................................................45 4.4. Cost Analysis with Pylon................................................................................47 4.5. Assessments and evaluations..........................................................................49 5. Case Study: PFast Application......................................................................................53 5.1. Introduction.....................................................................................................53 vii 5.2. Requirements Analysis...................................................................................54 5.3. Cost Analysis with Drupal CMS....................................................................56 5.4. Cost Analysis with Groovy on Grails.............................................................57 5.5. Assessments and evaluations..........................................................................60 6. Conclusion.....................................................................................................................63 References..........................................................................................................................66 viii List of Tables Table 1.1 Web frameworks and CMSs...............................................................................4 Table 2.1 Application domain and NFRs .........................................................................22 Table 4.1 Cost Analysis developing P4 web application using Drupal.............................46 Table 4.2 Cost analysis: developing P4 web application using Pylon...............................48 Table 4.3 Summary for P4 Application Development Costs using Drupal.......................50 Table 4.4 Summary of P4 Application Development Costs using Pylon..........................51 Table 5.1 Cost Analysis developing PFast web application using Drupal........................57 Table 5.2 Cost Analysis developing PFast web application using Groovy on Grails.......59 Table 5.3 Summary for PFast Application Development Costs using Drupal..................60 Table 5.4 Summary for PFast Application Development Costs using Groovy on Grails.61 ix List of Figures Figure 2.1 CMS distribution in Top Million Sites ............................................................15 Figure 2.2 Non-functional requirements tree ....................................................................21 Figure 3.1 Development process........................................................................................27 Figure 3.2 Pop-up login Functionality in Python with Pylon............................................32 Figure 4.1 P4 web application using Pylon.......................................................................41 Figure 4.2 P4 Usecase........................................................................................................42 Figure 4.3 Functional requirement for uploading