Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Evaluation and comparison of Ajax Frameworks regarding applicability, productivity and technical limitations

Evaluation and comparison of Ajax Frameworks regarding applicability, productivity and technical limitations
Über dieses Buch
  • Art: Magisterarbeit
  • Autor: Lukas Ostermaier
  • Abgabedatum: Februar 2008
  • Umfang: 138 Seiten
  • Dateigröße: 4,2 MB
  • Note: 1,0
  • Institution / Hochschule: Technische Universität Wien Österreich
  • Bibliografie: ca. 45
  • ISBN (eBook): 978-3-8366-1058-2
  • Sprache: Englisch
  • Prämierung:
  • Arbeit zitieren: Ostermaier, Lukas Februar 2008: Evaluation and comparison of Ajax Frameworks regarding applicability, productivity and technical limitations, Hamburg: Diplomica Verlag
  • Schlagworte: Ajax, Wirtschaftsinformatik, Web 2.0, Web application, Framework

Magisterarbeit von Lukas Ostermaier

Abstract:

For some years the Internet has been dominated by phrases like Web 2.0 and Ajax. The catchword Web 2.0, which was originally established by O’Reilly at the first Web 2.0 conference in October 2004, not only describes a new way of perception and usage of the internet (e.g. social software like blogs, wikis, etc.), but also stands for more or less innovative techniques as for instance RSS or Ajax. The latter is a combination of techniques that have been available since the late 1990s, such as JavaScript, asynchronous requests and XML. However, the term Ajax only exists since Jesse James Garret introduced it in his article in February 2005. Since then Ajax has experienced a real hype. Google Mail, Google Maps or Flickr just serve as examples for the mass of applications that have to attribute their success substantially to Ajax.

When it comes to web application development there has also been a lot of progress in the field of Ajax: Ajax frameworks of all kinds massively gained popularity and flooded the development community. From the biggest companies through to small development teams, almost everyone has published his own Ajax framework or library in the last two years. In the meantime there are far more than 150 different frameworks for various programming languages and diverse aims. Because of this uncontrolled growth of frameworks it is quite difficult to say which of those is most suitable for a specific project.

There are two key questions that have to be considered in case of Ajax or Rich Internet Applications (RIAs) in general: How can Ajax significantly increase the business value of an application and how can it be applied productively? This thesis mainly focuses on the latter question by evaluating three Ajax frameworks of large companies with a strong background by means of an example application with respect to commercial applicability, productivity, performance as well as enhancement and adaptation possibilities. Furthermore this work discusses the technical limitations and problems of Ajax and provides an outlook on future developments in this area.

As example application for the evaluation a web-based tracking system for public transportation is implemented. Each single vehicle is visualized on a street map according to its current position. By the implementation of this application with each of the three chosen Ajax frameworks their applicability, productivity and performance is illustrated as well as their weaknesses and limitations.

In order to provide a short overview about this topic, the term Rich Internet Application will be defined and compared to conventional web applications and discusses its advantages and weaknesses. In the next Section a short overview about the different RIA technologies is given and the basic differences to Ajax are highlighted. The technical aspects of Ajax will then be described; the section then gives a critical view on the hype of Ajax and reveals the challenges developers have to face when introducing Ajax. Furthermore some categories of typical Ajax applications as well as different levels of Ajax adoption are defined in this part.

The next section defines the general requirements for an Ajax framework, gives an overview over a short selection of diverging frameworks and classifies them in two different ways. Moreover, the sample application is described in detail and the evaluation procedure as well as the criteria upon which the evaluation is based are specified.

The following chapter represents the core of this paper by presenting each of the three frameworks explicitly including the results of the evaluation. At the end of this part these results are compared to each other in order to highlight the differences between these frameworks. Finally, an outlook on current trends and future developments is given.

Table of Contents:

1. Introduction 6
2. The Trend to Rich Internet Applications 8
2.1 What is a Rich Internet Application? 9
2.2 Architectural Overview of RIAs 11
2.3 Advantages and Disadvantages of RIAs 12
3. Technologies for Rich Internet Applications 15
3.1 Silverlight 16
3.2 ava/JavaFX 16
3.2.1 JavaFX 17
3.3 Flash/Flex 18
3.4 OpenLaszlo 18
3.5 AIR (Adobe Integrated Runtime) 19
3.6 XUL 19
3.7 Ajax 20
4. Ajax 23
4.1 Technical Overview 23
4.2 Pure Hype or real Business Value? 25
4.2.1 Creating Business Value 26
4.2.2 Time for Adoption 26
4.3 Challenges of Ajax Adoption 27
4.4 Types of Ajax Applications 29
4.5 Levels of Ajax Adoption 29
5. Ajax Frameworks 32
5.1 Requirements for Ajax Frameworks 32
5.2 Ajax Frameworks Overview 35
5.2.1 Ajax Toolkit Framework 35
5.2.2 TIBCO General Interface 36
5.2.3 eXtensible Ajax Platform 37
5.2.4 ASP.NET Ajax 38
5.2.5 Backbase Ajax 360 39
5.2.6 Direct Web Remoting 41
5.2.7 Dojo 42
5.2.8 Google Web Toolkit 43
5.2.9 JMaki 45
5.2.10 Prototype 45
5.2.11 Rico 46
5.2.12 Script.aculo.us 47
5.2.13 Spry 47
5.2.14 Yahoo! User Interface Library 48
5.3 Popularity of Ajax Frameworks 48
5.4 Categorization of Frameworks 50
5.4.1 Classification according to the Level of Adoption 51
5.5 Conclusion 53
6. Evaluation Procedure and Sample Application 54
6.1 Description of the Sample Application 54
6.1.1 Detailed Description of the Tracking System 54
6.1.2 Application specific Requirements for the Ajax Frameworks 57
6.2 Evaluation Procedure 57
6.2.1 Selection Criteria for the Ajax Frameworks 58
6.2.2 Selected Frameworks 58
6.2.3 Evaluation Criteria 58
6.2.4 Detailed Test Specification 64
7. Framework Evaluation 69
7.1 Adobe Spry Evaluation 69
7.1.1 Implementation of the Sample Application 69
7.1.2 General Aspects of the Framework 71
7.1.3 Developing Company and Community 74
7.1.4 History, Maturity, Outlook of the Framework 75
7.1.5 Costs of the Framework and Terms of License 77
7.1.6 Available Documentation and Support 78
7.1.7 Productivity of Development 78
7.1.8 Generated Traffic 78
7.1.9 Client-side Workload 80
7.1.10 Load and Response Times of the Application 81
7.1.11 Maintainability of the Application 82
7.2 Google Web Toolkit Evaluation 82
7.2.1 Implementation of the Sample Application 82
7.2.2 General Aspects of the Framework 83
7.2.3 Developing Company and Community 89
7.2.4 History, Maturity, Outlook of the Framework 90
7.2.5 Costs of the Framework and Terms of License 92
7.2.6 Available Documentation and Support 92
7.2.7 Productivity of Development 92
7.2.8 Generated Traffic 93
7.2.9 Client-side Workload 94
7.2.10 Load and Response Times of the Application 95
7.2.11 Maintainability of the Application 96
7.3 ASP.NET Ajax Evaluation 96
7.3.1 Implementation of the Sample Application 97
7.3.2 General Aspects of the Framework 98
7.3.3 Developing Company and Community 103
7.3.4 History, Maturity, Outlook of the Framework 103
7.3.5 Costs of the Framework and Terms of License 105
7.3.6 Available Documentation and Support 105
7.3.7 Productivity of Development 106
7.3.8 Generated Traffic 106
7.3.9 Client-side Workload 107
7.3.10 Load and Response Times of the Application 108
7.3.11 Maintainability of the Application 109
7.4 Overall Comparison 109
7.4.1 Analysis of the Features and general Aspects 109
7.4.2 Developing Company and Community Analysis 110
7.4.3 History, Maturity and Outlook Analysis 111
7.4.4 Cost and License Analysis 112
7.4.5 Analysis of the available Documentation 113
7.4.6 Analysis of the Productivity of Development 113
7.4.7 Traffic Analysis 114
7.4.8 Client-side Workload Analysis 115
7.4.9 Load and Response Time Analysis 116
7.4.10 Analysis of Maintainability Aspects 117
8. Further Issues and Outlook 118
8.1 Standardisation 118
8.2 Reverse Ajax 119
8.3 Offline Ajax 119
8.4 Mobile Ajax 120
9. Conclusion 121
A. Detailed PCTS Specification 123
A.1 Use Case Description 123
A.2 Design Overview 126
B. Detailed Evaluation Results 129
References

Text Sample:

Chapter 5, Ajax Frameworks:

The terms framework, library and toolkit are often used synonymously although their concepts are not exactly the same. Since there are different definitions of these terms and even the vendors do not really conform to them, there is no concrete differentiation between these concepts in this paper. Far more important than how they are called are the features and characteristics of the frameworks.

In the field of Ajax, a framework, library or toolkit has to assist the developer with those problems that arise from each Ajax-enabled application. These problems include sending asynchronous requests to the server, receiving and processing the server’s response, altering the page according to the new data, providing UI elements that support a rich user experience as well as providing all these features in a way that the application can be used with every major browser. Since these features are needed in every Ajax-enabled application and reinventing the wheel does not make that much sense an Ajax frameworks supports the reuse of this functionality.

According to Ray Valdes the Framework-level use of Ajax among Global 2000 companies is still very rare. Due to this, many of them will come to the issue of choosing an Ajax framework in the near future.

Requirements for Ajax Frameworks:

This section discusses the requirements an Ajax framework has to fulfill to be useful to the developer. Since there are many things we can expect from a framework, the list of requirements is divided into two parts: requirements that are essential to a framework and requirements that would be desirable.

The essential requirements are vital for the framework and make it useful for the developer. There are certainly frameworks that do not meet all of these requirements or meet a requirement only to some extent. In that case it depends on the project (or types of projects) the framework has to support. It does not automatically mean that the framework is absolutely useless since it may have its strengths elsewhere. The following list can be seen as a checklist when evaluating an Ajax framework:

- Managing asynchronous requests. The framework has to provide convenient solutions for recurring problems like sending asynchronous requests or receiving the server’s response. These pieces of code occur in every Ajax application and therefore handling these tasks should be done by the framework.

- Handling browser differences. Since there are some differences between the various browsers the framework has to provide means to guarantee the correct execution of the application in at least 99% of all clients. This includes, of course, managing the different XMLHttpRequest objects, different JavaScript and DOM implementations or other peculiarities.

- Efficient data processing. Furthermore, an Ajax framework has to provide methods for easily and efficiently processing data received from the server, including XML, JSON and plaintext responses. The data has to be easily accessible for further processing so that the developer does not have to spend much time on that and can focus on the application specific problems.

- Resource friendly. The framework has to use resources in an efficient way that enables even older devices to run the application in combination with others.

- Sufficient documentation. There has to be a good documentation for the framework and its public interfaces in order to become acquainted with it in a reasonable amount of time. This documentation has to provide a complete description of the API as well as examples including code samples.

- Useable as blackbox. On the other hand the developer should not be concerned with the inner details of the framework. Using the framework must not require to know how the various functions are implemented. Since this would mean an extra effort it should not be necessary.

- Set of rich UI elements. An Ajax framework does not only have to provide functions for sending and processing XMLHttpRequests but also has to provide a set of UI elements (so-called widgets) that enable a rich user experience. These widgets include for example sortable lists, modal dialogues or drag & drop features and should be adjustable for the developer. To put it briefly, an Ajax framework has to facilitate the development of Rich Internet Applications.

- Solid background. For the development team it is very important that the framework has a solid background. That means that it is developed by a company or organisation that is likely to exist for a considerable time and continues enhancing and maintaining the framework. Furthermore it is essential that the framework has already reached a certain degree of maturity. A good indicator for the maturity of a framework can be its version number, the date of the first public release as well as the intervals at which new versions are released.

- Little training required. The training period for a framework has to be comparative to its benefits. The costs for introducing a framework should amortize within the first or a few projects, depending on their size.

- Enhancement of exisiting applications. Depending on the project the framework should support the enhancement of existing applications in a more efficient way than without framework. If an application has to be completely re-implemented in order to add Ajax functionality to it, the selection of the framework should be reconsidered. This might not be a requirement if the framework is only used to build Rich Internet Applications from scratch but should be considered when choosing a framework.

If one would ask a few developers about desired features the list of requirements can get quite long. The following list is meant to give an overview of features that are quite desirable but not mandatory. These features are of course not present in every framework but they may serve as a hint for future enhancements. This list does not have a special order of priority since such an order would change case-by-case.

Arbeit zitieren:
Ostermaier, Lukas Februar 2008: Evaluation and comparison of Ajax Frameworks regarding applicability, productivity and technical limitations, Hamburg: Diplomica Verlag

Schlagworte:
Ajax, Wirtschaftsinformatik, Web 2.0, Web application, Framework

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren