Professional Excellence Symposium 2007 June 1, 2015 AJAX: " The Next Generation of Web Applications” Who:Ian Graham / IT Strategy and Planning Email: Date:22.

Slides:



Advertisements
Similar presentations
WEB 2.0. What we are speaking about… Transformation of WEB, the WEB 2.0 –New generation of websites… –Importance of Open Data… –Importance of Users… –Web.
Advertisements

Server-Side vs. Client-Side Scripting Languages
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.
HTML Form Processing Learning Web Design – Chapter 9, pp Squirrel Book – Chapter 11, pp
1 Cleaning up the Internet Using AJAX, SOAP and Comet CS526 Mike Gerschefske Justin Gray James Yoo 02 May 2006.
NO BORDERS NO BOUNDARIES DESTINATION: SUCCESS The Amazing Race ™ is a registered trademark of CBS Broadcasting Inc. Used with permission.
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Web Page Behavior IS 373—Web Standards Todd Will.
Dynamic Web Pages Bert Wachsmuth. Review  Internet, IP addresses, ports, client-server, http, smtp  HTML, XHTML, XML  Style Sheets, external, internal,
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
5/3/2006 Mike/Justin/JYoo AJAX/SOAP/Comet 1 Cleaning up the Internet Using AJAX, SOAP and Comet CS526 Mike Gerschefske Justin Gray James Yoo 02 May 2006.
 2008 Pearson Education, Inc. All rights reserved What Is Web 2.0?  Web 1.0 focused on a relatively small number of companies and advertisers.
UWWD In our quest to eliminate bad websites, we present…. HALLELUJAH!!
CGS 1000 Introduction to Computers and Technology.
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
ECA 228 Internet/Intranet Design I Intro to the Web.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Web Design Basic Concepts.
Reasonable Sakai Widgets Aaron Zeckoski Gonzalo Silverio Antranig Basman
Browser Comparisons - Convenience Internet Explorer 8 & 9, Chrome 11 and Firefox 4 Searching, Convenience & Add-ons.
Presented by…. Group 2 1. Programming language 2Introduction.
Web 2.0: Concepts and Applications 2 Publishing Online.
Computer Concepts 2014 Chapter 7 The Web and .
Chapter 3 Application Software.
ITP 104.  How the web as a medium is perceived and used, and how that evolution of the web has affected and changed us  What do you do on the Web? 
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
Dynamic Web Pages (Flash, JavaScript)
Server-side Scripting Powering the webs favourite services.
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?
Systems Used for Collaboration When to achieve a common goal, result or work product.
Rich Internet Applications for the Enterprise Creating RIA from your Oracle database using TURBO Enterprise Web 2.0 Presented By: John Krahulec Bizwhazee.
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
Business Software What is database software? p. 145 Allows you to create, access, and manage data Add, change, delete, sort, and retrieve data Next.
Understanding AJAX Hype, Hope, Hurt and Help for the Web MJTS May 4th, 2006 _________________________ Terence Conklin, Conklin Systems
Web Engineering we define Web Engineering as follows: 1) Web Engineering is the application of systematic and proven approaches (concepts, methods, techniques,
StockWatch Developers: Nimrod Hagay Hagai Barkan Supervisors: Assaf Solomovitch Viktor Kulikov June 2009.
Web Applications BIS4430 – unit 8. Learning Objectives Explain the uses of web application frameworks Relate the client-side, server-side architecture.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
Google Apps (Education Edition) A step guide to a successful deployment January 10 th, 2008 California Technology Assistance Project
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Google Tools Preview Party.  Because they are free  High quality applications and services  Constantly enhancing existing features and adding new applications.
Web Technologies Lecture 3 Web forms. HTML5 forms A component of a webpage that has form controls – Text fields – Buttons – Checkboxes – Range controls.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
Web Authoring with Dreamweaver. Unit Objectives  Be able to define keywords: HTML, HTTP (protocol), browser, web server, client/server, tag, attribute,
AJaX and SOA Partha Kuchana. Agenda What is AJaX Benefits & Problems AJaX & SOA AJaX architecture AJaX with No XML.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 2: Introduction to IS2803 Rob Gleasure
AJAX – Asynchronous JavaScript And XML By Kranthi Kiran Nuthi CIS 764 Kansas State University.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
COM: 111 Introduction to Computer Applications Department of Information & Communication Technology Panayiotis Christodoulou.
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.
The Internet and the WWW IT-IDT-5.1. History of the Internet How did the Internet originate? Goal: To function if part of network were disabled Became.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
JavaScript and Ajax (Ajax Tutorial)
AJAX.
UNIT 15 Webpage Creator.
AJAX.
Technical Integration Guide
Presentation transcript:

Professional Excellence Symposium 2007 June 1, 2015 AJAX: " The Next Generation of Web Applications” Who:Ian Graham / IT Strategy and Planning Date:22 June 2007 Talk:

- 2 - Ajax: The Next Generation of Web Applications? what this talk is about Ajax Asynchronous JavaScript and XML A way of – or design pattern for -- building a new style of highly interactive Web application what will I talk about? How browsers traditionally work – the “classic” web How Ajax arose – how browsers’ evolved -- and how this makes things different What Ajax lets you do – with examples Things to think/worry about if building stuff using AJAX And if there is time … –Web 2.0 – what is it and how does AJAX fit in?

- 3 - Ajax: The Next Generation of Web Applications? “ classic” web applications server-side systems data stores backend etc. browser UI web server http request html + css data 1 user does something 2 browser sends request to server (e.g. for a web page) 3 server generates web page (html + css) as a response to the request 4 data is returned in response to the request 5 browser replaces view with data sent from server five stages of each interaction. Will unpack how this actually works later on.

user-driven. Things only happen when the user clicks on a link, pushes a button, etc. 2.views defined by address / link. You can bookmark something and come back to it - e.g or use forward/backward button. 3.simple user interaction. The user – browser interaction is very simple: not like the complex UIs in apps like Word, PowerPoint (of course, that is often a good thing!) Ajax: The Next Generation of Web Applications? characteristics of “classic”

synchronous. Things happen / are synchronized with user-driven events. Ajax: The Next Generation of Web Applications? characteristics (cont.) browser server-side time user activity User activity server processing Request  Response  browser server-side systems http request html + css data

- 6 - browser Ajax: The Next Generation of Web Applications? from “classic” to “Ajax” server-side systems data stores backend etc. UI web server request html + css + xml data data mgmt browser UI Ajax “engine” JavaScript calls Desktop UI “session” management Ajax adds an extra layer of functionality on the browser, which helps manage the desktop / user interaction, and intermediates between what the user sees/does and the functionality of – and data sent out by – the server. How does this work? The next slides explain what’s happing under the “browser hood” to support the Ajax approach.

- 7 - Ajax: The Next Generation of Web Applications? what’s inside a browser so this works? browser UI HTML / CSS data HTML / CSS data other data (e.g. images) other data (e.g. images) data request HTML rendering engine browser UI rendering engine -- takes HTML/CSS data and images, and ‘knows’ how to format and display it. data stores. Browser knows how to save and manage data it downloads. What really happens “under the hood” of a “classic” browser.

- 8 - Ajax: The Next Generation of Web Applications? how it all works -- 1.User clicks on a link: rendering engine / browser sends of a request for a document. 2.Data comes back 3.Browser knows what to do with it and where to put it 4.HTML and CSS go to the rendering engine, which starts painting the screen. This engine also knows to send out more requests for images, needed in the page. E.g. browser UI HTML / CSS data HTML / CSS data other data (e.g. images) other data (e.g. images) data request HTML rendering engine

- 9 - Ajax: The Next Generation of Web Applications? enter JavaScript (1996-8) browser UI other data (e.g. images) other data (e.g. images) HTML / CSS data HTML / CSS data JavaScript Engine JavaScript programs JavaScript programs data HTML rendering engine Javascript engine – can run programs downloaded alongside the HTML, CSS and images. JavaScript programs can detect UI events (clicks, etc.) and run code when the user does something: interactivity is programmable. JavaScript programs, via the engine, can access and modify the HTML / CSS data, dynamically changing the UI that’s displayed.

Ajax: The Next Generation of Web Applications? simple JavaScript examples Javascript calculator -- –JavaScript programs monitor the buttons in a form, and read from / write data to the form. happy faces -- fonts/bouncingsmile.html –Uses JavaScript to move characters around on the screen. interactivity with HTML -- light/index.html –Uses JavaScript to edit / modify the data being displayed. Can also grab things and move them on the screen It took a while for all this to mature. Browsers didn’t support this well, or in the same way, and it was often slow, or buggy.

Ajax: The Next Generation of Web Applications? Ajax: XML data, and a new tool browser UI other data (e.g. images) other data (e.g. images) HTML / CSS data HTML / CSS data JavaScript code JavaScript code data HTML rendering engine JavaScript Engine XML data XML data XML data support. Browsers can now store XML data, and access / manipulate from JavaScript programs via the JavaScript engine. XMLHttpRequest() request a new JavaScript function.. This lets JavaScript programs send out requests for data (images, XML, whatever) on their own, without waiting for a user click. JavaScript programs can now go off and “do their own thing,” including getting data from elsewhere, without waiting for the user to do something!

Ajax: The Next Generation of Web Applications? which brings us to Ajax Ajax is a pattern for building applications on the browser. The pattern is: A.Use JavaScript to control the show. Use it to asynchronously request and retrieve data from remote servers, whenever the program thinks this is a good idea (i.e. not just when the user does something), B.Use XML to send numerical or text-style data to the browser. Then use JavaScript to extract data from the XML, C.Use HTML and CSS for display: manipulate this using JavaScript. browser UI other data (e.g. images) HTML / CSS data XML data JavaScript Code – the Ajax “engine” XMLHttpRequest() HTML rendering engine JavaScript Engine A B C A B C display HTML and CSS C data XML, other formats (e.g. images) B control JavaScript A

browser Ajax: The Next Generation of Web Applications? from “classic” to “Ajax” redux server-side systems data stores backend etc. UI web server request html + css + xml data data mgmt browser UI Ajax “engine” JavaScript calls Desktop UI “session” management html + css browser UI other data (e.g. images) HTML / CSS data XML data JavaScript Code – Ajax engine XMLHttpRequest() HTML rendering engine JavaScript Engine The Ajax “engine” Desktop UI “session” management

Before: Ajax: The Next Generation of Web Applications? before and after Ajax browser server-side time user activity User activity server processing Request  Response  Browser UI: server-side server processing Ajax: time After:

Ajax: The Next Generation of Web Applications? example Ajax sites: –Google web help – provides hints as you search –Web-based version of the game ‘boggle’ –Travel information aggregator – uses Ajax to aggregate to the browser –Google docs and spreadsheets --- Group spreadsheet and word processing applications (more services coming) –More on this when I talk about Web 2.0

Ajax: The Next Generation of Web Applications? how to build Ajax? Can do it custom, but there are libraries that help, by: –providing a JavaScript toolkit that perform common functions / behaviors –supporting multiple browsers (i.e. have built-in workarounds for differences between Internet Explorer 5/6/7, Firefox 1.0/1.5/2.0, others...) There are application ‘frameworks’ that support Ajax within a server/application building environment. For example: –ATLAS (for.NET) –AJAX-JSF (Java) –Cajax (PHP) –Some being provides as part of commercial vendor packages …. –.... (geeks see: ajaxpatterns.org/Ajax_Frameworks, ajaxpatterns.org/Frameworks_Matrix; en.wikipedia.org/wiki/Ajax_framework or search for ‘Open ajax initiative’ or ‘Ajax Framework’ on Google, etc.)

Ajax: The Next Generation of Web Applications? things to worry about? But of course! Concerns fall into four main categories: Application development / maintenance cost –Ajax Libraries are new, and browsers are, well, ‘idiosyncratic’ –No one ideal library –Not part of most commercial toolsets (i.e. bleeding edge / open source) –Skills gap: need web-savvy developers (not Java coders) Behavior is not ‘web-like’ –Standard things (browser ‘back’ button, bookmarks) often don’t work. –Can confuse users if not careful –Often have usability problems with the UI (for users with disabilities) Over-enthusiasm –Ajax isn’t always the right choice. Many things work fine, if not better, without it! Security issues –Whole new avenues to cross-site scripting (XSS) – have to be careful!

Ajax: The Next Generation of Web Applications? our competitors are using these new technologies to meet growing customer needs Scotiabank – Market Summary JP Morgan Chase Investment (Slide courtesy of Simon Zhang, Enterprise Architecture) Yahoo stock tracker

Ajax: The Next Generation of Web Applications? ajax is core to Web 2.0 Web 2.0 is about the culture of web applications, not technology. It is about user participation, collaboration, sharing, and community. It’s about the user, a community of users, rather than the producer. It changes how ‘solutions’ are used, and delivered. Here are some example of ‘traditional’ Web concepts/apps and Web 2.0 ones All the examples from this talk fall in the Web 2.0 category. Ajax is a key underpinning of Web 2.0 Web 1.0Web 2.0 Netscape  Google Mp3.com  Napster Britannica Online  Wikipedia Personal websites  blogging Double Click  Google AdSense Akamai  BitTorrent Publishing  Participation ….. 

Ajax: The Next Generation of Web Applications? example of Web 2.0: Google Apps Google offers an ‘enterprise’ suite of Web 2.0 services (search always included) –Google Mail (10 GB mailbox) –Google Calendar –Personal start page –Google talk (Free text and voice calling / messaging around the world) –Google Docs (like Word) and Google Spreadsheets – collaborative tools –Wiki (coming soon) –Web Page creator / publisher –Extensibility APIs (for customization, SSO, etc.) –Control panels (for domain, user admin) –24 / 7 support And costs are…. –Circa $50 per year for one user….. –$1.7 Million / year for all staff at BMO.

Ajax: The Next Generation of Web Applications? summary and conclusions Ajax is a pattern for building a new style of web applications using JavaScript, XML, and new browser features as core technical underpinnings Ajax can lead to really neat stuff! Ajax has it’s costs, and is not a panacea for all Web site / application ‘problems’ We need to know and experiment with it, to keep up with the neighbors Web 2.0 is more about the cultural wave that Ajax is a part of Need to keep track of Web 2.0 too, as it may change how our customers expect us to offer services

Ajax: The Next Generation of Web Applications? Questions and Answers Thanks! Presenter: Ian Graham Date: June 22, 2007 Location:PES 2007 Talk: