Networking & The Web. HCID 520 User Interface Software & Technology

Size: px
Start display at page:

Download "Networking & The Web. HCID 520 User Interface Software & Technology"

Transcription

1 Networking & The HCID 520 User Interface Software & Technology

2 Uniform Resource Locator (URL) HTTP v0.9

3 Uniform Resource Locator (URL) Scheme/Protocol 1991 HTTP v0.9

4 Uniform Resource Locator (URL) Scheme/Protocol Host 1991 HTTP v0.9

5 Uniform Resource Locator (URL) Host Scheme/Protocol Port 1991 HTTP v0.9

6 Uniform Resource Locator (URL) Host Path Scheme/Protocol Port 1991 HTTP v0.9

7 1992 Line Mode Browser

8 WorldWide, first graphical browser

9 Mosaic, commercialized as Netscape

10 Server-Side Client-Side Server Browser Database

11 Server-Side Client-Side Server Browser Go to URL Database

12 Server-Side Client-Side Server HTTP Request Browser Go to URL Database

13 Server-Side Client-Side Route Request Server HTTP Request Browser Go to URL Database

14 Server-Side Client-Side Route Request Process Data Server HTTP Request Browser Go to URL Database

15 Server-Side Client-Side Route Request Process Data Server HTTP Request Browser Go to URL SQL Database

16 Server-Side Client-Side Route Request Process Data Build Response Server HTTP Request Browser Go to URL SQL Database

17 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request Browser Go to URL SQL Database

18 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response Browser Go to URL SQL Database

19 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response Browser Go to URL Get Response SQL Database

20 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response Browser Go to URL Get Response Render Page SQL Database

21 Request Response Headers Content

22 Server-Side Client-Side SQL Server HTTP Request HTTP Response Browser Database

23 Server-Side Server Server Technologies Apache (basic server) Java Servlets PHP Ruby on Rails (Ruby) Django (Python) Node.js / JavaScript Browser and many others HTTP Request HTTP Response Client-Side SQL Database Databases MySQL Postgres SQLite MongoDB and many others

24 Server-Side Client-Side Server HTTP Request HTTP Response Browser SQL What about interactivity? Database

25 Server-Side Client-Side Server HTTP Request HTTP Response Browser SQL Database What about interactivity? In the early days, users could submit forms. The server would process the results and return a new page.

26 Mosaic, commercialized as Netscape

27

28 Netscape Navigator Internet Explorer 1995 JavaScript created... in 10 days

29 Netscape Navigator Internet Explorer 1997 DHTML & Proprietary DOMs

30 Netscape Navigator Internet Explorer 2000 XMLHttpRequest

31 Netscape Navigator Internet Explorer 2001 Internet Explorer 6

32 Internet Explorer 2001 Internet Explorer 6

33 Firefox Internet Explorer Firefox released 2004

34 Firefox Internet Explorer XMLHttpRequest standardized ("AJAX") Firefox released 2004

35 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response Browser Go to URL Get Response Render Page SQL Database

36 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response Browser Go to URL Get Response Render Page SQL (HTML, CSS, etc.) Database

37 Server-Side Client-Side Server JavaScript UI (HTML) Database

38 Server-Side Client-Side Server JavaScript Call UI (HTML) Database

39 Server-Side Client-Side Server HTTP Request JavaScript Call UI (HTML) Database

40 Server-Side Client-Side Route Request Server HTTP Request JavaScript Call UI (HTML) Database

41 Server-Side Client-Side Route Request Process Data Server HTTP Request JavaScript Call UI (HTML) Database

42 Server-Side Client-Side Route Request Process Data Server HTTP Request JavaScript Call UI (HTML) SQL Database

43 Server-Side Client-Side Route Request Process Data Build Response Server HTTP Request JavaScript Call UI (HTML) SQL Database

44 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request JavaScript Call UI (HTML) SQL Database

45 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response JavaScript Call UI (HTML) SQL Database

46 Server-Side Client-Side Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response JavaScript Call Update UI (HTML) SQL Database

47 Server-Side Client-Side (XML/JSON) Route Request Process Data Build Response Send Response Server HTTP Request HTTP Response JavaScript Call Update UI (HTML) SQL (XML/JSON) Database

48 JavaScript Object Notation (JSON) Basic Types (Primitives) Boolean true false Number String "hello" No Value null Advanced Types Object {"key": value} Array [value, value,...]

49 JavaScript Object Notation (JSON) [true, false, true, true, false]

50 JavaScript Object Notation (JSON) [true, false, true, true, false] Array of booleans.

51 JavaScript Object Notation (JSON) [true, false, true, true, false] Array of booleans. [5, 0.491, 80, 29.41, ]

52 JavaScript Object Notation (JSON) [true, false, true, true, false] Array of booleans. [5, 0.491, 80, 29.41, ] Array of numbers.

53 JavaScript Object Notation (JSON) [true, false, true, true, false] Array of booleans. [5, 0.491, 80, 29.41, ] Array of numbers. ["whiskey", "tango", "foxtrot"]

54 JavaScript Object Notation (JSON) [true, false, true, true, false] Array of booleans. [5, 0.491, 80, 29.41, ] Array of numbers. ["whiskey", "tango", "foxtrot"] Array of string.

55 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2}

56 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2} Object with two keys and a string and number value.

57 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2} Object with two keys and a string and number value. {"fruits": ["apples", "bananas"], "amount": 2}

58 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2} Object with two keys and a string and number value. {"fruits": ["apples", "bananas"], "amount": 2} Object with an array and number value.

59 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2} Object with two keys and a string and number value. {"fruits": ["apples", "bananas"], "amount": 2} Object with an array and number value. [{"fruit": "apples"}, 4, true, null]

60 JavaScript Object Notation (JSON) {"fruit": "apples", "amount": 2} Object with two keys and a string and number value. {"fruits": ["apples", "bananas"], "amount": 2} Object with an array and number value. [{"fruit": "apples"}, 4, true, null] Array of values.

61 XMLHttpRequest (XHR) Server-Side Server Client-Side JavaScript Call UI (HTML) var xhr = new XMLHttpRequest(); Database

62 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Server Database HTTP Request Client-Side JavaScript Call UI (HTML) // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send();

63 XMLHttpRequest (XHR) Server-Side Server HTTP Request Client-Side JavaScript Call UI (HTML) var xhr = new XMLHttpRequest(); Database // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); HTTP Method "GET", "POST", "PUT", "DELETE", etc.

64 XMLHttpRequest (XHR) Server-Side Server HTTP Request Client-Side JavaScript Call UI (HTML) var xhr = new XMLHttpRequest(); Database // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); HTTP Post Content "name=arvind& location=seattle" HTTP Method "GET", "POST", "PUT", "DELETE", etc.

65 XMLHttpRequest (XHR) Server-Side Server HTTP Request Client-Side JavaScript Call UI (HTML) var xhr = new XMLHttpRequest(); Database // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); HTTP Post Content "name=arvind& location=seattle" URL HTTP Method "GET", "POST", "PUT", "DELETE", etc.

66 XMLHttpRequest (XHR) Server-Side Server HTTP Request Client-Side JavaScript Call UI (HTML) var xhr = new XMLHttpRequest(); Database // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); HTTP Post Content "name=arvind& location=seattle" URL HTTP Method "GET", "POST", "PUT", "DELETE", etc. Asynchronous? i.e., should execution wait for xhr.send().

67 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Route Request Process Data Build Response Send Response Server SQL Database HTTP Request HTTP Response Client-Side JavaScript Call UI (HTML) // Handle the response xhr.onreadystatechange = function() { }; // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send();

68 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Route Request Process Data Build Response Send Response Server SQL Database HTTP Request HTTP Response Client-Side JavaScript Call UI (HTML) // Handle the response xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { } }; // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send();

69 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Route Request Process Data Build Response Send Response Server SQL Database HTTP Request HTTP Response Client-Side JavaScript Call UI (HTML) // Handle the response xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { } }; // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); XHR operation complete.

70 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Route Request Process Data Build Response Send Response Server SQL Database HTTP Request HTTP Response Client-Side JavaScript Call UI (HTML) // Handle the response xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { } }; // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send(); XHR operation complete. HTTP Status Code. 200 (OK)

71 XMLHttpRequest (XHR) var xhr = new XMLHttpRequest(); Server-Side Route Request Process Data Build Response Send Response Server SQL Database HTTP Request HTTP Response Client-Side JavaScript Call UI (HTML) // Handle the response xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { var response = JSON.parse(xhr.responseText); } }; // Make the request xhr.open("get", "//graph.facebook.com/v2.5/me", true); xhr.send();

72 XMLHttpRequest (XHR) Libraries to the rescue! E.g., jquery: $.get("url", function(text) { }); $.getjson("url", function(json) { }); $.post("url", data, function() { });

73 Discussion Questions

74 The Semantic Gap How does reducing the semantic gap by having more compatible designs improve the user experience? Christopher It is a very interesting concept but I don t know why I would like to have a self describing api? Consuming api is usually a targeted activity rather than an exploratory one with predefined flows which api-consumer solicits from a api-provider. Ankit It seems like solving the Semantic Challenge will require some sort of AI for a computer to understand what a document means. Matthew If companies were to institute this standard, could this create an environment where it was easier for developers to talk to APIs, or where services like Siri could learn the standard for APIs to be able to interact with them without site-specific programming? Lyle

75 What about interaction initiated by the server?

76

77 Sockets var socket = new Socket("ws://hcid-520.com/api");

78 Sockets var socket = new Socket("ws://hcid-520.com/api"); New URL scheme for Sockets. ws : http :: wss : https

79 Sockets var socket = new Socket("ws://hcid-520.com/api"); // Send a message to the server socket.onopen = function() { socket.send("hello"); };

80 Sockets var socket = new Socket("ws://hcid-520.com/api"); // Send a message to the server socket.onopen = function() { socket.send("hello"); }; Can be any JSON data types, including binary data (e.g., images).

81 Sockets var socket = new Socket("ws://hcid-520.com/api"); // Send a message to the server socket.onopen = function() { socket.send("hello"); }; // Receive messages from the server socket.onmessage = function(msg) { console.log(msg.data); };

82 Sockets Libraries to the rescue (again!). E.g., socket.io: var socket = io("ws://hcid-520.com/api"); socket.send("ant", mousex, mousey); socket.on("ant", function(mousex, mousey) { });

Networking & The Web. HCID 520 User Interface Software & Technology

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The Web HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

LEARN HOW TO USE CA PPM REST API in 2 Minutes!

LEARN HOW TO USE CA PPM REST API in 2 Minutes! LEARN HOW TO USE CA PPM REST API in 2 Minutes! WANT TO LEARN MORE ABOUT CA PPM REST API? If you are excited about the updates to the REST API in CA PPM V14.4 and would like to explore some of the REST

More information

Web application Architecture

Web application Architecture 1 / 37 AJAX Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Web application Architecture 5 / 37 Client Server Backend Response Database File System 2013 Cesare Pautasso

More information

Web Development. HCID 520 User Interface Software & Technology

Web Development. HCID 520 User Interface Software & Technology Web Development! HCID 520 User Interface Software & Technology Web Browser Timeline 1993: NCSA Mosaic web browser First broadly adopted graphical browser URL bar, back/forward buttons, images, etc Creators

More information

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN

AJAX ASYNCHRONOUS JAVASCRIPT AND XML. Laura Farinetti - DAUIN AJAX ASYNCHRONOUS JAVASCRIPT AND XML Laura Farinetti - DAUIN Rich-client asynchronous transactions In 2005, Jesse James Garrett wrote an online article titled Ajax: A New Approach to Web Applications (www.adaptivepath.com/ideas/essays/archives/000

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

CSC443: Web Programming 2

CSC443: Web Programming 2 CSC443: Web Programming Lecture 20: Web Sockets Haidar M. Harmanani HTML5 WebSocket Standardized by IETF in 2011. Supported by most major browsers including Google Chrome, Internet Explorer, Firefox, Safari

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine.

Part of this connection identifies how the response can / should be provided to the client code via the use of a callback routine. What is AJAX? In one sense, AJAX is simply an acronym for Asynchronous JavaScript And XML In another, it is a protocol for sending requests from a client (web page) to a server, and how the information

More information

Qiufeng Zhu Advanced User Interface Spring 2017

Qiufeng Zhu Advanced User Interface Spring 2017 Qiufeng Zhu Advanced User Interface Spring 2017 Brief history of the Web Topics: HTML 5 JavaScript Libraries and frameworks 3D Web Application: WebGL Brief History Phase 1 Pages, formstructured documents

More information

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS)

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS) A Absolute link, 61, 62 Agile project management, 15 16 budget management, 18 19 scope management, 19 20 time management, 17 Ajax. See Asynchronous JavaScript and XML (Ajax) Anonymous functions, 183 188

More information

CS 498RK FALL RESTFUL APIs

CS 498RK FALL RESTFUL APIs CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources

More information

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

Ajax Ajax Ajax = Asynchronous JavaScript and XML Using a set of methods built in to JavaScript to transfer data between the browser and a server in the background Reduces the amount of data that must be

More information

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios

Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Comet and WebSocket Web Applications How to Scale Server-Side Event-Driven Scenarios Simone Bordet sbordet@intalio.com 1 Agenda What are Comet web applications? Impacts of Comet web applications WebSocket

More information

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

quiz 1 details wed nov 17, 1pm see handout for locations covers weeks 0 through 10, emphasis on 7 onward closed book bring a , 2-sided cheat she

quiz 1 details wed nov 17, 1pm see handout for locations covers weeks 0 through 10, emphasis on 7 onward closed book bring a , 2-sided cheat she quiz 1 details wed nov 17, 1pm see handout for locations covers weeks 0 through 10, emphasis on 7 onward closed book bring a 8.5 11, 2-sided cheat sheet 75 minutes 15% of final grade resources old quizzes

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

AJAX and JSON. Day 8

AJAX and JSON. Day 8 AJAX and JSON Day 8 Overview HTTP as a data exchange protocol Components of AJAX JSON and XML XMLHttpRequest Object Updating the HTML document References Duckett, chapter 8 http://www.w3schools.com/ajax/default.asp

More information

Kaazing Gateway. Open Source HTML 5 Web Socket Server

Kaazing Gateway. Open Source HTML 5 Web Socket Server Kaazing Gateway Open Source HTML 5 Web Socket Server Speaker John Fallows Co-Founder: Kaazing Co-Author: Pro JSF and Ajax, Apress Participant: HTML 5 Community Agenda Networking Review HTML 5 Communication

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

Web Architecture AN OVERVIEW

Web Architecture AN OVERVIEW Web Architecture AN OVERVIEW General web architecture Historically, the client is a web browser But it can be also A mobile application A desktop application Other server applications Internet Server(s)

More information

Corey Clark PhD Daniel Montgomery

Corey Clark PhD Daniel Montgomery Corey Clark PhD Daniel Montgomery Web Dev Platform Cross Platform Cross Browser WebGL HTML5 Web Socket Web Worker Hardware Acceleration Optimized Communication Channel Parallel Processing JaHOVA OS Kernel

More information

10.1 Overview of Ajax

10.1 Overview of Ajax 10.1 Overview of Ajax - History - Possibility began with the nonstandard iframe element, which appeared in IE4 and Netscape 4 - An iframe element could be made invisible and could be used to send asynchronous

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

CS 5142 Scripting Languages

CS 5142 Scripting Languages CS 5142 Scripting Languages 10/16/2015 Web Applications Databases 1 Outline Stateful Web Applications AJAX 2 Concepts Scope in Server-Side Scripts Request $_GET, $_POST global $g; Session $_SESSION Application

More information

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012

More information

,

, Weekdays:- 1½ hrs / 3 days Fastrack:- 1½hrs / Day [Class Room and Online] ISO 9001:2015 CERTIFIED ADMEC Multimedia Institute www.admecindia.co.in 9911782350, 9811818122 Welcome to one of the highly professional

More information

JAVASCRIPT JQUERY AJAX FILE UPLOAD STACK OVERFLOW

JAVASCRIPT JQUERY AJAX FILE UPLOAD STACK OVERFLOW page 1 / 5 page 2 / 5 javascript jquery ajax file pdf I marked it as a duplicate despite the platform difference, because as far as I can see the solution is the same (You can't and don't need to do this

More information

Development of Web Applications

Development of Web Applications Development of Web Applications Principles and Practice Vincent Simonet, 2015-2016 Université Pierre et Marie Curie, Master Informatique, Spécialité STL 5 Client Technologies Vincent Simonet, 2015-2016

More information

Working with Database. Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database

Working with Database. Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database Working with Database Client-server sides AJAX JSON Data formats Working with JSON data Request Response Bytes Database Web programming Basic Web Programming: HTML CSS JavaScript For more Dynamic Web Programming:

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON) COURSE TITLE : ADVANCED WEB DESIGN COURSE CODE : 5262 COURSE CATEGORY : A PERIODS/WEEK : 4 PERIODS/SEMESTER : 52 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 HTML Document Object Model (DOM) and javascript

More information

REST AND AJAX. Introduction. Module 13

REST AND AJAX. Introduction. Module 13 Module 13 REST AND AJAX Introduction > Until now we have been building quite a classic web application: we send a request to the server, the server processes the request, and we render the result and show

More information

AJAX: Rich Internet Applications

AJAX: Rich Internet Applications AJAX: Rich Internet Applications Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming AJAX Slide 1/27 Outline Rich Internet Applications AJAX AJAX example Conclusion More AJAX Search

More information

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing Cleveland State University Department of Electrical and Computer Engineering CIS 408: Internet Computing Catalog Description: CIS 408 Internet Computing (-0-) Pre-requisite: CIS 265 World-Wide Web is now

More information

ajax1.html 1/2 lectures/7/src/ ajax1.html 2/2 lectures/7/src/

ajax1.html 1/2 lectures/7/src/ ajax1.html 2/2 lectures/7/src/ ajax1.html 1/2 3: ajax1.html 5: Gets stock quote from quote1.php via Ajax, displaying result with alert(). 6: 7: David J. Malan 8: Dan Armendariz 9: Computer Science E-75 10: Harvard Extension School 11:

More information

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination

More information

Session 11. Ajax. Reading & Reference

Session 11. Ajax. Reading & Reference Session 11 Ajax Reference XMLHttpRequest object Reading & Reference en.wikipedia.org/wiki/xmlhttprequest Specification developer.mozilla.org/en-us/docs/web/api/xmlhttprequest JavaScript (6th Edition) by

More information

At the Forge Beginning Ajax Reuven M. Lerner Abstract How to put the A (asynchronous) in Ajax. Many programmers, myself included, have long seen JavaScript as a way to change the appearance of a page of

More information

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum

Copyright Descriptor Systems, Course materials may not be reproduced in whole or in part without prior written consent of Joel Barnum Ajax The notion of asynchronous request processing using the XMLHttpRequest object has been around for several years, but the term "AJAX" was coined by Jesse James Garrett of Adaptive Path. You can read

More information

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side. Table of Contents WWW World Wide Web Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 163, 2016/10/06 13:25:13 UTC) Friday, October 7, 2016 WWW history Basic concepts

More information

When learning coding, be brave

When learning coding, be brave Who am I? Web Technology Overview with a focus on JavaScript-based technologies Lawrence Yao l.yao@unsw.edu.au Lawrence Yao UNSW casual staff Developer Analyst at YTML Consulting Email me if you need technical

More information

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Programming for Digital Media. Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK Programming for Digital Media Lecture 7 JavaScript By: A. Mousavi and P. Broomhead SERG, School of Engineering Design, Brunel University, UK 1 Topics Ajax (Asynchronous JavaScript and XML) What it is and

More information

World Wide Web Aka The Internet. Karst Koymans. Friday, October 7, 2016

World Wide Web Aka The Internet. Karst Koymans. Friday, October 7, 2016 . WWW World Wide Web. Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 16.3, 2016/10/06 13:25:13 UTC) Friday, October 7, 2016 Karst Koymans (UvA) WWW Friday, October

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

More information

CSC 615 FINAL EXAM SINGLE PAGE APPS. 1. Introduction

CSC 615 FINAL EXAM SINGLE PAGE APPS. 1. Introduction CSC 615 FINAL EXAM SINGLE PAGE APPS DR. GODFREY C. MUGANDA 1. Introduction For the final exam, you are going to write a single page application that is basically a JAX-RS web service with a HTML5/JavaScript

More information

Web Application Security

Web Application Security Web Application Security Rajendra Kachhwaha rajendra1983@gmail.com September 23, 2015 Lecture 13: 1/ 18 Outline Introduction to AJAX: 1 What is AJAX 2 Why & When use AJAX 3 What is an AJAX Web Application

More information

AJAX: Introduction CISC 282 November 27, 2018

AJAX: Introduction CISC 282 November 27, 2018 AJAX: Introduction CISC 282 November 27, 2018 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the

More information

CORS. Константин Якушев MoscowJS 14,

CORS.   Константин Якушев MoscowJS 14, CORS http://cors.kojo.ru Константин Якушев MoscowJS 14, 28.08.2014 http://api.ya.ru http://api.ya.ru http://api.ya.ru http://m.ya.ru? function Fetch() { var Url = "http://api.ya.ru/"; var xhr = new XMLHttpRequest();

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond. Guillermo QCon. November 2012.

The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond. Guillermo QCon. November 2012. The realtime web: HTTP/1.1 to WebSocket, SPDY and beyond Guillermo Rauch @ QCon. November 2012. Guillermo. CTO and co-founder at LearnBoost. Creator of socket.io and engine.io. @rauchg on twitter http://devthought.com

More information

Security. CSC309 TA: Sukwon Oh

Security. CSC309 TA: Sukwon Oh Security CSC309 TA: Sukwon Oh Outline SQL Injection NoSQL Injection (MongoDB) Same Origin Policy XSSI XSS CSRF (XSRF) SQL Injection What is SQLI? Malicious user input is injected into SQL statements and

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

CSC 309 The Big Picture

CSC 309 The Big Picture CSC 309 The Big Picture Server GET path/to/route Host: example.com Client Client sends HTTP request to server How? Server GET path/to/route Host: example.com Client Client sends HTTP request to server

More information

Ajax Application Design

Ajax Application Design Ajax Application Design Reuven M. Lerner Abstract Asynchronous is the operative word with Ajax, and here's what it's all about. During the past few months, I've used this column to explore a number of

More information

Developer Internship Opportunity at I-CC

Developer Internship Opportunity at I-CC Developer Internship Opportunity at I-CC Who We Are: Technology company building next generation publishing and e-commerce solutions Aiming to become a leading European Internet technology company by 2015

More information

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!

JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?

More information

Kyle Rainville Littleton Coin Company

Kyle Rainville Littleton Coin Company Kyle Rainville Littleton Coin Company What is JSON? Javascript Object Notation (a subset of) Data Interchange Format Provides a way for communication between platforms & languages Derived from Javascript

More information

Actinium: A RESTful Runtime Container for Scriptable Internet of Things Applications

Actinium: A RESTful Runtime Container for Scriptable Internet of Things Applications Actinium: A RESTful Runtime Container for Scriptable Internet of Things Applications, Martin Lanter, and Simon Duquennoy kovatsch@inf.ethz.ch Friday, 26 Oct 2012 Internet of Things 2012, Wuxi, China Wireless

More information

Masters in Web Development

Masters in Web Development Masters in Web Development Accelerate your carrer by learning Web Development from Industry Experts. www.techgrad.in India s Leading Digital marketing Institute India s Leading Accademy 12,234+ Trainees

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

Ajax- XMLHttpResponse. Returns a value such as ArrayBuffer, Blob, Document, JavaScript object, or a DOMString, based on the value of

Ajax- XMLHttpResponse. Returns a value such as ArrayBuffer, Blob, Document, JavaScript object, or a DOMString, based on the value of Ajax- XMLHttpResponse XMLHttpResponse - A Read only field Returns a value such as ArrayBuffer, Blob, Document, JavaScript object, or a DOMString, based on the value of XMLHttpRequest.responseType. This

More information

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred Using Data Science to deliver Workforce & Labour Market Insights Gary Gan Co-Founder, JobKred Collection of Data Online Sources Skills, Education, Experience AI-powered Career Development Platform Cloud-based

More information

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax

More information

SSC - Web applications and development Introduction and Java Servlet (I)

SSC - Web applications and development Introduction and Java Servlet (I) SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn

More information

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI support for AJAX RPC using JSON 94 Developing a Web Server Platform with SAPI support for AJAX RPC using JSON Assist. Iulian ILIE-NEMEDI Informatics in Economy Department, Academy of Economic Studies, Bucharest Writing a custom web server

More information

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow

! The final is at 10:30 am, Sat 6/4, in this room. ! Open book, open notes. ! No electronic devices. ! No food. ! Assignment 7 due 10pm tomorrow Announcements ECS 89 6/1! The final is at 10:30 am, Sat 6/4, in this room! Open book, open notes! No electronic devices! No food! Assignment 7 due 10pm tomorrow! No late Assignment 7 s! Fill out course

More information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

Course 20480: Programming in HTML5 with JavaScript and CSS3

Course 20480: Programming in HTML5 with JavaScript and CSS3 Course 20480: Programming in HTML5 with JavaScript and CSS3 Overview About this course This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript

More information

Introduction Haim Michael. All Rights Reserved.

Introduction Haim Michael. All Rights Reserved. Architecture Introduction Applications developed using Vaadin include a web application servlet based part, user interface components, themes that dictate the look & feel and a data model that enables

More information

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 ABOUT THIS COURSE This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic HTML5/CSS3/JavaScript programming skills. This course is an entry point into

More information

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. Preface p. xiii Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. 5 Client-Side JavaScript: Executable Content

More information

IERG 4080 Building Scalable Internet-based Services

IERG 4080 Building Scalable Internet-based Services Department of Information Engineering, CUHK MScIE 2 nd Semester, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 9 Web Sockets for Real-time Communications Lecturer: Albert C. M. Au

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,

More information

Programming in HTML5 with JavaScript and CSS3

Programming in HTML5 with JavaScript and CSS3 Programming in HTML5 with JavaScript and CSS3 20480B; 5 days, Instructor-led Course Description This course provides an introduction to HTML5, CSS3, and JavaScript. This course helps students gain basic

More information

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University EPHP a tool for learning the basics of PHP development Nick Whitelegg School of Media Arts and Technology Southampton Solent University My background Lecturer at Southampton Solent University since 2003

More information

CIS 408 Internet Computing (3-0-3)

CIS 408 Internet Computing (3-0-3) Cleveland State University Department of Electrical Engineering and Computer Science CIS 408 Internet Computing (3-0-3) Prerequisites: CIS 430 Preferred Instructor: Dr. Sunnie (Sun) Chung Office Location:

More information

This is CS50 CS164. Mobile Software Engineering

This is CS50 CS164. Mobile Software Engineering This is CS50 CS164 Mobile Software Engineering diff cs50 cs164 HTML5, PHP, JavaScript, Objective-C workload typedef struct node { int n; struct node *next; } node; typedef struct node { student *student;

More information

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes

Web Development. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11. Sérgio Nunes Web Development Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 10/11 Sérgio Nunes 1 Summary The Internet The World Wide Web Web Technologies 2 Introduction 3 Previous Experience? 4 Web and Internet What

More information

20486-Developing ASP.NET MVC 4 Web Applications

20486-Developing ASP.NET MVC 4 Web Applications Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an

More information

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code. 20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This

More information

CSC309: Introduction to Web Programming. Lecture 11

CSC309: Introduction to Web Programming. Lecture 11 CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat Servlets+JSP Model 2 Architecture 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern 3 Servlets+JSP Model 2 Architecture Controller

More information

Web Engineering (CC 552)

Web Engineering (CC 552) Web Engineering (CC 552) Introduction Dr. Mohamed Magdy mohamedmagdy@gmail.com Room 405 (CCIT) Course Goals n A general understanding of the fundamentals of the Internet programming n Knowledge and experience

More information

Web UI. Survey of Front End Technologies. Web Challenges and Constraints. Desktop and mobile devices. Highly variable runtime environment

Web UI. Survey of Front End Technologies. Web Challenges and Constraints. Desktop and mobile devices. Highly variable runtime environment Web UI Survey of Front End Technologies Web UI 1 Web Challenges and Constraints Desktop and mobile devices - mouse vs. touch input, big vs. small screen Highly variable runtime environment - different

More information

CS WEB TECHNOLOGY

CS WEB TECHNOLOGY CS1019 - WEB TECHNOLOGY UNIT 1 INTRODUCTION 9 Internet Principles Basic Web Concepts Client/Server model retrieving data from Internet HTM and Scripting Languages Standard Generalized Mark up languages

More information

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes

AJAX. Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11. Sérgio Nunes AJAX Lab. de Bases de Dados e Aplicações Web MIEIC, FEUP 2010/11 Sérgio Nunes Server calls from web pages using JavaScript call HTTP data Motivation The traditional request-response cycle in web applications

More information

Working with Javascript Building Responsive Library apps

Working with Javascript Building Responsive Library apps Working with Javascript Building Responsive Library apps Computers in Libraries April 15, 2010 Arlington, VA Jason Clark Head of Digital Access & Web Services Montana State University Libraries Overview

More information

2nd Year PhD Student, CMU. Research: mashups and end-user programming (EUP) Creator of Marmite

2nd Year PhD Student, CMU. Research: mashups and end-user programming (EUP) Creator of Marmite Mashups Jeff Wong Human-Computer Interaction Institute Carnegie Mellon University jeffwong@cmu.edu Who am I? 2nd Year PhD Student, HCII @ CMU Research: mashups and end-user programming (EUP) Creator of

More information

WebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA

WebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA WebDev Site Construction is one of the last steps The Site Development Process http://webstyleguide.com Web Design COMBINES A NUMBER OF DISCIPLINES DESIGN CONTENT Interaction Designers User Interface Designers

More information

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul CIS192 Python Programming Web Frameworks and Web APIs Harry Smith University of Pennsylvania March 29, 2016 Harry Smith (University of Pennsylvania) CIS 192 March 29, 2016 1 / 25 Quick housekeeping Last

More information

Web Programming. Lecture 11. University of Toronto

Web Programming. Lecture 11. University of Toronto CSC309: Introduction to Web Programming Lecture 11 Wael Aboulsaadat University of Toronto Servlets+JSP Model 2 Architecture University of Toronto 2 Servlets+JSP Model 2 Architecture = MVC Design Pattern

More information

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016

DATABASE SYSTEMS. Introduction to web programming. Database Systems Course, 2016 DATABASE SYSTEMS Introduction to web programming Database Systems Course, 2016 AGENDA FOR TODAY Client side programming HTML CSS Javascript Server side programming: PHP Installing a local web-server Basic

More information

CSC 443: Web Programming

CSC 443: Web Programming 1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment

More information

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web Objectives JavaScript, Sixth Edition Chapter 1 Introduction to JavaScript When you complete this chapter, you will be able to: Explain the history of the World Wide Web Describe the difference between

More information

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side.

Table of Contents WWW. WWW history (2) WWW history (1) WWW history. Basic concepts. World Wide Web Aka The Internet. Client side. Table of Contents WWW World Wide Web Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 44, 2014/10/06 11:35:56 UTC) Tuesday, October 7, 2014 WWW history Basic concepts

More information