Optimising Ajax Web Applications with Communication. Restructuring

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Optimising Ajax Web Applications with Communication. Restructuring"

Transcription

1 Optimising Ajax Web Applications with Communication Restructuring Jun Zhang Department of Computer Science University of British Columbia, Canada Abstract: We present an automated run-time optimization framework that can improve the performance of Ajax web applications while preserving its semantics. The key point of this framework is to prefetch and cache dynamic web content intelligently and to use aggregation technology while prefetching and caching the responses on client. XMLHttpRequest are intercepted and replaced by a new one. The new XMLHttpRequest will be sent after it makes sure that there is no cached response on client. Then before the server sent the response to the client, it will bind predictions on future requests with the specific response for this request. After client receives predictions, it will prefetch all responses for those predicted requests and store them for future use. Before transferring those predicted requests or relative responses, we aggregate them into a big one. Our results show that the techniques can speed up Ajax web applications, especially when operating across slower networks. 1 Introduction Ajax aims to provide partial updates for web applications on client. Pages using Ajax behave more like a standalone application than a typical web page. Clicking on links that cause the entire page to refresh feels like a heavy operation. With Ajax, the page often can be updated dynamically, allowing a faster response to the user's interaction. But sometimes it does not completely succeed because of relatively slow network connections. Our approach towards prefetching and caching dynamic web content is intelligent. We predict the possible requests to be sent in the near future according to the current requests. Then we aggregate those predicted requests into a big one. After the server processes those requests and send the aggregated big response, client will parse it and cache their responses in memory on client. 1.1 Contribution - We present a framework which can improve performance of Ajax web applications by prefetching and caching web content intelligently. This tool operates on unmodified Ajax web applications and runs on Firefox web browser on client and java applications on web server. - We demonstrate the use of the tool by experiments and give simple evaluation for the usage. The framework presented here provides some ideas for research aimed at extending optimisation techniques on various web application, and deploying the results in large-scale industrial systems. This report concludes with a discussion of the potential for the work, and the challenges that remain. 1.2 Structure We begin in Section 2 with a discussion of related work. We proceed to cover the optimizations performed in

2 Section 3. We then present some experimental evaluation in Section 4 and conclude Section 5 and finish off with some suggestions for future work in Section 6. 2 Related Work Many factors contribute to a less-than-speedy web experience, including heterogeneous network connectivity, real-world distances, and congestion due to unexpected network demand. Web prefetching and caching, along with other forms of data dissemination, have been proposed as the technologies that help reduce network usage and server loads and improve average latencies experienced by the user. When successful, prefetching web objects into local caches can be used to further reduce latencies [2], and even to shift network loads from peak to non-peak periods [3]. Web caching is the basis for web prefetching, because prefetched link or web pages should be cached on client. Until now, most of the research on prefetching is to use machine learning or data mining mechanism to predict what are the next web pages to be visited (e.g. [4]). In the real world, web prefetching and caching have been widely used in real distributed systems or web browsers technologies. Google is a first well-known website that takes advantage of link prefetching technology, which is a standard compliant mechanism used by some web browsers and utilizes browser idle time to download or to prefetch documents that the user might visit in the near future. A web page content provides a set of prefetching hints to the browser, and after the browser is finished loading the page, and after an idle time has passed, it begins silently prefetching specified documents, storing them in its cache. When the user visits one of the prefetched documents, it can be served up quickly out of the browser's cache. Also, in this scheme, user could input some hint link for prefetching. In addition to web application field, prefetching mechanism is also used in operating system to load predicted pages from disk to memory for future access [7]. Additionally, research on how to reduce remote communication has been done on improving the performance of distributed applications. For example, [5] improves distributed applications written using Java RMI by providing an automated run-time optimization framework. In this framework, Java classes are modified to intercept RMI calls and delayed as long as possible. When a dependence forces execution of the delayed calls, the aggregated calls are sent over to the remote server to be executed in one step. In a word, [5] uses aggregation technology to reduce remote communication cost. Our work is to apply the combination of the idea of web caching and prefetching and the idea of aggregation to Ajax web applications to improve its performance while preserving the semantics. 3 Optimisations In this section, we detail the Ajax web application optimizations. 3.1 Dynamic Web Content Prefetching and Caching In this project, we implemented a prefetching tool, which depends on the work mechanism of Ajax framework. Ajax enables web pages to be updated partially. Then what we prefetch is dynamic web fragment. For Ajax web applications, every user action that normally would generate an HTTP request takes the form of a JavaScript call to the Ajax engine instead. Any response to a user action that doesn t require a trip back to the server, the engine handles on its own. If the engine needs something from the server in order to respond, for example, if it s submitting data for processing, loading additional interface code, or retrieving new data, the engine makes those requests asynchronously, usually using XML, for dynamic web content. When the server receives a request, it has to execute a script corresponding to the request. Also, the server will provide the policy for client-side to do prefetching. Those policies will be created dynamically

3 based on the specific request information, including request method, parameter information, and affected HTML DOM elements in the web page. The client prefetches the responses based on those predictions and sends them to the server and stores the web content in memory for future use. Then, if an asynchronous request could find the responding dynamic web content locally, it will not be sent to the server again and just get the content from the memory of client. 3.2 Requests & Responses Aggregation For client-side, it needs to send predicted requests to the web server and then prefetch the responses. To improve the performance of Ajax web applications, we reduce the remote communication cost by aggregating those requests into a big one and send the big one to web server. Also, the client will receive the responding aggregated responses. Then it will parse the big response into separate responses and store them into the memory. Then web server will parse the big request and separate them into independent requests. Then it will send the requests to the right target objects. Each target is a servlet or listener. They will process the request and send back to server and server will aggregate those responses into a big one. At last, the big one will be sent to the client for caching. Figure 1 Sequence Datagram for Optimisation Ajax Web Applications Framework 3.3 Implementation The whole system is composed of six modules: App UI: This module is the web site developed by

4 users. XMLHttpPredictiveCache: This module is deployed on the client side web browser and to do web prefetching and catching. Until now, we just deploy it on Firefox. AddHintFilter: This module is a filter for requests and responses. With it, the server could bind prefetching policy with the original responses. This filter will be loaded by Tomcat automatically. HintCreate: This module is to create the prefetching policies sent to clients based on the request information sent by client. Here the prefetching policy refers to Javascript calls which perhaps to be initiated by those events created by users in the future. Until now, this module has not been done. I just implemented some specific one for specific example. For other situations, we have to input by hand. RequestAnalysisServlet: It is a servlet to handle aggregated requests and to aggregate responses. It receives and parses the aggregated requests, sends the specific requests to responding user applications Then it collects the responses and aggregates them and sends it to the client. User App: This module refers to the user applications developed by users and deployed on server side to handle requests sent from clients. AddHintFilter, HintCreate and RequestAnalysisServlet modules will be deployed on server. Figure 1 has given the sequence datagram of the whole system. The whole process is: Firstly, the user generates an event, which results in a JavaScript call. Then a XMLHttpRequest object is created and will be blocked and replaced by another XMLHttpRequest object provided by XMLHttpPredictive module. The new one will check if there is a cached response for the responding event. If there is no response cached for it, the replaced object will make an asynchronous request to the web server. Before the request reaches the user application, it passes the AddHintFilter, which remembers the requested servlet name. After that, the prefetching policies will be created by HintCreate based on the specific request information and the application itself. At last, the User Application receives the request, processes it and send the response to the client. During this process, the prefetching policies will be attached to the response message by AddHintFilter according to the servlet name remembered and then come back to the client. After the client received the responses, XMLHttpPredictive module will parse the response and update the UI accordingly. On the other hand, it will analyze the prefetching policies and aggregate the responding requests into a big one and send it to the server. Then RequestAnalyzeServlet module passes the request into separate ones and sends those requests to the User Applications, which will send the responses to this module. Then RequestAnalyzeServlet aggregates those responses into a big one and send it back to the client. At last, on clients, XMLHttpPredictive will parse the responses into separate ones and store them into memory. If someone generates a request and if the response has been cached, then requests will not be sent to the server and only the cached responses will be got by XMLHttpPredictive module directly from memory. 4 Experimental Evaluation Table 1 Experiment Data Aggregated Aggregated Results without Requests (Number) Results (ms per Aggregation (ms request) per request) We have tested our optimizations with only one simple example. This simple one is a used to explore the potential of the optimizations. The tests were performed using Windows XP across the local area network of University of British Columbia

5 (The bandwidth is 10MB/s.) Both the client and server are deployed on my laptop, IBM X31 with Intel Pentium M processor 1300MHz, 256M memory. For each test, 5 trials of 5 iterations were performed and the mean was taken as the result. In this example, we show the results before and after applying the framework on the specified web application. As can be seen in the result of Table 1, the optimizations could result in an overall speedup whenever the profiling policy is so effective that they could predict enough requests, such as five predicted requests, to be sent by users in the future. At the same time, according to the result, we also could see that if the predict is not efficient enough, for example, only two requests predicted, then the performance will become worse because of the overhead to do web prefetching and request/response aggregation. 5 Conclusion This paper presents an attempt to extend the scope of run-time optimization to Ajax web applications. Conventional web prefetching and caching is explored and this project focuses on dynamic web content got for Ajax requests. Also, this one takes account into reducing the network latency in prefetching process. We presented a prototype tool which optimizes Ajax web applications. In this tool, we implement two optimizations of web applications. One is to do web prefetching and caching by creating prefetching policy files dynamically. The other is to reduce network latency as much as possible by aggregating predicted requests on client side and relative responses on server side. We presented results for a simple example which demonstrate the performance potential for these optimizations. The result demonstrates that optimization opportunities do arise in real systems. Our prototype is the simple one. There are still a lot of issues, such as prefetching policy accuracy, preserving semantics, caching replacement and testing, not solved in this framework. The details will be mentioned in Section 6. 6 Future Work Until now, we just finished a simple prototype for this system. There are still several important issues not solved in this prototype. Firstly, inaccurate prefetching policy would do nothing but just increase the network traffic. Then how to create effective prefetching policy is the most important issue to solve. Just as what we have discussed in Section 2, there are several ways provided to increase the accuracy of prefetching policy. However there are still a lot of research work needed to be done on whether we could apply those policies to Ajax web applications and what we need do to improve the accuracy of prefetching policy for those schemes. Secondly, one of the most important purposes of our project is to preserve the semantics of the applications. It is very difficult for us to find the request dependency. Perhaps only syntax analysis is not enough. Thirdly, another important issue is on response replacement in cache. Although the memory hardware is low cost, yet it is not wise not to limit the cache size. If we just have some limited size of memory, then we need to consider the policy on how to update cached responses. Fourthly, how to determine whether prefetching should happen or not is another topic needed to be explored. Specifically, when the client or server is very busy, it is not wise to do prefetch. Then under this situation, we should not do prefetching. We should use idle time to do it. In a word, several key issues should be solved in the near future. References [1] Google Web Accelerator: prefetch1 [2] T. M. Kroeger, D. E. Long, J. C. Mogul (1997) Exploring the Bounds of Web Latency Reduction from Caching and Prefetching. Published in USENIX Symposium on Internet Technologies and Systems

6 (USITS), December 8-11, Monterey, CA. [3] C. Maltzahn, K. J. Richardson, D. Grunwald, and J. H. Martin (1999) On Bandwidth Smoothing. Published in the Proceedings of the Fourth International Web Caching Workshop (WCW99), March 31-April 2, San Diego, CA. [4] B. D. Davison. (2002) Predicting Web Actions from HTML Content. In Proceedings of The Thirteenth ACM Conference on Hypertext and Hypermedia (HT'02), pages , College Park, MD, June. [5] Kwok Cheung Yeung and Paul H J Kelly, "Optimizing Java RMI programs by communication restructuring". In Proceedings, Middleware 2003: ACM/IFIP/USENIX International Middleware Conference, D Schmidt, M Endler, eds (Springer Verlag LNCS 2672) pp [6] CHRISTOS BOURAS, AGISILAOS KONIDARIS AND DIONYSIOS KOSTOULAS, A Most Popular Approach of Predictive Prefetching on a WAN to Efficiently Improve WWW Response Times, M. Li et al. (Eds.): GCC 2003, LNCS 3033, pp , [7] Yvonne Coady, Gregor Kiczales, Mike Feeley and Greg Smolyn, "Using AspectC to Improve the Modularity of Path Specific Customization in Operating System Code". University of British Columbia

Measuring AJAX Performance on a GPRS Mobile Platform

Measuring AJAX Performance on a GPRS Mobile Platform International Journal of Principles and Applications of Information Science and Technology July 2008, Vol.2, No.1 Measuring AJAX Performance on a GPRS Mobile Platform Feng Xie 1 and David Parsons 2 Institute

More information

AJAX Integration Approach for Collaborative Calendar-Server Web Services

AJAX Integration Approach for Collaborative Calendar-Server Web Services AJAX Integration Approach for Collaborative Calendar-Server Web Services Ahmet Fatih Mustacoglu 1, 2 1 Community Grids Lab, Indiana University 2 Department of Computer Science Indiana University amustaco@cs.indiana.edu

More information

Time & Attendance v7.0 Product Requirements

Time & Attendance v7.0 Product Requirements Time & Attendance v7.0 Product Requirements Contents Overview... 2 Information Technology Staff Requirements... 2 Standard Hardware Specifications... 2 Standard Hardware Specifications (continued)... 3

More information

Why are Web Browsers Slow on Smartphones? Zhen Wang (Rice) Felix Xiaozhu Lin (Rice) Lin Zhong (Rice) Mansoor Chishtie (TI)

Why are Web Browsers Slow on Smartphones? Zhen Wang (Rice) Felix Xiaozhu Lin (Rice) Lin Zhong (Rice) Mansoor Chishtie (TI) Why are Web Browsers Slow on Smartphones? Zhen Wang (Rice) Felix Xiaozhu Lin (Rice) Lin Zhong (Rice) Mansoor Chishtie (TI) WINDOW TO THE CLOUD 2 Mobile browsers are slow Nexus One (N1) HTC Dream (G1) 17

More information

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o : Version: 0.1 Date: 20.07.2009 Author(s): Doddy Satyasree AJAX Person responsable: Doddy Satyasree Language: English Term Paper History Version Status Date 0.1 Draft Version created 20.07.2009 0.2 Final

More information

Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf

Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 23 Mozilla Firefox 16 Internet Explorer 10 Internet Explorer 9

More information

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998 Oracle Applications Release 10.7 NCA Network Performance for the Enterprise An Oracle White Paper January 1998 INTRODUCTION Oracle has quickly integrated web technologies into business applications, becoming

More information

Adding Panoramas to Google Maps Using Ajax

Adding Panoramas to Google Maps Using Ajax Adding Panoramas to Google Maps Using Ajax Derek Bradley Department of Computer Science University of British Columbia Abstract This project is an implementation of an Ajax web application. AJAX is a new

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence Brief Course Overview An introduction to Web development Server-side Scripting Web Servers PHP Client-side Scripting HTML & CSS JavaScript &

More information

edeveloper: Developing for the Web

edeveloper: Developing for the Web MAGIC SOFTWARE ENTERPRISES LTD. Magic edeveloper of the Magic ebusiness Platform edeveloper: Developing for the Web Concepts and Considerations Preface Two Major Technologies edeveloper 9.4 provides these

More information

Personalized Web Prefetching in Mozilla

Personalized Web Prefetching in Mozilla Personalized Web Prefetching in Mozilla Wei Zhang David B. Lewanda Christopher D. Janneck Brian D. Davison Department of Computer Science and Engineering Lehigh University Bethlehem, PA 18015 USA Abstract

More information

A Tool for Evaluation and Optimization of Web Application Performance

A Tool for Evaluation and Optimization of Web Application Performance A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application

More information

Multi-level Metadata Management Scheme for Cloud Storage System

Multi-level Metadata Management Scheme for Cloud Storage System , pp.231-240 http://dx.doi.org/10.14257/ijmue.2014.9.1.22 Multi-level Metadata Management Scheme for Cloud Storage System Jin San Kong 1, Min Ja Kim 2, Wan Yeon Lee 3, Chuck Yoo 2 and Young Woong Ko 1

More information

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer Ridwan Sanjaya Soegijapranata

More information

Developing Offline Web Application

Developing Offline Web Application Developing Offline Web Application Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Art Nanakorn Thana Pitisuwannarat Computer Engineering Khon Kaen University, Thailand 1 Agenda Motivation Offline web application

More information

User Installation Guide

User Installation Guide The will provide a step-by-step walkthough of how to download and install the application, activate each feature of the product, install any of the feature's prerequisites, extend the license, and deactivate

More information

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 31 Mozilla Firefox 25 Internet Explorer 11 Opera 17 Apple Safari

More information

IBM Rational Web Developer for WebSphere Software Version 6.0

IBM Rational Web Developer for WebSphere Software Version 6.0 Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,

More information

Assima Atlantic Link Technical Specifications

Assima Atlantic Link Technical Specifications Version 2.1.5757 Author Date Version Audience Overview Assima Technical Documentation 21/10/2015 2.1.5757 All This document contains information on the technical environment required at a client site in

More information

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com Contents 2 1 System requirements 2 1.1 Server Application 3 1.2 Client Application.com 1 1 Ensure that the computers on which you are going to install the Server and Client applications meet the system

More information

PLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008

PLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008 PLATO Learning Environment System and Configuration Requirements for workstations October 27th, 2008 Windows 2000 Professional with SP4 Windows XP Professional with SP2 Windows XP Home Edition with SP2

More information

Google Web Toolkit (GWT)

Google Web Toolkit (GWT) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Google Web Toolkit

More information

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications MOC 20486 Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies

More information

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0 INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0 PLEASE NOTE PRIOR TO INSTALLING On Windows 8, Windows 7 and Windows Vista you must have Administrator rights to install the software. Installing Enterprise Dynamics

More information

Web Cloud Architecture

Web Cloud Architecture Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. urbain@msoe.edu Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented

More information

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz Introduction to Cloud Computing Lecture 02 History of Enterprise Computing Kaya Oğuz General Course Information The textbook: Enterprise Cloud Computing by Gautam Shroff (available at bookstore). Course

More information

AJAX Interaction in Adaptive Hypermedia

AJAX Interaction in Adaptive Hypermedia AJAX Interaction in Adaptive Hypermedia B. Raja Sarath Kumar, Alti Siva Prakasa Rao & M.Surendra Prasad Babu Department of Computer Science and Systems Engineering Andhra University College of Engineering

More information

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT: Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT: In view of the fast-growing Internet traffic, this paper propose a distributed traffic management

More information

HyperQ Remote Office White Paper

HyperQ Remote Office White Paper HyperQ Remote Office White Paper Parsec Labs, LLC. 7101 Northland Circle North, Suite 105 Brooklyn Park, MN 55428 USA 1-763-219-8811 www.parseclabs.com info@parseclabs.com sales@parseclabs.com Introduction

More information

Developing ASP.NET MVC 4 Web Applications Online Training

Developing ASP.NET MVC 4 Web Applications Online Training Course Outline Plan the Application Layers Plan data access Plan for separation of concern Appropriate use of models, views, and controllers Choose between client-side and server-side processing Design

More information

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

Performance Test Results Report for the Sled player

Performance Test Results Report for the Sled player Performance Test Results Report for the Sled player The Open University Created: 17 th April 2007 Author Simon Hutchinson The Open University Page 1 of 21 Cross References None

More information

AJAX. Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es

AJAX. Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es AJAX Gregorio López López glopez@it.uc3m.es Juan Francisco López Panea 100032757@alumnos.uc3m.es Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contents 1. Introduction 2. Overview

More information

Web application development landscape: technologies and models

Web application development landscape: technologies and models Web application development landscape: technologies and models by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI WEB APPLICATION an Information System providing

More information

Preface. Motivation for this Book

Preface. Motivation for this Book Preface Asynchronous JavaScript and XML (Ajax or AJAX) is a web technique to transfer XML data between a browser and a server asynchronously. Ajax is a web technique, not a technology. Ajax is based on

More information

DURGA SOFTWARE SOLUTUIONS,S.R NAGAR,HYDERABAD. Ph:9246212143,040-64512786. Abstract

DURGA SOFTWARE SOLUTUIONS,S.R NAGAR,HYDERABAD. Ph:9246212143,040-64512786. Abstract Abstract The problem that we specify is that now day it is too difficult for both writing and maintaining records manually. It takes lots of time for writing records manually. Even there is chance of missing

More information

inforouter V8.0 Server & Client Requirements

inforouter V8.0 Server & Client Requirements inforouter V8.0 Server & Client Requirements Please review this document thoroughly before proceeding with the installation of inforouter Version 8. This document describes the minimum and recommended

More information

Remote Check Deposit Commercial Banking

Remote Check Deposit Commercial Banking Remote Check Deposit Commercial Banking User Guide 2009 M&T Bank. Member FDIC. S-082822 Welcome to Remote Check Deposit M&T s Remote Check Deposit service allows you to deposit checks securely and effortlessly

More information

AJAX: Highly Interactive Web Applications. Jason Giglio. jgiglio@netmar.com

AJAX: Highly Interactive Web Applications. Jason Giglio. jgiglio@netmar.com AJAX 1 Running head: AJAX AJAX: Highly Interactive Web Applications Jason Giglio jgiglio@netmar.com AJAX 2 Abstract AJAX stands for Asynchronous JavaScript and XML. AJAX has recently been gaining attention

More information

Legal Notices... 2. Introduction... 3

Legal Notices... 2. Introduction... 3 HP Asset Manager Asset Manager 5.10 Sizing Guide Using the Oracle Database Server, or IBM DB2 Database Server, or Microsoft SQL Server Legal Notices... 2 Introduction... 3 Asset Manager Architecture...

More information

Drupal Performance Tuning

Drupal Performance Tuning Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Archiving File Data with Snap Enterprise Data Replicator (Snap EDR): Technical Overview

Archiving File Data with Snap Enterprise Data Replicator (Snap EDR): Technical Overview Archiving File Data with Snap Enterprise Data Replicator (Snap EDR): Technical Overview Contents 1. Abstract...1 2. Introduction to Snap EDR...1 2.1. Product Architecture...2 3. System Setup and Software

More information

Rational Application Developer Performance Tips Introduction

Rational Application Developer Performance Tips Introduction Rational Application Developer Performance Tips Introduction This article contains a series of hints and tips that you can use to improve the performance of the Rational Application Developer. This article

More information

Load Testing on Web Application using Automated Testing Tool: Load Complete

Load Testing on Web Application using Automated Testing Tool: Load Complete Load Testing on Web Application using Automated Testing Tool: Load Complete Neha Thakur, Dr. K.L. Bansal Research Scholar, Department of Computer Science, Himachal Pradesh University, Shimla, India Professor,

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools

More information

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly

More information

A Novel Way of Deduplication Approach for Cloud Backup Services Using Block Index Caching Technique

A Novel Way of Deduplication Approach for Cloud Backup Services Using Block Index Caching Technique A Novel Way of Deduplication Approach for Cloud Backup Services Using Block Index Caching Technique Jyoti Malhotra 1,Priya Ghyare 2 Associate Professor, Dept. of Information Technology, MIT College of

More information

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

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts

More information

Uptime Infrastructure Monitor. Installation Guide

Uptime Infrastructure Monitor. Installation Guide Uptime Infrastructure Monitor Installation Guide This guide will walk through each step of installation for Uptime Infrastructure Monitor software on a Windows server. Uptime Infrastructure Monitor is

More information

PLATO Learning Environment System and Configuration Requirements. for workstations. April 14, 2008

PLATO Learning Environment System and Configuration Requirements. for workstations. April 14, 2008 PLATO Learning Environment System and Configuration Requirements Version 1.1 (for use with Academic Systems Algebra only) for workstations April 14, 2008 Windows 2000 Professional with SP4 Windows XP Professional

More information

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com Performance Testing Web 2.0 Stuart Moncrieff (Load Testing Guru) www.jds.net.au / www.myloadtest.com 1 Foundations of Web 2.0 (a history lesson) 1993 The National Center for Supercomputing Applications

More information

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS Adrian Mos, John Murphy Performance Engineering Lab, Dublin City University Glasnevin, Dublin 9, Ireland Tel: +353 1 700-8762,

More information

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility

More information

Rich Internet Applications

Rich Internet Applications Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running

More information

Cyclope Internet Filtering Proxy. - Installation Guide -

Cyclope Internet Filtering Proxy. - Installation Guide - Cyclope Internet Filtering Proxy - Installation Guide - 1. Overview 3 2. Installation 4 2.1 System requirements 4 2.2 Cyclope Internet Filtering Proxy Installation 4 2.3 Client Browser Configuration 6

More information

Some Issues on Ajax Invocation

Some Issues on Ajax Invocation Some Issues on Ajax Invocation I. Introduction AJAX is a set of technologies that together a website to be -or appear to be- highly responsive. This is achievable due to the following natures of AJAX[1]:

More information

Performance testing Web 2.0

Performance testing Web 2.0 Performance testing Web 2.0 Stuart Moncrieff, Performance Test Consultant JDS 2009 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice What is

More information

HP Business Process Monitor

HP Business Process Monitor HP Business Process Monitor For the Windows operating system Software Version: 9.23 BPM Monitoring Solutions Best Practices Document Release Date: December 2013 Software Release Date: December 2013 Legal

More information

Clear your browser s cache

Clear your browser s cache Enter Site: This site is best viewed in 1024 x 768 resolution, using IE 6.0 and above. Please remember to clear your browser's cache before you close your Internet browser. Java Applet is required, click

More information

Dependency Free Distributed Database Caching for Web Applications and Web Services

Dependency Free Distributed Database Caching for Web Applications and Web Services Dependency Free Distributed Database Caching for Web Applications and Web Services Hemant Kumar Mehta School of Computer Science and IT, Devi Ahilya University Indore, India Priyesh Kanungo Patel College

More information

From Desktop to Browser Platform: Office Application Suite with Ajax

From Desktop to Browser Platform: Office Application Suite with Ajax From Desktop to Browser Platform: Office Application Suite with Ajax Mika Salminen Helsinki University of Technology mjsalmi2@cc.hut.fi Abstract Web applications have usually been less responsive and provided

More information

1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/04 2012-04-16

1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/04 2012-04-16 1 (11) Paperiton DMS Document Management System System Requirements Release: 2012/04 2012-04-16 2 (11) 1. This document describes the technical system requirements for Paperiton DMS Document Management

More information

MOBILE DEVICE LOCATION INFORMATION ACQUISITION FRAMEWORK FOR DEVELOPMENT OF LOCATION INFORMATION WEB APPLICATIONS Design and Architecture

MOBILE DEVICE LOCATION INFORMATION ACQUISITION FRAMEWORK FOR DEVELOPMENT OF LOCATION INFORMATION WEB APPLICATIONS Design and Architecture MOBILE DEVICE LOCATION INFORMATION ACQUISITION FRAMEWORK FOR DEVELOPMENT OF LOCATION INFORMATION WEB APPLICATIONS Design and Architecture Andrej Dolmac, Stephan Haslinger tisco GmbH, Tigergasse 21/13,

More information

Performance Testing Web 2.0

Performance Testing Web 2.0 Performance Testing Web 2.0 David Chadwick Rational Testing Evangelist dchadwick@us.ibm.com Dawn Peters Systems Engineer, IBM Rational petersda@us.ibm.com 2009 IBM Corporation WEB 2.0 What is it? 2 Web

More information

Volume SYSLOG JUNCTION. User s Guide. User s Guide

Volume SYSLOG JUNCTION. User s Guide. User s Guide Volume 1 SYSLOG JUNCTION User s Guide User s Guide SYSLOG JUNCTION USER S GUIDE Introduction I n simple terms, Syslog junction is a log viewer with graphing capabilities. It can receive syslog messages

More information

Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove

Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove Performance Comparison of Database Access over the Internet - Java Servlets vs CGI Corresponding Author: T. Andrew Yang T. Andrew Yang Ralph F. Grove yang@grove.iup.edu rfgrove@computer.org Indiana University

More information

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache. JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming

More information

ScienceDirect. An Educational HTTP Proxy Server

ScienceDirect. An Educational HTTP Proxy Server Available online at www.sciencedirect.com ScienceDirect Procedia Engineering 69 (2014 ) 128 132 24th DAAAM International Symposium on Intelligent Manufacturing and Automation, 2013 An Educational HTTP

More information

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com

Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader ron.bodkin@glasssbox.com First a summary Glassbox is an open source automated troubleshooter for Java

More information

Online National Polling

Online National Polling Online National Polling Software Requirements Specification Version 2.0 Team Guide: Lecturer: Mr. Mohammad Sharif Team Members: Deepak Lakkireddy Rahul Reddy Shanmugam B. Debyani Sen Department: Computer

More information

SEACW DELIVERABLE D.1.6

SEACW DELIVERABLE D.1.6 SEACW DELIVERABLE D.1.6 Validation Methodology Specifications Project Acronym SEACW Grant Agreement No. 325146 Project Title Deliverable Reference Number Deliverable Title Social Ecosystem for Antiaging,

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

Microsoft Developing ASP.NET MVC 4 Web Applications

Microsoft Developing ASP.NET MVC 4 Web Applications 1800 ULEARN (853 276) www.ddls.com.au Microsoft 20486 - Developing ASP.NET MVC 4 Web Applications Length 5 days Price $4510.00 (inc GST) Version B Overview In this course, students will learn to develop

More information

I. General Database Server Performance Information. Knowledge Base Article. Database Server Performance Best Practices Guide

I. General Database Server Performance Information. Knowledge Base Article. Database Server Performance Best Practices Guide Knowledge Base Article Database Server Performance Best Practices Guide Article ID: NA-0500-0025 Publish Date: 23 Mar 2015 Article Status: Article Type: Required Action: Approved General Product Technical

More information

4.2 Understand Microsoft ASP.NET Web Application Development

4.2 Understand Microsoft ASP.NET Web Application Development L E S S O N 4 4.1 Understand Web Page Development 4.2 Understand Microsoft ASP.NET Web Application Development 4.3 Understand Web Hosting 4.4 Understand Web Services MTA Software Fundamentals 4 Test L

More information

The Research and Design of NSL-Oriented Automation Testing Framework

The Research and Design of NSL-Oriented Automation Testing Framework The Research and Design of NSL-Oriented Automation Testing Framework Chongwen Wang School of Software, Beijing Institute of Technology, Beijing, China wcwzzw@bit.edu.cn Abstract. By analyzing the Selenium

More information

Remote Network Accelerator

Remote Network Accelerator Remote Network Accelerator Evaluation Guide LapLink Software 10210 NE Points Drive Kirkland, WA 98033 Tel: (425) 952-6000 www.laplink.com LapLink Remote Network Accelerator Evaluation Guide Page 1 of 19

More information

PLATO Learning Environment 2.0 System and Configuration Requirements. Dec 1, 2009

PLATO Learning Environment 2.0 System and Configuration Requirements. Dec 1, 2009 PLATO Learning Environment 2.0 System and Configuration Requirements Dec 1, 2009 Table of Contents About this document... 3 Document Change Log... 4 System & Configuration Requirements... 5 Workstation

More information

Web Conferencing Version 8.3 Troubleshooting Guide

Web Conferencing Version 8.3 Troubleshooting Guide System Requirements General Requirements Web Conferencing Version 8.3 Troubleshooting Guide Listed below are the minimum requirements for participants accessing the web conferencing service. Systems which

More information

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? Questions 1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? 4. When will a TCP process resend a segment? CP476 Internet

More information

Load testing with WAPT: Quick Start Guide

Load testing with WAPT: Quick Start Guide Load testing with WAPT: Quick Start Guide This document describes step by step how to create a simple typical test for a web application, execute it and interpret the results. A brief insight is provided

More information

Implementing a Web-based Transportation Data Management System

Implementing a Web-based Transportation Data Management System Presentation for the ITE District 6 Annual Meeting, June 2006, Honolulu 1 Implementing a Web-based Transportation Data Management System Tim Welch 1, Kristin Tufte 2, Ransford S. McCourt 3, Robert L. Bertini

More information

Enabling AJAX in ASP.NET with No Code

Enabling AJAX in ASP.NET with No Code Enabling AJAX in ASP.NET with No Code telerik s r.a.d.ajax enables AJAX by simply dropping a control on a Web page, without otherwise modifying the application or writing a single line of code By Don Kiely

More information

VPN: Virtual Private Network Setup Instructions

VPN: Virtual Private Network Setup Instructions VPN: Virtual Private Network Setup Instructions Virtual Private Network (VPN): For e-journals and web-based databases, plus applications like EndNote's Online Search (formerly "Connect") and business systems.

More information

MEGA Web Application Architecture Overview MEGA 2009 SP4

MEGA Web Application Architecture Overview MEGA 2009 SP4 Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.

More information

Infor Web UI Sizing and Deployment for a Thin Client Solution

Infor Web UI Sizing and Deployment for a Thin Client Solution Infor Web UI Sizing and Deployment for a Thin Client Solution Copyright 2012 Infor Important Notices The material contained in this publication (including any supplementary information) constitutes and

More information

Cyclope Internet Filtering Proxy

Cyclope Internet Filtering Proxy Cyclope Internet Filtering Proxy - Installation Guide - Cyclope-Series - 2010 - Table of contents 1. Overview - 3-2. Installation - 4-2.1. System requirements - 4-2.2. Cyclope Internet Filtering Proxy

More information

RightNow November 09 Workstation Specifications

RightNow November 09 Workstation Specifications RightNow November 09 Workstation Specifications This document includes the workstation specifications required for using RightNow November 09. Additional requirements for Outlook Integration, RightNow

More information

WORKFORCE PERFORMANCE BUILDER 9.1. Workforce Performance Builder 9.1 System requirements

WORKFORCE PERFORMANCE BUILDER 9.1. Workforce Performance Builder 9.1 System requirements Workforce Performance Builder 9.1 System requirements 1 Table of contents SAP WORKFORCE PERFORMANCE BUILDER PRODUCER (AUTHOR WORKPLACE)... 4 SAP WORKFORCE PERFORMANCE BUILDER MANAGER... 5 SAP WORKFORCE

More information

A Proxy-based Architecture for Multimedia Transmission

A Proxy-based Architecture for Multimedia Transmission Proceedings of the 8th WSEAS International Conference on Automation and Information, Vancouver, Canada, June 19-21, 2007 322 A Proxy-based Architecture for Multimedia Transmission WANG DA-ZHEN [1,2], WAN

More information

Ajax: A New Approach to Web Applications

Ajax: A New Approach to Web Applications 1 of 5 3/23/2007 1:37 PM Ajax: A New Approach to Web Applications by Jesse James Garrett February 18, 2005 If anything about current interaction design can be called glamorous, it s creating Web applications.

More information

Addressing Mobile Load Testing Challenges. A Neotys White Paper

Addressing Mobile Load Testing Challenges. A Neotys White Paper Addressing Mobile Load Testing Challenges A Neotys White Paper Contents Introduction... 3 Mobile load testing basics... 3 Recording mobile load testing scenarios... 4 Recording tests for native apps...

More information

2 6th December 2012 Copyright Eddie Obeng 2010 Pentacle 2011 All rights reserved

2 6th December 2012 Copyright Eddie Obeng 2010 Pentacle 2011 All rights reserved Table of Contents 1 Introduction 2 System Requirements 3 Technical service / support 4 Administration 5 Data storage / location 6 Security 7 Ports/ firewalls/ network impact 8 Performance 9 Standards/interoperability

More information

Hardware Recommendations

Hardware Recommendations Hardware Recommendations Alpha Anywhere is a Windows based system that will run on various Windows versions. The minimum requirement is Windows XP SP3 or Server 2003. However, it is recommended that at

More information

Sage 200 Online. System Requirements and Prerequisites

Sage 200 Online. System Requirements and Prerequisites Sage 200 Online System Requirements and Prerequisites v2013 Copyright statement Sage (UK) Limited, 2013. All rights reserved. If this documentation includes advice or information relating to any matter

More information

Modern Technologies in Client-Server Architecture for Geo-based Interactive Web Portals

Modern Technologies in Client-Server Architecture for Geo-based Interactive Web Portals Journal of Universal Computer Science, vol. 12, no. 9 (2006), 1208-1214 submitted: 31/12/05, accepted: 12/5/06, appeared: 28/9/06 J.UCS Modern Technologies in Client-Server Architecture for Geo-based Interactive

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information