A review and analysis of technologies for developing web applications



Similar documents
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Server-Side Scripting and Web Development. By Susan L. Miertschin

E-commerce. Chapter 4. Building an E-commerce Web Site. Kenneth C. Laudon. Fourth Edition. Copyright 2007 Pearson Education, Inc.

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Electronic Commerce Engineering

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Web Development News, Tips and Tutorials

DATABASE-DRIVEN WEBSITES: A WORKING COURSE MODEL

E-commerce. business. technology. society. Kenneth C. Laudon Carol Guercio Traver. Third Edition. Copyright 2007 Pearson Education, Inc.

Web Cloud Architecture

Web Application Development and Frameworks

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

Rich Internet Applications

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Web Pages. Static Web Pages SHTML

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

by Pearson Education, Inc. All Rights Reserved.

How To Build A Web App

CAREER OPPORTUNITIES

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Smart and Innovative Web Solutions. Just One Click Away

DBMS Infrastructures and IT Career Recommendations. Jeff Fineberg November 21, 2011

Web Development: Techniques for Handling Content. Shelley Slaey June 2, 2014

What Is the Java TM 2 Platform, Enterprise Edition?

Business & Computing Examinations (BCE) LONDON (UK)

Alexander Nikov. 4. Building an ecommerce Presence: Web Sites, Mobile Sites, and Apps. Outline. Teaching Objectives

Ogunrinde Mutiat Adebukola, Olorisade Babatunde Kazeem

Your Own Web Page: Quick and Dirty

HTML5. Turn this page to see Quick Guide of CTTC

Web Technologies Week 4 Hosting, Servers and Databases. Context. Contents. MSc in Computing Computing - IBITE Liverpool Hope University College

Trollhättan, Sweden

IT3503 Web Development Techniques (Optional)

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

Web Development. How the Web Works 3/3/2015. Clients / Server

Credits: Some of the slides are based on material adapted from

Web Applications Come of Age

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

E-commerce. Web Servers Hardware and Software

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

Pentesting Web Frameworks (preview of next year's SEC642 update)

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Web Programming Languages Overview

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

Client/server is a network architecture that divides functions into client and server

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

Pemrograman Web. 1. Pengenalan Web Server. M. Udin Harun Al Rasyid, S.Kom, Ph.D

Case Study. Data Governance Portal Brainvire Infotech Pvt Ltd Page 1 of 1

Start up Jobs Germany FEB 2014

IT3504: Web Development Techniques (Optional)

maximizing IT productivity

Business Information System Courses Description

A COMPONENT BASED METHODOLOGY FOR WEB APPLICATION DEVELOPMENT USING RUBY ON RAILS. Presentation 1 13 th July 2009 by Brett Nisbett

Computer Science Course Descriptions Page 1

Your Technology Partner Offshore and Onsite. Services Portfolio

Isaak Jimenez

Extending Desktop Applications to the Web

From Microsoft to Open Systems and Back

If your organization is not already

Rich Internet Applications

Web Testing. Main Concepts of Web Testing. Software Quality Assurance Telerik Software Academy

RIA Technologies Comparison

Implementation of Techniques for Improving Web Applications Performance

Lesson 7 - Website Administration

Open Source Content Management System for content development: a comparative study

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Whitepapers at Amikelive.com

C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

SKILLS HIGHLIGHTS: W e b a n d G r a p h i c D e s i g n e r

Appendix N INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP WEB & DIGITAL COMMUNICATIONS PATHWAY WEB & DIGITAL MEDIA UNIT UNIT 6

Base One's Rich Client Architecture

Short notes on webpage programming languages

REQUEST FOR PROPOSAL. Website Developer/Designer. Please complete

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

Modeling Web Applications Using Java And XML Related Technologies

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

MEGA Web Application Architecture Overview MEGA 2009 SP4

Web Ecommerce Eshopping Software Development

Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Topics in Website Testing. [Reading assignment: Chapter 14, pp ]

A framework for web-based product data management using J2EE

OCR LEVEL 3 CAMBRIDGE TECHNICAL

How To Write An Ria Application

A Comparison of Web Development Technologies: WebObjects vs. ASP.NET

Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs

Web Development: Dynamically Generated Content

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Apache Jakarta Tomcat

Rich User Interfaces for Web-Based Corporate Applications

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

Oracle Application Express MS Access on Steroids

OIT 307/ OIT 218: Web Programming

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Accessing Data with ADOBE FLEX 4.6

629 Meier Lane, Onalaska, WI

Transcription:

A review and analysis of technologies for developing web applications Asha Mandava and Solomon Antony Murray state University Murray, Kentucky Abstract In this paper we review technologies useful for design and development of web-based applications. We also discuss about the technologies that are used at the client side and server side of web application. Next, we compare different web application development frameworks. In addition, we discuss life cycle model and framework of web application development. Introduction While developing business applications, the IT manager must make often make the important and irreversible decision of which platform the implement the solution (Taudes, 2000). The most common choices were desktop or the web platform. Web application development has been seeing increasing share in the overall IS projects. However, web applications do no render themselves well to application of the traditional systems development cycle model (Gellersen & Gaedke, 1999). The traditional approach also takes lots of time to complete particular web application. There are various types of web applications. Some web applications deliver organizational functionality, some are designed to interactive tools, some other are for communicational dialogue and others are for presentation of information and graphic design (Lang M., 2009). This paper deals with websites that cater to delivery of business functionality to the business users. We start with a description of components of web applications, followed by general trends in development methods. Next, study the components up close and report on popularity, usability and efficiency of the technologies. Finally, we compare three popular web application platforms and make recommendations for typical business applications. Structure of web applications Business applications are usually broken into logical chunks called "tiers" (Fernandes C., 2003). For every tier, there are some specific functions. Web applications tend to be multitiered by nature, with the most common structure being the three-tiered architecture. In its most common form, the three tiers are (i) presentation layer, (ii) application layer and (iii) storage layers. A web browser itself is the first tier that is presentation tier. By using some 1

dynamic Web content technologies like ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Perl, Python, Ruby on Rails or Struts2 middle tier will host the application logic. Finally a database is the third tier storage. The rest of the paper presents and discusses the methods available to web application developers. Development practices In a 2002 survey of websites in the UK, it was found that most of them had links to backend databases (Taylor, 2002). It was also found that most development work was done in an ad hoc manner, without using any specific methodologies. However, later survey finds that most web application development projects use clear tasks and phases and use explicitly documented processes (Lang M. a., 2006). Before the development starts, modeling of the sites using flowcharts, screen mockups and storyboards is common. Some researchers found that in many projects, no methodologies were employed (Taylor, 2002). In the 2006 survey, it was found that most web application projects comprised of small teams. More than 90% of the web projects had 10 or fewer developer teams (Lang M. a., 2006). With smaller teams, lighter more agile methods can be employed. It was found a most of them used in-house developed methods. Many of the in-house developed methods were hybrids of various development paradigms. However, popular object-oriented approach was not found to be widely used in the survey sample. There are a number of benefits of using standards for web application development including (i) consistent design style across websites within the organization, (ii) standardization of web application requirements document, and (iii) guidance for testing the websites (Taylor, 2002). The need for model driven development of web applications is well recognized also (Valderas, 2011). Presentation layer At the presentation layer, the web pages are rendered to the browser. Traditionally, the webpages contain only HTML code. Now a days, the presentation layer of the web applications provide nearly the same user experience as desk top applications. Such interfaces employ a group of technologies, collectively called Rich Internet Application (RIA) (Driver, 2005). There are four categories of RIA technologies, namely (i) Script based, (ii) Plugin based, (iii) browser based and (iv) web based desk top technologies. In Script based RIA interfaces, scripting languages such as Java script (and its extensions AJAX and jquery) and CSS are used. Many of the Google web applications use script based RIA techniques. Such client side code is executed or interpreted by the browser plat form. Client side scripts are generally viewable by any visitor who is using that application. (Hanley, 2011) In Plugin base RIA applications, precompiled objects written using Adobe s Flash, Microsoft s Silverlight, Active X, Java provide the rich user experience. In browser based RIA applications, the browsers natively support interface definition languages. In web based desktop technologies, application written in higher level languages directly interact with the web server without using a browser (Bozzon, 2006). 2

Application layer There are two ways the application layer can be built using server side scripting languages or compiled business objects. Server side scripting languages include ASP, PHP, JSP, ColdFusion, perl, Ruby, WebObjects and Python. The server side scripts are typically interpreted and run by the web server and are is not visible to clients (Hanley, 2011). PHP is a very common Server Side Scripting language. It is Linux / Unix based and Open Source with free redistribution, It is usually combined with MySQL DBMS. Zend Framework is a popular Object Oriented Web Application Framework that employs PHP. ASP is from Microsoft and runs on IIS web server. ASP.NET is the successor of ASP. ColdFusion is Adobe's Web Application Framework. Ruby on Rails is Ruby programming's Web Application Framework. It too allows free redistribution. Perl is a general purpose high-level programming language and Server Side Scripting Language. It lost its popularity to PHP. Python is a general purpose high-level programming language and Server Side Scripting language - free redistribution. While both PHP and JSP are popular and efficient languages for coding the server side logic, JSP outperformed PHP in many e-commerce and banking application tests (Trent, 2008), however their performances were not significantly different on a bookstore simulation exercise (Cecchet, 2003). Between WebObjects and ASP, WebObjects technology is rated to be a better choice for development and maintenance, although it has a steeper learning curve (Al- Ghourabi, 2006). The compiled objects that capture business logic are typically stored in program libraries and are very useful to the developer. Program libraries contain collection of commonly used functions, classes or subroutines. With these libraries, developers can easily add or edit functionalities to a frame worked or modular type application. Comparison of three popular plat forms in development: Development of web application can be done in so many plat forms, next we compare the three most popular platforms namely Linux / Apache / MySQL / PHP (LAMP) vs. Microsoft s ASP.NET vs. Sun s Java 2 Enterprise Edition (J2EE) flat forms. The results of the comparison can be found in Table.1. (Hanley, 2011) Criteria LAMP ASP.NET J2EE Licensing cost No licensing cost Expensive licensing No licensing cost cost Platform(s) Multiple Only Windows Multiples Hardware cost Runs on very inexpensive servers Requires slightly more expensive servers Requires expensive Servers Staffing Somewhat difficult to find qualified people Very easy to find qualified people in We can find qualified people reasonably in this domain this domain Security Good improved Good 3

Performance Very good Often requires more expensive hardware to perform well Often requires substantial configuration and expensive hardware Scalability Scales very well Difficult to scale Scales well when Administration Difficult: Often requires reading documentation and editing text files Can be difficult to configure properly Many available often difficult to choose Easy: Often can be done through point and click interface configured properly Moderate: Sometimes can be done visually Configuration flexibility Easy to configure Moderately difficult to configure Frameworks One standardized One standardized framework frame work Components Widely available Widely available Widely available Compatibility Very good: New versions usually backwards compatible Moderate: New versions often break functionality Table.1 From the contents in Table 1, we can make the following recommendations 1. If the project has short budget, then use LAMP platform. 2. If security of application is most important, then use LAMP or J2EE platform. 3. If the project has to be in more compatible mode, then use LAMP platform. 4. If the project is large, then use ASP.NET platform. 5. If clients want configuration flexibility, then use ASP.NET platform. 6. If client wants high performance project, then use ASP.NET platform 7. If the project has more time and high budget, then use J2EE. Bad: Many problems between old and new versions Conclusion Object oriented approach build web applications very efficient when one can accomplish more in less time. Because it uses modern processes, by this both developers and clients can benefit. To develop these types of applications there are so many scripting languages and new technologies are there we don t have to stick to one. Comparison of most popular plat forms in Table.1 give good knowledge to the developers as well as clients in choosing of web application platform. 4

Bibliography Al-Ghourabi, A. (2006). A comparison of web development technologies: WebObjects vs. ASP.NET. ROCHESTER INSTITUTE OF TECHNOLOGY. Bozzon, A.,. (2006). Conceptual modeling and code generation for rich internet applications. International conference on Web engineering. Cecchet, E. C. (2003). A Comparison of Software Architectures for E-business Applications. Middleware Conference. Rio de Janeiro, Brazil. Driver, M. V. (2005). Rich Internet Applications Are the Next Evolution of the Web. Gartner. Fernandes, C. (2003, march 13). Sitepoint. Retrieved February 1, 2012, from http://www.sitepoint.com/development-guide-success/ Gellersen, H.-W., & Gaedke, M. (1999, feb 10). internet computing. Retrieved 12 10, 2011, from IEEE: ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=747323 Hanley, J. M. (2011). Web Development: A Comparison of Three Major Platforms. Retrieved 12 14, 2011, from SYLLOGISTIC SOFTWARE: http://www.syllogisticsoftware.com/papers/web_development_technology_comparison.html Lang, M. (2009). Web-based systems development: the influence of disciplinary backgrounds on design practices. Journal of Information and Organizational Sciences, 65-77. Lang, M. a. (2006). New branches, old roots: A study of methods and techniques in web/hypermedia systems design. Information systems management, 62-74. Taudes, A. F. (2000). Options analysis of software platform decisions: a case study. MIS Quarterly, 227-243. Taylor, M. M. (2002). Methodologies and website development: A survey of practice. Information and software technology, 381-391. Trent, S. T. (2008). Performance comparison of PHP and JSP as server-side scripting languages. Middleware, 164-182. Valderas, P. a. (2011). A Survey of Requirements Specification in Model-Driven Development of Web Applications. ACM Transactions on the Web (TWEB), 10. 5