Chapter 12: Advanced topic Web 2.0



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

Rich Internet Applications

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 :

Performance Testing for Ajax Applications

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

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

Ajax: A New Approach to Web Applications

AJAX. Gregorio López López Juan Francisco López Panea

From Desktop to Browser Platform: Office Application Suite with Ajax

Developing Offline Web Application

RadView Software Whitepaper. Load Testing Web 2.0 Technologies Ajax-RIA-SOA-Web Services

Vector Web Mapping Past, Present and Future. Jing Wang MRF Geosystems Corporation

Programming in HTML5 with JavaScript and CSS3

Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University

Client-side Web Engineering From HTML to AJAX

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Web Applications Come of Age

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

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

Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Ajax Design and Usability

Example. Represent this as XML

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

XML Processing and Web Services. Chapter 17

Performance Testing Web 2.0

Web Pages. Static Web Pages SHTML

AJAX: Highly Interactive Web Applications. Jason Giglio.

Lecture Overview. Web 2.0, Tagging, Multimedia, Folksonomies, Lecture, Important, Must Attend, Web 2.0 Definition. Web 2.

Software Requirements Specification For Real Estate Web Site

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Solution Showcase Session. Enterprise 2.0 Computing Services

Integration the Web 2.0 way. Florian Daniel April 28, 2009

PROJECT MANAGEMENT SYSTEM

Web Development News, Tips and Tutorials

Experimenting in the domain of RIA's and Web 2.0

Enabling AJAX in ASP.NET with No Code

Outline. CIW Web Design Specialist. Course Content

Scalable and Efficient Web Application Architectures. Thin-clients and SQL vs. Thick-clients and NoSQL

Revisiting SQL Injection Will we ever get it right? Michael Sutton, Security Evangelist

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

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

Chapter 10: Multimedia and the Web

ActiveX AJAX ASP. AudioMP3

Smartphone Application Development using HTML5-based Cross- Platform Framework

Web Design Specialist

Abstract. Description

How To Write A Web Server In Javascript

AJAX Integration Approach for Collaborative Calendar-Server Web Services

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

Rich Web Map Applications HANNES JOHANSSON

Art of Code Front-end Web Development Training Program

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

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

Rich-Internet Anwendungen auf Basis von ColdFusion und Ajax

Introduction to BlackBerry Smartphone Web Development Widgets

Upgrade to Microsoft Web Applications

Some Issues on Ajax Invocation

Evolving Web Applications with AJAX - A Review

Curl Building RIA Beyond AJAX

Framework as a master tool in modern web development

Web application Architecture

Using Ajax for Desktop-like Geospatial Web Application Development

Core Ideas CHAPTER 1 PART. CHAPTER 2 Pre-Ajax JavaScript Communications Techniques CHAPTER 3 XMLHttpRequest Object CHAPTER 4 Data Formats

How To Build A Web App

Adding Panoramas to Google Maps Using Ajax

WEB DEVELOPMENT IA & IB (893 & 894)

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Preface. Motivation for this Book

Install this update to increase the performance of web sites that use Ajax. After you install this item, you may have to restart your computer.

RIA Technologies Comparison

Web-Application Security

Web Design and Development Certificate Program

Web Programming Languages Overview

Web Cloud Architecture

It is highly recommended that you are familiar with HTML and JavaScript before attempting this tutorial.

Research on HTML5 in Web Development

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

06 XML-based Technologies

White Paper. Understanding Web 2.0. Technologies, Risks, and Best Practices

DIPLOMA IN GRAPHIC WEB DESIGN AND WEB DEVELOPMENT COURSE INFO PACK

Transcription:

Chapter 12: Advanced topic Web 2.0

Contents Web 2.0 DOM AJAX RIA

Web 2.0 "Web 2.0" refers to the second generation of web development and web design that facilities information sharing, interoperability, user-centered design collaboration on web. Web 2.0 does not have any technical update specifications Web 2.0 refers to cumulative changes in the ways software developers and end-users utilize the Web User create web contents Users can own the data and exercise control over that data Ex: social-networking sites, video-sharing sites, wikis, blogs, google maps

Web 2.0 vs. Web 1.0 Web 1.0 Web 2.0 collective for individuals provide content readable communication between systems dispersed in many places for society, collective wisdom provide services and APIs writable synchronization between systems the system includes structure, the content generated is precalculated auto-generate and auto-suggest

Example of the move to Web 2.0 Web 1.0 --> Web 2.0 Ofoto --> Flickr Akamai --> BitTorrent mp3.com --> Napster (users share file) Britannica Online --> Wikipedia (users create content) personal websites --> blogging domain name speculation --> search engine optimization publishing --> participation

DOM The Document Object Model (DOM) platform- and language-independent standard object model for representing HTML or XML documents DOM provides an API for querying, traversing and manipulating such documents It defines the logical structure of documents and the way a document is accessed and manipulated. programmers can build documents, navigate their structure, and add, modify, or delete elements and content of HTML and XML DOM uses objects to model elements of documents. XML presents data as documents, and the DOM may be used to manage this data. DOM is a model and is implemented in different language: Javascript, VBscript, Java

DOM The DOM model of a document resembles closely the structure of the document. Ex: <TABLE> <TBODY> <TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR> <TR> <TD>Over the River, Charlie</TD> <TD>Dorian</TD> </TR> </TBODY> </TABLE> DOM representation

DOM DOM currently consists of two parts DOM Core represents the functionality used for XML documents serves as the basis for DOM HTML A compliant implementation of the DOM must implement entirely the Core and implement at least one of the HTML DOM and the extended (XML) interfaces DOM HTML. Model for HTML document Document, form, button, etc Example of programming with DOM See the textbook

Ajax Ajax = Asynchronous JavaScript and XML, A group of interrelated web development techniques used on the client-side to create interactive web applications or rich Internet applications. With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. reduce bandwidth usage and load time increase interactivity and dynamicity on web pages better quality of Web services Data is usually retrieved using the XMLHttpRequest object. Despite the name, the use of JavaScript and XML is not actually required, nor do the requests need to be asynchronous.

History of Ajax 199x: Techniques for the asynchronous loading of content is introduced with Java applets 1996, Internet Explorer introduced the IFrame element to HTML, which also enables this to be achieved. 1999, Microsoft created the XMLHTTP ActiveX control in Internet Explorer 5 using the native XMLHttpRequest object. However, this feature only became widely known after being used by Gmail (2004) and Google Maps (2005). The term "Ajax" itself was coined in 2005

Ajax technology Uses XHTML and CSS for presentation Uses DOM for dynamic display of and interaction with data Uses XML and XSLT for the interchange, and manipulation and display, of data, respectively Uses XMLHttpRequest object for asynchronous communication Uses JavaScript to bring these technologies together However Other languages such as VBScript can also replace JavaScript in Ajax XML, XSLT are not required for data interchange and manipulation. JavaScript Object Notation (JSON) is often used as an alternative format for data interchange. Other formats such as preformatted HTML or plain text can also be used

Drawbacks of Ajax Pages dynamically created using Ajax requests do not automatically be registered to the browser's history engine "back" button may not return the user to an earlier state of the Ajaxenabled page Dynamic web page updates also make it difficult for a user to bookmark a particular state of the application. Most web crawlers do not execute JavaScript code it is impossible for search engine to index page that content is retrieved with Ajax, Browsers, devices such as mobile phones, PDAs, and screen readers that do not support Ajax or JavaScript will not be able to use its functionality. Ajax opens up another attack vector for malicious code that web developers might not fully test for

Example of Ajax Pages using Ajax Gmail: Read or writing an reply email does not require to reload the page News site Play video without reload page

RIA Term RIA was introduced in March 2002 by vendors like Macromedia Rich Internet applications (RIAs) are web applications that have most of the characteristics of desktop applications by using web browser plug-ins or sandboxes or virtual machines. sandbox is a security mechanism for separating running programs. It is often used to execute untested code, or untrusted programs from unverified third-parties, suppliers and untrusted users. RIA frameworks: Adobe Flash/Adobe Flex/AIR, Java/JavaFX, Microsoft Silverlight. Example of RIA: Using browser only : Ajax : Google map Using plug-in : flash : YouTube offline usage : Adobe AIR, Google gears :?