Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor

Slides:



Advertisements
Similar presentations
HTTP Request/Response Process 1.Enter URL ( in your browser’s address bar. 2.Your browser uses DNS to look up IP address of server.com.
Advertisements

Web Applications Development Using Coldbox Platform Eddie Johnston.
Languages for Dynamic Web Documents
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
1 Cleaning up the Internet Using AJAX, SOAP and Comet CS526 Mike Gerschefske Justin Gray James Yoo 02 May 2006.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
1 JavaScript & AJAX CS , Spring JavaScript.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
Web Development & Design Foundations with XHTML Chapter 9 Key Concepts.
It’s World Wide! I NTRODUCTION TO T HE WEB 1 Photo courtesy:
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Chapter 6 DOJO TOOLKITS. Objectives Discuss XML DOM Discuss JSON Discuss Ajax Response in XML, HTML, JSON, and Other Data Type.
Web Design Basic Concepts.
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Introduction to AJAX AJAX Keywords: JavaScript and XML
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
AJAX Chat Analysis and Design Rui Zhao CS SPG UCCS.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
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'
Dr. Azeddine Chikh IS444: Modern tools for applications development.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Yahoo! User Interface (YUI) Library Natly Mekdara.
AJAX in ASP.NET James Crowley Developer Fusion
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Ajax and Ruby on Rails Session 9 INFM 603.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
Fall CIS 764 Database Systems Design L8. Web ….
Web Applications BIS4430 – unit 8. Learning Objectives Explain the uses of web application frameworks Relate the client-side, server-side architecture.
HTML Forms.
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Wijmo Troy Taylor. What is Wijmo? -Wijmo is a kit of over 40 UI widgets, optimized for client-side web development. -HTML5 -jQuery -CSS3 -SVG.
Ajax ( Asynchronous JavaScript + XML ) Information Science and Knowledge Systems: Semantic Web Spring 2006 / Dr. Don Turnbull Presented by David Kim.
Client-side & Server-side Scripting ©Richard L. Goldman August 5, 2003 Requires PowerPoint 2002 or later for full functionality.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
Framework for Virtual Web Laboratory I. Petković M. Rajković.
WHAT IS SERVER SIDE SCRIPTING? Server-side scripting is a web server technology in which a user's request is verified by running a script directly on the.
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.
Introduction and Principles Web Server Scripting.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
INNOV-2: Build a Better Web Interface Using AJAX Chris Morgan Pandora Software Systems
Overview Web Technologies Computing Science Thompson Rivers University.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
1 Introducing Web Developer Tools Rapid application development tools ASP.NET-compatible web editors –Visual Studio.NET Professional Edition –Visual Studio.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
I NTRO TO W EB TECHNOLOGY Basic terms. C LIENT – S ERVER M ODEL a distributed communication between service requestors and service providers.
National College of Science & Information Technology.
DLSLUG Presentation: Firefox extensions. DLSLUG Presentation: Firefox extensions, Roger Trussell ● My address is
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
Web Technologies Computing Science Thompson Rivers University
JavaScript and Ajax (Ajax Tutorial)
AJAX and REST.
AJAX.
AJAX CS-422 Dick Steflik.
Web Technologies Computing Science Thompson Rivers University
Presentation transcript:

Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor Phone: Web:

Lesson Plan, Session 2 1. HTTP Request 2. AJAX design 3. MVC pattern 4. Laboratory 1 5. MVC in action 6. Server interaction 7. Dynamic double combo 8. Type-ahead suggest

HTTP Request W3Schools AJAX Tutorial Observe different code for MSIE, Mozilla / Safari, and Opera (not) HTTP Request is not standard Callback functions Passed as parameter to another function Called by that function on completion of some activity or to provide some service xmlHttp=GetXmlHttpObject(stateChanged) stateChanged is called on completion of object load

HTTP Request (cont.) Example: callbacktest.htmlcallbacktest.html Callback assigned to onreadystatechange is called on each state change Testing: What’s wrong? Observe different behavior under IE and Firefox (Mozilla)

AJAX Design Patterns Common design elements for frequently used components or operations Refactoring Write simple code first Then reorganize to separate patterns for reuse

Refactoring Example Refactoring content loader Encapsulate code in a class using “factory” pattern object Functionality sendRequest() gets requestor from intHttpRequest() and assigns hard-coded onReadyState() to process response See ContentLoader.jsContentLoader.js

Model-View-Controller Pattern Model represents problem domain View presents things to user Controller provides all interactions between model and view Enables complete separation of model and view

Libraries Cross-browser libraries Provide common functionality across browsers X library: general DHTML support Sarissa: XML JavaScript manipulation Prototype: Stronger JavaScript O-O support

Widgets and Widget Suites Scriptaculous UI components built on Prototype Animated visual effects Drag and drop Rico UI components built on Prototype Customizable effects Drop and drag

Rico Accordion Example accordion.html Note $(…) returns a reference to the accordion object

Laboratory Exercise 1 JavaScript,DOM, CSS Create a numeric entry keyboard Start with a table keypad.html keypad.html Add actions with external.js files Redesign the table using CSS rather than table

Application Frameworks DWR, JSON-RPC, SAJAX Server-side but in different languages Backbase Presentation Server Uses custom tags to markup UI components Echo2 Java-based server engine Generates UI components Ruby-on-Rails Web framework written in Ruby

MVC Example 1 Musical keyboard Musical.html CSS for keyboard Dynamic assignment of functionality assignKeys() Full separation musicaldynKeys.html musicaldynKeys.html

Observer Pattern Watches for user input Triggers response mousemat.html What’s wrong? Mousemat observer

Server Interaction Two roles Deliver application to client Respond to client requests Coding may be in any language supported by the server PHP, Java, ASP ASP.NET, Ruby (newer)

Server-side Design Patterns Naïve web server Without framework Server with MVC framework such as Model2 Component-based frameworks Provide either general or AJAX-specific tools / widgets Service-oriented architectures Designed to provide service by interaction over web Boarder than SOAP based Web Services

Data Exchange Client-only interactions Simple responses processed on client Server request / response planent browser simple version planent browser Add content-centric interaction Response behavior scripts come from server planets.html

Dynamic Double Combo One selection option depends on another Example: a first drop-down list determines the choices in the second Client-side solution needs all data Server-side solution loads new page with each selection AJAX solution builds second drop- down based on selection in first

Dynamic Double Combo Implementation Need to define XML response format Server creates response Client creates second drop-down dynamically DoubleCombo.htm DoubleCombo_Static.htm DoubleComboMulti.htm

Type-ahead Suggest Characteristics Google suggest Application responds as you type 1. You type a character 2. Type-ahead passes request to server 3. Server responds 4. Client updates display

Type-ahead Suggest Issues Posting every keystroke Not caching data Possible slow response time (dial-ups) Too many results Fancy interface Fast typist (ahead of responses)

Type-ahead Suggest TypeAhead.htm TypeAhead_static.htm