AJAX By Steven Hernandez Research Analyst NIATEC.

Slides:



Advertisements
Similar presentations
Dodick Zulaimi Sudirman Lecture 12 Introduction to AJAX Pengantar Teknologi Internet Introduction to Internet Technology.
Advertisements

Project 1 Introduction to HTML.
6/3/2015eBiquity1 Tutorial on AJAX Anubhav Kale (akale1 AT cs DOT umbc DOT edu)
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
1 Owais Mohammad Haq Department of Computer Science Eastern Michigan University April, 2005 Java Script.
Mobil Experience Meeting Bent Flyen Senior Project Manager Opera Consumer Engineering
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Web Design Basic Concepts.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
Ryan Putz. Outline  What is Ajax?  Member Technologies  Methodology  When and When Not To Use  Who’s Using Ajax?  Code Examples.
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
4.1 JavaScript Introduction
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Ruth Betcher Ruth Christie
Mobile App Support Jacob Poirier Geri Hengesbach Andrea Menke Erin Rossell.
Lecture 12 – AJAX SFDV3011 – Advanced Web Development Reference: 1.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
 2008 Pearson Education, Inc. All rights reserved Ajax-Enabled Rich Internet Applications.
AJAX Without the “J” George Lawniczak. What is Ajax?
Ajax Technology for the Web Nic Shulver, FCET, Staffordshire University Introduction What is it? Pros and Cons Why is it important? Traditional Client-Server.
JavaScript Tabriz university Its September 1995.
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.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
1 Approaches for Asynchronous Communication in Web Applications Stefan Potthast and Mike Rowe.
Ajax. –Asynchronous JavaScript and XML –Umbrella term for technologies that often: Use client-side scripting for layout and formatting Use less than full.
Network Computing Laboratory Ajax - Rich User Experience Initiative - Dec Inseok Hwang.
Random Logic l Forum.NET l AJAX Behind the buzz word Forum.NET ● January 23, 2006.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
AJAX (also known as: XMLHTTP, Remote Scripting, XMLHttpRequest, etc.) Matt Warden.
Ajax. –Asynchronous JavaScript and XML –Umbrella term for technologies that often: Use client-side scripting for layout and formatting Use less than full.
Asynchronous Javascript And XML AJAX : an introduction UFCEUS-20-2 : Web Programming.
Ajax ( Asynchronous JavaScript + XML ) Information Science and Knowledge Systems: Semantic Web Spring 2006 / Dr. Don Turnbull Presented by David Kim.
School of Computing and Information Systems CS 371 Web Application Programming AJAX.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Ajax for Dynamic Web Development Gregory McChesney.
Chapter 16: Ajax-Enabled Rich Internet Applications with XML and JSON TP2543 Web Programming Mohammad Faidzul Nasrudin.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
 AJAX – Asynchronous JavaScript and XML  Ajax is used to develop fast dynamic web applications  Allows web pages to be updated asynchronously by transferring.
Google Web Toolkit Dynamic web on Java (Script) Jordan Jordanov 6 March 2008.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
ZK AJAX FRAMEWORK  R.RAJESH. What is ZK?  ZK is an open-source Ajax Web application framework, written in Java that enables creation of rich graphical.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
JavaScript & Introduction to AJAX
Lesson 30: JavaScript and DHTML Fundamentals. Objectives Define and contrast client-side and server-side technologies used to create dynamic content for.
AJAX AJAX Asynchronous JavaScript and XML --- MADHAVI
Introduction to the World Wide Web & Internet CIS 101.
AJAX – Asynchronous JavaScript And XML By Kranthi Kiran Nuthi CIS 764 Kansas State University.
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.
AJAX JaxFusion April 2006 David Fekke. Who am I? David Fekke Lead Software Engineer Data Inteligence Group
PHP and AJAX. Servers and Clients For many years we tried to move as much as possible to the server. Weak clients, poor bandwidth, browser compatibility..
Overview Web Technologies Computing Science Thompson Rivers University.
Ajax SUBMITTED BY NITIN RAMANI C.S.E 3 rd Y 5 th S R.N CS SUBMITTED TO PRO. PUSHPARAJ PATEL SIR.
Web Technologies Computing Science Thompson Rivers University
JavaScript and Ajax (Ajax Tutorial)
Chapter 1 Introduction to HTML.
Web Debugging Proxy Application
AJAX.
Asynchronous Java script And XML Technology
AJAX.
DWR: Direct Web Remoting
HTML5 Level I Session I Chapter 1 - Introduction to Web Development
Web Technologies Computing Science Thompson Rivers University
Presentation transcript:

AJAX By Steven Hernandez Research Analyst NIATEC

Introduction Who I am Who I am Education Education AAS Electronic Systems AAS Electronic Systems AAS Lasers and Electro-Optics AAS Lasers and Electro-Optics BBA CIS from COB at ISU BBA CIS from COB at ISU Currently working towards MBA in IA Currently working towards MBA in IA Experience Experience Network Administration Network Administration Desktop Support/Helpdesk Management Desktop Support/Helpdesk Management Systems Administration Consulting Systems Administration Consulting Research Analyst Research Analyst

NIATEC National Information Assurance Training and Education Center National Information Assurance Training and Education Center SFS: Scholarship for Service SFS: Scholarship for Service Undergrads: Junior Rising or Candidates with 2 years remaining Undergrads: Junior Rising or Candidates with 2 years remaining Grad students – MBA Grad students – MBA

Goals and Objectives Overview of AJAX Overview of AJAX History History Technologies Involved Technologies Involved Limitations & Uses Limitations & Uses Implementations Implementations Basic Terms and Components Basic Terms and Components Basic Objects Basic Objects

AJAX History Microsoft Remote Scripting First to make use of asynchronous scripting First to make use of asynchronous scripting IFRAME based JSRS (2000) IFRAME based JSRS (2000) Image/Cookie techniques (2000) Image/Cookie techniques (2000) JavaScript on Demand (2002) JavaScript on Demand (2002) User-community mod to Remote scripting: User-community mod to Remote scripting: XMLHttpRequest XMLHttpRequest Asynchronous JavaScript and XML Asynchronous JavaScript and XML Jesse James Garrett of Adaptive Path Jesse James Garrett of Adaptive Path

The Good Interactive Interactive Very GUI and fun to play with! Very GUI and fun to play with! Very responsive Very responsive Supported by features found in all major browsers on most existing platforms Supported by features found in all major browsers on most existing platforms Examples of AJAX done right Examples of AJAX done right Google Maps, Mail, and Suggest Google Maps, Mail, and Suggest

The Bad There’s no going back baby! There’s no going back baby! Back button functionality Back button functionality Sessions and cookies work around this Sessions and cookies work around this Response time concerns Response time concerns Network Latency Considerations Network Latency Considerations Feedback to the user Feedback to the user Preloading of data Preloading of data Proper use of XMLHttpRequest Proper use of XMLHttpRequest Devices Devices

The Ugly JavaScript MUST be enabled! JavaScript MUST be enabled! Elaborate Error handling Elaborate Error handling Browser Handling Browser Handling Learning Curve and Development Learning Curve and Development Early Stages Early Stages Sharp Learning Curve Sharp Learning Curve Crafty use of CSS, DHTML, XML, XHTML, and JS Crafty use of CSS, DHTML, XML, XHTML, and JS More of an Art than a Science at present More of an Art than a Science at present

Security Considerations Securing AJAX Securing AJAX New technology New technology Client Side Processing Client Side Processing Federal Guidelines Federal Guidelines Man in the Middle attacks Man in the Middle attacks

Accessibility Considerations WAI accessibility Guidelines WAI accessibility Guidelines AJAX relies heavily on features present in desktop graphical browsers AJAX relies heavily on features present in desktop graphical browsers If unable to use the AJAX interface If unable to use the AJAX interface Would the page still be usable? Would the page still be usable? Performance? Performance? Feel? Feel? Content? Content?

Browsers Supporting AJAX Microsoft IE 5.0 and above Microsoft IE 5.0 and above (Mac OS versions Not supported) (Mac OS versions Not supported) Gecko based Browsers Gecko based Browsers Mozilla Mozilla Firefox Firefox Netscape 7.1 and up Netscape 7.1 and up Khtml API Khtml API Konqueror 3.2 and up Konqueror 3.2 and up Apple’s Safari 1.2 and up Apple’s Safari 1.2 and up Opera 8.0 and up Opera 8.0 and up

Who’s Using AJAX Google Google Google Maps Google Maps Google Suggest Google Suggest Google Mail Google Mail Online messenger system Online messenger system Online Photo system Online Photo system ve-Demos/?from=ajax ve-Demos/?from=ajax ve-Demos/?from=ajax ve-Demos/?from=ajax Online webpage development Online webpage development

AJAX Innards HTML HTML JavaScript JavaScript DHTML DHTML Dynamic HTML Dynamic HTML DOM DOM Document Object Model Document Object Model

HTML Hypertext markup language Hypertext markup language Build webforms Build webforms Identify Fields for use Identify Fields for use

JavaScript Core Code Running! Core Code Running! Facilitates communications with the server Facilitates communications with the server

DHTML Dynamic HTML Dynamic HTML Helps update forms dynamically Helps update forms dynamically Mostly “div” and “span” Mostly “div” and “span”

DOM Document Object Model Document Object Model Used through JavaScript Used through JavaScript Used in heavy-duty Java and C/C++ Used in heavy-duty Java and C/C++ No worries No worries Used mostly for XML Used mostly for XML Just know its out there Just know its out there Another lecture in itself Another lecture in itself

XMLHttpRequest JavaScript Object JavaScript Object Heart of AJAX Heart of AJAX Layer between Server and Client Layer between Server and Client Makes things “asynchronous” Makes things “asynchronous” Example: Example: Create a new XMLHttpRequest Object Create a new XMLHttpRequest Object var xmlHttp = new XMLHttpRequest(); var xmlHttp = new XMLHttpRequest();

JavaScript Functions Common Example Common Example // Get the value of the "phone" field and stuff it in a variable called phone var phone = document.getElementById("phone").value; // Set some values on a form using an array called response document.getElementById("order").value = response[0]; document.getElementById("address").value = response[1]; // Get the value of the "phone" field and stuff it in a variable called phone var phone = document.getElementById("phone").value; // Set some values on a form using an array called response document.getElementById("order").value = response[0]; document.getElementById("address").value = response[1];

Browser Considerations Microsoft Internet Explorer Microsoft Internet Explorer var xmlHttp = false; try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } var xmlHttp = false; try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } }

Browser Considerations Mozilla/Firefox (Non-IE) Mozilla/Firefox (Non-IE) var xmlHttp = new XMLHttpRequest object; var xmlHttp = new XMLHttpRequest object;

Multi-Browser Support /* Create a new XMLHttpRequest object to talk to the Web server */ var xmlHttp = >= 5) try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } /* Create a new XMLHttpRequest object to talk to the Web server */ var xmlHttp = >= 5) try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; if (!xmlHttp && typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); }

Conclusions New Technology New Technology Standards and common criteria are still in development Standards and common criteria are still in development More of an art than a science More of an art than a science Beautiful interfaces and webpages Beautiful interfaces and webpages The future The future AJAX.NET and similar AJAX.NET and similar

Questions/Comments Thanks! Thanks!