ASP.NET & PHP Master Thesis in Software Engineering

Total Page:16

File Type:pdf, Size:1020Kb

ASP.NET & PHP Master Thesis in Software Engineering Comparison of Web Development Technologies ‐ ASP.NET & PHP Master Thesis in Software Engineering Author: Ramesh Nagilla ([email protected]) Supervisor: Frank Lüders ([email protected]) Examiner: Kristina Lundqvist ([email protected]) 1 Abstract Web applications play an important role for many business purpose activities in the modern world. It has become a platform for the companies to fulfil the needs of their business. In this situation, Web technologies that are useful in developing these kinds of applications become an important aspect. Many Web technologies like Hypertext Preprocessor (PHP), Active Server Pages (ASP.NET), Cold Fusion Markup Language (CFML), Java, Python, and Ruby on Rails are available in the market. All these technologies are useful to achieve the goals of Clients and business organizations. ASP.NET and PHP are the most competing out of all the technologies. Most of the companies and developers think that one is better than other. The main aim of this thesis is done by taking this point in to the consideration. A Photo Gallery application is developed using ASP.NET and PHP in order to compare the two Web development technologies. Many points are taken in to consideration in order to differentiate them and conclude which one is the better among the two technologies. 2 Acknowledgements I would like to thank my supervisor Frank Luders for his constant help, support and guidance during this thesis work. I also would like to thank my friends who have given me enough strength and support during this thesis. 3 Table of Contents 1. Introduction ........................................................................................................................................................ 8 1.1 Purpose of the document ............................................................................................................... 8 1.2 Problem Statement ......................................................................................................................... 8 1.3 Method followed to solve .............................................................................................................. 8 1.4 Target Audience .............................................................................................................................. 8 1.5 Web Application.............................................................................................................................. 8 1.6 Report Outline ................................................................................................................................ 9 2. Background ....................................................................................................................................................... 10 3. Related Work .................................................................................................................................................... 11 4. Fields of Web applications ........................................................................................................................... 11 5. Competitive Web technologies ................................................................................................................... 11 6. Photo Gallery Application functionalities ....................................................................................... 13 6.1 Registration ................................................................................................................................... 13 6.2 Log in ............................................................................................................................................. 14 6.3 Photo Gallery ............................................................................................................................... 15 6.4 Manage Categories ....................................................................................................................... 16 6.5 Upload Photos ............................................................................................................................... 17 6.6 Add Comments ............................................................................................................................. 18 7. Database ........................................................................................................................................ 19 8. Implementation in ASP.NET ........................................................................................................... 20 8.1 ASP.NET ......................................................................................................................................... 20 8.2 .NET Framework ............................................................................................................................ 20 8.3 SQL Server 2008 ............................................................................................................................ 21 8.4 ASP.NET development server ....................................................................................................... 22 8.5 Visual Web Developer 2010 Express ............................................................................................ 22 8.6 Master Pages................................................................................................................................. 23 8.7 ASP.NET Content Pages ................................................................................................................ 24 8.7.1 MasterPage.master.cs .............................................................................................................. 24 8.7.2 Index.aspx.cs ............................................................................................................................. 24 8.7.3 login.aspx.cs .............................................................................................................................. 25 8.7.4 forgotpassword.aspx.cs ............................................................................................................ 25 8.7.5 changepassword.aspx.cs ........................................................................................................... 25 8.7.6 myhome.aspx.cs ........................................................................................................................ 26 8.7.7 manage_categories_user.aspx.cs ............................................................................................. 26 4 8.7.8 photoupload.aspx.cs ................................................................................................................. 26 8.7.9 photogallery.aspx.cs .................................................................................................................. 27 8.7.10 feedback.aspx.cs ...................................................................................................................... 27 9. Implementation in PHP .................................................................................................................. 28 9.1 PHP ................................................................................................................................................ 28 9.2 WAMP ........................................................................................................................................... 28 9.3 Apache Server .............................................................................................................................. 29 9.4 MySQL ........................................................................................................................................... 30 9.5 DreamWeaver ............................................................................................................................... 32 9.6 PHP Content Pages ........................................................................................................................ 32 9.6.1 index.php .................................................................................................................................. 32 9.6.2 login.php ................................................................................................................................... 33 9.6.3 forgotpassword.php .................................................................................................................. 34 9.6.4 changepassword.php ................................................................................................................ 34 9.6.5 photogallery.php ....................................................................................................................... 34 9.6.6 manage_categories_user.php .................................................................................................. 35 9.6.7 photoupload.php ...................................................................................................................... 35 9.6.8 edit_description.php ................................................................................................................. 36 9.6.9 add_comment.php .................................................................................................................... 36 9.6.10 feedback.php .......................................................................................................................... 36 10. Comparison between ASP.NET and PHP ......................................................................................
Recommended publications
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • XAMPP-Chapter
    The following is a sample chapter from the upcoming Understanding MySQL and MariaDB, coming in 2020 from Andrew Comeau and Comeau Software Solutions. If you enjoy this preview, please check back at ComeauSoftware.com for more details and updates on anticipated release dates. https://www.comeausoftware.com/understanding-mysql-and-mariadb/ All material, Copyright 2019 – Andrew Comeau 3 Installing MariaDB with XAMPP Using MariaDB as part of a suite of web development tools In This Lesson … • Understand the purpose of an Apache - MySQL - PHP (AMP) software stack • Recognize the variations in AMP stack packages available for download • Install an AMP stack for use in developing databases and hosting web applications What is an AMP Stack? As powerful as MySQL is, it's rarely used on its own. Most developers will want additional tools such as programming languages and interface tools to escape the tedium of working on the command line all the time. This is one of the reasons that MySQL is often used in combination with other tools that will enable the design of user-friendly sites. This means either creating or downloading a ready-made AMP stack. AMP usually stands for "Apache-MySQL-PHP" although the P might also stand for Perl or Python. In general, it simply refers to one or more programming languages that are included with the software stack. An AMP stack is called a stack because each tool within it addresses a different aspect of database and web development and helps support the others. • Apache is a web server - software that can respond to requests for pages and other content within a website.
    [Show full text]
  • Php[Architect] Journal
    FREE Article! Education Station Easy Image Manipulation with Glide Matthew Setter Welcome back to another edition of Education Station. In this month’s edition, we’re going to have fun with images; specifically, we’re going to look at a library that makes it easy to manage just about everything to do with images in a web application. What’s more, it’s a library brought to you by The PHP League, otherwise known as The League of Extraordinary Packages—it’s called Glide. DisplayInfo() Requirements: • PHP 5.4 or above • Composer • Git • Glide - http://glide.thephpleague.com Related URLs: • Silex Documentation - http://silex.sensiolabs.org/documentation 2 | May 2015 www.phparch.com Education Station Easy Image Manipulation with Glide But before we get into it, let’s set the scene Installing Glide & Silex appropriately. You’re building a web application (or a website for a client), and you need to make images Assuming that you already have a new project available, with no more effort than a standard HTML directory set up for testing out Glide and that you have img link. But via that link, you need to be able to Composer in your system path, in the project directory, pass different parameters, allowing for the image you can create a new composer.json file and add in to be rendered with a range of different effects and the configuration below. You should also ensure the transformations, such as the following: exif extension is enabled in your php installation. • Image manipulation (including cropping, { stretching, and resizing) "require": { • Image adjustment (including setting the "league/glide": "0.3.*" brightness, contrast, and gamma level) } • Image effects (including blurring, pixelation, and } filtering) • Image quality • Securing image URLs against user abuse Alternatively, you can run the following commands, which will do it for you: If you wanted all of this, it’s understandable that to code it in-house would take quite a bit of time and composer require league/glide:"0.3.*"; effort.
    [Show full text]
  • EOP ASSIST 4.0 Installation Manual
    EOP ASSIST 4.0: A Software Application for K-12 Schools, School Districts, Regional Education Agencies, and State Agencies Installation Manual Updated August 2017 EOP ASSIST 4.0 Installation Manual Table of Contents Table of Contents ...............................................................................................................................1 Chapter 1: Overview ..........................................................................................................................4 Chapter 2: Technical Requirements ....................................................................................................5 Expertise Requirements of IT Personnel ................................................................................................... 5 Server Requirements ................................................................................................................................ 5 Operating System .................................................................................................................................. 5 Web Server Software ............................................................................................................................ 6 Relational Database Management System .......................................................................................... 7 Scripting Language ............................................................................................................................... 7 Configuration Requirements ....................................................................................................................
    [Show full text]
  • Installation of Wordpress System Requirements for Wordpress
    ITEC321 - Administering Web-based Content Management System Installation of WordPress System requirements for WordPress Database: MySQL 5.0 + Web Server : WAMP (Windows) , LAMP (Linux), XAMP (Multi-platform), MAMP (Macintosh), Operating System − Cross-platform Browser Support : IE (Internet Explorer 8+), Firefox, Google chrome, Safari, Opera PHP Compatibility: PHP 5.2+ How to Install WordPress on your Windows Computer Using WAMP Step 1. Installing WAMP on Windows Computer First, you need to download the WAMP software and install it on your computer. Simply go to the WampServer website and click on the ‘Start Using WampServer’ button. http://www.wampserver.com/en/ It will take you to the downloads section. You’ll see two versions here: WampServer 32 bits and WampServer 64 bits. You need to select the WampServer version that matches the operating system type of your Windows computer. To find out whether you are using 32 or 64-bit operating system, go to Control Panel » System and Security » System in your computer. There you will be able to see your operating system type. Once downloaded, you can click on the wampserver execution file to run the installation. Make sure that you carefully follow the instructions on the installation screen. During the installation process, you need to define the location for the web browser. By default, it will be Internet Explorer. You can change that to Google Chrome or any other web browser by locating it in the Program Files of your computer. Once installed, you can launch the WampServer to continue. Step 2. Setting Up a Database for Local WordPress Setup Next thing you need to do is to create a blank MySQL database.
    [Show full text]
  • Windows Development Environment
    A P P E N D I X A ■ ■ ■ Windows Development Environment For those developers who spend most of their coding time with Microsoft development tools, the world of *nix is probably a scary place. Drupal is written for the so-called LAMP stack, "Linux/Apache/MySQL/ PHP." While it is possible to substitute Windows for Linux, it is a bit more difficult to substitute IIS for Apache, and even harder to substitute SQL Server for MySQL. And don’t even think about replacing PHP with C# or Visual Basic. This appendix provides a step-by-step tutorial for setting up a debugging environment on your Windows workstation. My goal was to duplicate the development environment of Visual Studio, and this set-up gets about as close as you can. Old habits die hard, and if you’re like me you’ve got some. I’ve been using a Windows-based computer since Windows was first available as an application that ran under DOS. As with most technologies, Windows and I have a love-hate relationship, but for some reason I keep coming back. Visual Studio is the perfect development environment. My development editor of choice was once VEdit, an emacs-style editor. I reluctantly switched to Visual Studio to do Visual Basic 6 programming, and learned to love IntelliSense. With Visual Studio 2010 and the .NET reflection-based IntelliSense, I can’t imagine coding without it. After the Windows Vista debacle, I seriously considered switching to Ubuntu or Macintosh. If Microsoft couldn’t get its core operating system right, how long would it be until everything else suffered? Windows 7 changed my mind.
    [Show full text]
  • The Clean Architecture in PHP
    The Clean Architecture in PHP Kristopher Wilson This book is for sale at http://leanpub.com/cleanphp This version was published on 2015-04-24 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. ©2013 - 2015 Kristopher Wilson Dedication First and foremost, I dedicate this book to my wife, Ashley. Thank you for allowing me to spend so much time staring at millions of dots on a screen. Secondly, to my parents, who worked so hard to make sure their children had everything they needed and wanted, and for encouraging me to follow my dreams, however odd they may have been. Contents Introduction .......................................... i Organization ......................................... i The Author ......................................... i A Word about Coding Style ................................ ii The Problem With Code ................................ 1 Writing Good Code is Hard ................................. 2 Writing Bad Code is Easy .................................. 2 We Can’t Test Anything .................................. 3 Change Breaks Everything ................................. 4 We Live or Die by the Framework ............................. 4 We Want to Use All the Libraries ............................. 5 Writing Good Code ..................................... 5 What is Architecture?
    [Show full text]
  • Quantum Node Portal- Devices and Information Management
    Internship Report Master in Computer Engineering-Mobile Computing Quantum Node Portal- Devices and Information Management Sujane Natasha Lopez Leiria, September 2017 i This page was intentionally left blank ii Internship report Master in Computer Engineering-Mobile Computing Quantum Node Portal- Devices and Information Management Sujane Natasha Lopez Internship Report developed under the supervision of Professor Doctor Joao Pereira, professor at the School of Technology and Management of the Polytechnic Institute of Leiria. Leiria, September 2017 iii This page was intentionally left blank iv Acknowledgments I would like to take this opportunity to express my sincere gratitude to the people who helped me through this internship work. I sincerely thank Professor Joao Pereira for guiding me throughout my Internship Period, Professor Carlos Grilo for giving me an opportunity to do an Internship in Domatica Global Solutions. Undoubtedly the main person CEO and Founder Samuel Silva who believed in me and made this Internship possible. The Director Pedro Pina for being a good team leader and guiding my work. Besides them, a big thanks to my team members, my colleagues in Domatica Global Solutions. I am thankful to my parents for being with me and supporting me unconditionally. v This page was intentionally left blank vi Abstract An Internship in a European Company for developing a Web application-Domatica Global Solutions, Lisbon was undertaken to complete the Master’s Degree of Computer Engineering-Mobile Computing in the Polytechnic Institute of Leiria. The team Domatica deals with providing IoT solutions used for monitoring, controlling and collecting the data from the IoT gateways. The present work aims to develop a Web application for client’s side.
    [Show full text]
  • IBM System I Application Modernization: Building a New Interface to Legacy Applications September 2006
    Front cover IBM System i Application Modernization Building a New Interface to Legacy Applications Comparison of the different ways to access the IBM System i platform Discussion of JSFs, HATS, Web services, portlets, IBM WebFacing Tool, and rich client Examples of building different client interfaces Guenther Hartung Rolf Andre Klaedtke Elena Lowery Estela McCarty Els Motmans Aleksandr Nartovich ibm.com/redbooks International Technical Support Organization IBM System i Application Modernization: Building a New Interface to Legacy Applications September 2006 SG24-6671-00 Note: Before using this information and the product it supports, read the information in “Notices” on page vii. First Edition (September 2006) This edition applies to IBM OS/400 V5R3 and IBM i5/OS V5R4. © Copyright International Business Machines Corporation 2006. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . vii Trademarks . viii Preface . ix The team that wrote this redbook. ix Become a published author . xi Comments welcome. xi Part 1. Looking at the alternatives . 1 Chapter 1. Why you should consider new application interfaces . 3 1.1 Reasons for a change . 4 1.2 Up-front considerations and prerequisites . 5 1.3 IBM System i Developer Roadmap . 5 1.4 How to read this book . 6 Chapter 2. Modernizing System i legacy applications: Common business scenarios 7 2.1 Considerations for the scenarios and possible solutions . 8 2.2 Overview of the scenarios. 8 2.2.1 Scenario 1: Add a Web front end to a monolithic iSeries application .
    [Show full text]
  • Axis Store Data Manager User Manual
    AXIS Store Data Manager User Manual AXIS Store Data Manager Solution overview Solution overview An overview of the different products, applications, and tools needed for a complete system. 2 AXIS Store Data Manager AXIS Store Data Manager AXIS Store Data Manager Note This manual covers the locally installed version of AXIS Store Data Manager. To find out more about the hosted online solution, go to the manual for AXIS Store Reporter that includes AXIS Store Data Manager. AXIS Store Data Manager is a data hub that collects and arranges statistical data. To interpret the statistical data, use the tool in combination with AXIS Store Reporter or a third-party reporting tool. Who’s it for? AXIS Store Data Manager is typically for the integrator, who manages the cameras and sets up the system. The tool can be used for a single company as well as for several companies. 3 AXIS Store Data Manager Installation Installation System requirements AXIS Store Data Manager uses open source web server software. Supported operating systems • Microsoft Windows 7 or later • Ubuntu 8.04 or higher (Ubuntu 16.04 and later does not include PHP5, and MySQL5) • Debian 5.0 or higher (Debian 9 (Stretch) does not include PHP5 and MySQL5) Supported web browser clients • Firefox® • ChromeTM • Internet Explorer® 9.0 or higher (or equivalent browser) Required software packages Before you can use the locally installed AXIS Store Data Manager, you need to install the software packages Apache, PHP and MySQL. See Install the required software packages on page 4 . • PHP 5.4 to 5.6.
    [Show full text]
  • Automic How to Install & Configure Apache on Windows
    Automic How to Install & Configure Apache on Windows Apache Configuration on Windows for Application Manger Installation Guide and Notes Copyright © 2007 Automic Software, Inc. All Rights Reserved. Printed in USA Restricted Rights Legend Use, duplication, or disclosure of the Programs is subject to restrictions stated in your contract with Automic Software. Use, duplication, or disclosure of the Programs by Government is subject to restrictions for commercial computer software and the Programs shall be deemed to be licensed with Restricted Rights under Federal Law. The information contained in this document is subject to change without notice. Automic Software does not warrant that this documentation is error-free. If you find errors in this document, please contact Automic Software Documentation. Automic is a registered trademark of Automic Software. All other product names and services identified throughout this book are trademarks or registered trademarks of their respective companies. Automic Software, Inc. 14475 NE 24th Street Bellevue, WA 98007 USA Tel: +1.(425).644.2121 Fax: +1.(425).644.2266 Email: office.us(at)Automic.com Automic Software GmbH c/o SAP PartnerPort Walldorf Altrottstrasse 31 69190 Walldorf/Baden Germany Tel: +49.(0)6227.381.180 Fax: +49.(0)6227.381.200 Email: office.wdf(at)Automic.com Prepared by: Souny Barati Title : Sr Consultant at CA-Automic Software Inc. Date: September 13, 2017 Souny Barati 2 Table of Contents Apache for Application Manager v9.x..........................................................................................4
    [Show full text]
  • Databases: Mysql Introduction
    Databases: MySQL Introduction Databases: MySQL introduction How to Use this User Guide This handbook accompanies the taught sessions for the course. Each section contains a brief overview of a topic for your reference and then one or more exercises. Exercises are arranged as follows: A title and brief overview of the tasks to be carried out; A numbered set of tasks, together with a brief description of each; A numbered set of detailed steps that will achieve each task. Some exercises, particularly those within the same section, assume that you have completed earlier exercises. Your teacher will direct you to the location of files that are needed for the exercises. If you have any problems with the text or the exercises, please ask the teacher or one of the demonstrators for help. This book includes plenty of exercise activities – more than can usually be completed during the hands-on sessions of the course. You should select some to try during the course, while the teacher and demonstrator(s) are around to guide you. Later, you may attend follow-up sessions at IT Learning Programme (ITLP) called Computer8, where you can continue work on the exercises, with some support from IT teachers. Other exercises are for you to try on your own, as a reminder or an extension of the work done during the course. Text Conventions A number of conventions are used to help you to be clear about what you need to do in each step of a task. In general, the word press indicates you need to press a key on the keyboard.
    [Show full text]