1 Approaches for Asynchronous Communication in Web Applications Stefan Potthast and Mike Rowe.

Slides:



Advertisements
Similar presentations
ProJAX An AJAX Framework for Progress Tom Bascom President Greenfield Technologies
Advertisements

Introducing Mapbuilder Michael Adair Natural Resources Canada.
Do We Really Need Rich-Interface Technologies? Yifan Zhang
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet Tara Matthews Seattle University April 5, 2001 Faculty Mentor:
Ryan Putz. Outline  What is Ajax?  Member Technologies  Methodology  When and When Not To Use  Who’s Using Ajax?  Code Examples.
Introduction The performance of web is getting important due to the fact that more and more services have been presented by web interfaces recently. Our.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Chris Pinski.  History  What is Ajax  Who uses Ajax  Underlying Technologies  SE Aspect  Common Problems  Conclusion.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
1 Ajax. 2 What’s Ajax? AJAX is a combination of a few technologies that has come together in the past few years AJAX used to be an acronym for Asynchronous.
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
11/13/2007 A synchronous J avaScript A nd X ML Gloria Law Joshua Mahaz.
AJAX By Steven Hernandez Research Analyst NIATEC.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
ASP.NET AJAX 1. Ordinary web applications vs. AJAX Ordinary web application The full page is updated at each request The page is not available while being.
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
Matrix Mapping Tool Sam Gross Internship at Virtual Technology Corporation.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Ajax. –Asynchronous JavaScript and XML –Umbrella term for technologies that often: Use client-side scripting for layout and formatting Use less than full.
Client side web programming Introduction Jaana Holvikivi, DSc. School of ICT.
1 AJAX and Dapper: The Good, the Bad, and the Ugly Joe Sirott PMEL/NOAA.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Random Logic l Forum.NET l AJAX Behind the buzz word Forum.NET ● January 23, 2006.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Fall 2006 Florida Atlantic University Department of Computer Science & Engineering COP 4814 – Web Services Dr. Roy Levow Part 2 – Ajax Fundamentals.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Web Technology Introduction AJAXAJAX. AJAX Outline  What is AJAX?  Benefits  Real world examples  How it works  Code review  Samples.
INNOV-7: Building a Richer UI for the Browser Chris Skeldon Senior Solution Consultant.
the acronym for Asynchronous JavaScript and XML.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
TOPIC II Dynamic HTML Prepared by: Nimcan Cabd Cali.
Ajax for Dynamic Web Development Gregory McChesney.
Ajax VS Flex A comparison based on shopping cart implementation PoHsu Yeh py2157.
Summer 2007 Florida Atlantic University Department of Computer Science & Engineering COP 4814 – Web Services Dr. Roy Levow Part 1 – Introducing Ajax.
SE-2840 Dr. Mark L. Hornick 1 Introduction to Ajax Asynchronous Javascript And XML.
JavaScript and Ajax (Internet Background) Week 1 Web site:
JavaScript & Introduction to AJAX
AJAX AJAX Asynchronous JavaScript and XML --- MADHAVI
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
INNOV-2: Build a Better Web Interface Using AJAX Chris Morgan Pandora Software Systems
 AJAX technology  Rich User Experience  Characteristics  Real live examples  JavaScript and AJAX  Web application workflow model – synchronous vs.
ASP.Net ICallback Vijayalakshmi G M Senior Trainer Binary Spectrum.
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Technologies For Creating Rich Internet Applications Presenter's name
National College of Science & Information Technology.
Arklio Studija 2007 File: / / Page 1 Automated web application testing using Selenium
Web Technologies Computing Science Thompson Rivers University
JavaScript and Ajax (Ajax Tutorial)
WWW and HTTP King Fahd University of Petroleum & Minerals
JavaScript and Ajax (Internet Background)
GeneXus 9.0: Web applications at their higher power
Web Debugging Proxy Application
AJAX.
Asynchronous Java script And XML Technology
AJAX.
Introduction to AJAX MIS 3502 Jeremy Shafer Department of MIS
Introduction to AJAX MIS 3502 Jeremy Shafer Department of MIS
AJAX Robin Burke ECT 360.
Web Technologies Computing Science Thompson Rivers University
Presentation transcript:

1 Approaches for Asynchronous Communication in Web Applications Stefan Potthast and Mike Rowe

2 Contact Information Stefan Potthast, M.Sc. Computer Science Department University of Applied Sciences Darmstadt, Germany Mike Rowe, Ph.D. Computer Science and Software Engineering Department University of Wisconsin - Platteville Platteville, WI

3 Outline of Topics Synchronous Web Pages Asynchronous Web Applications Asynchronous Web Technologies Metrics Results Conclusions

4 Web pages are becoming more complex and dynamic

5 Synchronous Communication Architecture UI direct initiates the HTTP request and is blocked until the response is returned. This loads a complete new page  often high latency – high bandwidth requirements Page metaphor of the Web

6 Asynchronous Communication Architecture Transaction and Embedding (T&E) process is added to the browser. The T&E process handles communications with the Web Server This frees the User Interface from blocking

7 Asynchronous Communication Architecture Rather than making HTTP Requests directly, the UI sends asynchronous requests to the T&E The T&E in turn sends requests for content to the server. When content is returned the T&E embeds the new content. Under this mechanism the UI is not blocked and it more closely resembles a desktop application. This mechanism has been available for many years, being initially deployed as ActiveX.

8 Asynchronous Communication Architecture  Blocking of the interface for User  Loading of a complete new page only the changed data needed  Often high Lower latency and Lower Bandwidth requirements.  Page metaphor of the Web User Experience is that of a Desktop Application

9 AJAX In 2005 Jesse James Garrett described a combination of already existing technologies for asynchronous JavaScript and XML (AJAX). This introduction of the term AJAX, gave the functionality a common name. Often Ajax (lower case “jax”) is used for non-JavaScript and XML asynchronous implementations.

10 Asynchronous Technologies Studied Four different approaches were studied: AJAX HTML Inline Frames MS Remote Data Services (RDS) Document Object Model (DOM) Level 3 Load and Save

11 Tests An application with two primary parts was implemented. Data Loading – downloading data from the Server to the Browser Data Sending – sending data from the Browser to the Server

12 Metrics Complexity LOCs: needed to implement applications Dispersion (D): LOCs i in the main block, LOCs o outside the main block, D = LOCs o / (LOCs i + LOCs o ) The fewer LOCs and low D we believe increase maintainability.

13 Metrics Runtimes Data Loading time - the time needed to download data from the Server to the Browser Data Sending time – the time needed to sending data from the Browser to the Server Each of above were tested with 1KB, 10KB and 100KB datasets.

14 Metrics Features – subjective measure of the richness of each technologies feature set. Drawbacks – subjective measure of shortcomings of each technology. Browser Support – each test was attempted on Firefox, Opera, and IE 6.0

15 Complexity: Loading Task ApproachProgram Length (LOC)Code Dispersion (D) AJAX(XHR)260 HTML Inline Frames Microsoft RDS DOM3 Load and Save140

16 Complexity: Saving Task ApproachProgram Length (LOC)Code Dispersion (D) AJAX(XHR)270 HTML Inline Frames Microsoft RDS (Did not support task) N/A DOM3 Load and Save (Did not support task) N/A

17 AJAX - msecs Opera could not load more than 5KB; AJAX Internet Explorer Mozilla FirefoxOpera meansdmeansdmeansd Load 1 kb Load 10 kb Load 100 kb Save 1 kb Save 10 kb N/A Save 100 kb N/A

18 INLINE Frames - msecs IFrames Internet Explorer Mozilla FirefoxOpera meansdmeansdmeansd Load 1 kb Load 10 kb Load 100 kb Save 1 kb Save 10 kb N/A Save 100 kb N/A

19 MS Remote Data Services - msecs Note RDS is only supported by IE and only on server side; very fast loading; currently this technology is deprecated RDS Internet ExplorerMozilla FirefoxOpera meansdmeansdmeansd Load 1 kb N/A Load 10 kb N/A Load 100 kb N/A Save 1 kb N/A Save 10 kb N/A Save 100 kb N/A

20 Document Object Model - msecs currently very little support yet for this newest technology DOM3 LS Internet Explorer Mozilla FirefoxOpera meansdmeansdmeansd Load 1 kb N/A Load 10 kb N/A Load 100 kb N/A Save 1 kb N/A Save 10 kb N/A Save 100 kb N/A

21 Conclusions Inline Frames were not originally meant for asynchronous communication; high complexity RDS provides very fast loading, but is too specialized as well as being nearly dead DOM3 LS is still in the fledgling stages; poor browser support AJAX performed consistently well in all decisive criteria. For a much more detailed report on this problem see Stefan Potthast’s Thesis.

22 Questions – only easy ones please!

23 Asynchronous Communication Architecture AJAX Influence to the Web HTML Inline Frames RDS DOM3 Load & Save Comparison

24 AJAX Loading Time

25 AJAX Saving Time: Opera was not able to save more than 5 KB

26 I-Frames Saving Date

27 Inline Frames Loading Data