Web Technologies. microservices & Web interaction. Ajax a suite of technologies Web mash-ups. Dr. Sabin Buraga profs.info.uaic.

Size: px
Start display at page:

Download "Web Technologies. microservices & Web interaction. Ajax a suite of technologies Web mash-ups. Dr. Sabin Buraga profs.info.uaic."

Transcription

1 Web Technologies microservices & Web interaction Ajax a suite of technologies Web mash-ups

2 The manner of giving is worth more than the gift. Pierre Corneille

3 Alternatives to Web services?

4 advanced microservice Implements a specific functionality, available as a single process self-contained system backend component developed to be replaced, not reused

5 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

6 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

7 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

8 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

9 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

10 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

11 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

12 advanced small each running in its own process lightweight communication mechanisms (usual, HTTP) built around business capabilities independently deployable minimum of centralized management may be written in different programming languages may use different data storage mechanisms microservice characteristics according to James Lewis & Martin Fowler, Microservices (2014)

13 advanced examples of good practice: modularity, decentralization, and continuous evolution

14 advanced microservice Functional implements specific functionalities (business operations)

15 advanced microservice Functional implements specific functionalities (business operations) exposed to service consumer independent (no side effects) typically, not sharable

16 advanced microservice Control Infrastructure implements non-functional tasks: authentication, authorization, logging, monitoring,

17 advanced microservice Control Infrastructure implements non-functional tasks: authentication, authorization, logging, monitoring, not exposed private could be shared at the application or internal services level

18 microservices in serverless context application depends on external components, available in the clouds powerful and/or smart client BaaS authentication products BaaS app logic API access advanced FaaS browser functionality 1 order processing functionality 2 search orders BaaS = (Mobile) Backend As A Service FaaS = Functions As A Service Mike Roberts (2016)

19 advanced microservice Aspect of interest: sharing functionalities share-as-much-as possible (classical SOA) versus share-as-little-as possible (microservices)

20 advanced microservice Aspect of interest: (micro-)services communication usually, asynchronous approaches: point-to-point or publish-subscribe

21 client has simplified access via API implementare advanced Jonas Bonér (2016) internally, (micro-)services could communicate by using the publish-subscribe model

22 advanced microservice Commonly, microservice architectures do not include middleware components and do not support abstract interactions between service providers and consumers (contract decoupling)

23 advanced Web service-based architecture microservice architecture real use-cases: Amazon, Groupon, Netflix, also, study Stefan Tilkov s presentations:

24 How can be performed the asynchronous data transfer between Web client(s) and server(s)?

25 web interaction: ajax Asynchronous JavaScript And XML (Jeese James Garrett) permits asynchronous data transfer between an HTML document rendered by client (browser) and an application running on a Web server

26 web interaction: ajax A suite of open technologies: standard languages for data structuring e.g., HTML and presentation: CSS

27 web interaction: ajax A suite of open technologies: view + interaction on the Web client (browser) via DOM standard

28 web interaction: ajax A suite of open technologies: exchange and manipulation of data represented by: various XML dialects, JSON, HTML, other formats

29 web interaction: ajax A suite of open technologies: (a)synchronous data transfer via HTTP facilitated by the XMLHttpRequest object

30 web interaction: ajax A suite of open technologies: processing with ECMAScript (JavaScript) language

31 web interaction: ajax Basic component: XMLHttpRequest object available in the Web browser via JavaScript

32 web interaction: ajax Basic component: XMLHttpRequest object initial specification based on MSIE implementation in the present, provided by (almost) any browser

33 web interaction: ajax Basic component: XMLHttpRequest object current specification (HTML5 Living Standard, 9 May 2017) implemented by latest Web browsers

34 web interaction: ajax Basic component: XMLHttpRequest object could send HTTP requests e.g., GET, POST, from a program running on client (browser) to a Web application/service existing on a server, in asynchronous or synchronous way

35 web interaction: ajax Basic component: XMLHttpRequest object data transported between client and server programs could have any format regularly, modeled in XML (e.g., Atom, RSS, KML, ), HTML and/or JSON

36 web interaction: ajax Basic component: XMLHttpRequest object Web pages do not require to be completely reloaded, their content structured by HTML being manipulated with DOM on the browser, depending on the data received from server

37 web interaction: ajax XMLHttpRequest important methods open ( ) initiates opens an HTTP connection to a server, issuing a request: GET, POST,

38 web interaction: ajax XMLHttpRequest important methods send ( ) transmits (asynchronously) data e.g., XML, JSON, etc., to the application/service running on server

39 web interaction: ajax XMLHttpRequest important methods send ( ) transmits (asynchronously) data e.g., XML, JSON, etc., to the application/service running on server any listener (associated to the onload, ontimeout, onabort, events) should be set before sending data

40 web interaction: ajax XMLHttpRequest important methods abort ( ) cancels the current data transfer

41 web interaction: ajax XMLHttpRequest important methods setrequestheader ( ) specifies various HTTP header fields examples: Cookie, Keep-Alive, User-Agent,

42 web interaction: ajax XMLHttpRequest important methods getresponseheader ( ) offers the value of certain field from the header of HTTP response message sent by server

43 web interaction: ajax XMLHttpRequest important methods getallresponseheaders ( ) provides all HTTP fields sent by server, except Set-Cookie

44 web interaction: ajax XMLHttpRequest basic properties readystate provides the code of transfer state: 0 UNSENT 1 OPENED 2 HEADERS_RECEIVED 3 LOADING 4 DONE

45 web interaction: ajax XMLHttpRequest basic properties status gets HTTP status code returned by Web server: 200 (Ok) 404 (Not Found) 500 (Internal Server Error)

46 web interaction: ajax XMLHttpRequest basic properties statustext contains the message corresponding to HTTP status code

47 web interaction: ajax XMLHttpRequest basic properties responsetext responsexml stores the response (data) obtained from server

48 web interaction: ajax XMLHttpRequest basic properties onreadystatechange specifies the function to be called at each change of the state regarding data transfer between server and client a handler for data transfer events

49 web interaction: ajax Exceptions that could be emitted AbortError InvalidAccessError InvalidStateError NetworkError SecurityError TimeoutError according to DOM 4 Core

50 advanced New features: establishing a timeout regarding a request fulfillment (in milliseconds) a non-null value cause a resource fetching preload study also Fetch (HTML5 Living Standard, 24 May 2017) developers.google.com/web/updates/2015/03/introduction-to-fetch

51 advanced New features: transferred data could have various types (ArrayBuffer, Blob, Document, DOMString, FormData) details at

52 advanced New features: the upload process could have attached a specific handler by using the upload property

53 advanced New features: data loading progress could be monitored by using the ProgressEvent interface

54 Other aspects regarding Ajax?

55 web interaction: ajax usage Periodic refresh of the content e.g., news received in formats like Atom or RSS, messages from social applications, notifications,

56 web interaction: ajax usage Anticipating downloads pre-loading data (e.g., images) that will be required

57 web interaction: ajax usage Data auto-completion search suggestions example: Google Suggest

58 web interaction: ajax usage Real-time validation of input data from forms example: checking the existence of a user account or a place

59 web interaction: ajax usage Creating Web interface components (widgets) or Web applications running on mobile platforms interacting to the user based on occurred events

60 advanced web interaction: ajax aspects Avoiding loading the entire Web document advantaje: only fragments of document can be modified disadvantage: the bookmarking could be ruined (there are no unique URI denoting the representation of the actual resource)

61 advanced web interaction: ajax aspects Providing alternatives to Ajax, when the support for it is not implemented/enabled graceful degradation progressive enhancement

62 advanced web interaction: ajax aspects Minimizing traffic between browser and server

63 advanced web interaction: ajax aspects Data transfer could be monitored (+intercepted) via dedicated tools on the desktop: WireShark directly in the browser (possibly, as extensions) Firebug, Fiddler, TamperData, Live HTTP Headers

64 advanced web interaction: ajax aspects Adopting Ajax to increase the usability, not just for the sake of technology negative examples: user distraction resource abuse (DOM tree oversize)

65 web interaction: ajax Ajax offers premises for asynchronous invocation of REST Web (micro-)services using various representations of transferred data: POX (Plain Old XML) JSON (JavaScript Object Notation) AHAH (Asynchronous HTML and HTTP) plain text

66 How about the implementation support?

67 microlibraries: web interaction: ajax programming Client-side traditional JavaScript libraries + frameworks AngularJS angularjs.org Backbone.js backbonejs.org Dojo Toolkit dojotoolkit.org jquery (plus jquery UI) jquery.com Prototype prototypejs.org MooTools mootools.net

68 web interaction: ajax programming Server-side libraries, modules, frameworks examples: Java Apache Wicket, DWR, OpenXava, Vaadin, etc..net AJAX Control Toolkit: devexpress.com/act Node.js nodejsmodules.org/tags/ajax PHP Cjax: github.com/ajaxboy/cjax Perl CGI::Ajax, Catalyst, Mason etc. Python wiki.python.org/moin/webframeworks

69 advanced web interaction: ajax programming Specialized APIs examples: Bing Maps V8 Web Control HERE JavaScript APIs Ajax in the context of WordPress extensions

70 web interaction: ajax case study Checking the existence of a user name in order to create an account providing access to a Web application

71 DOM Client XMLHttpRequest open ("GET") open ("POST") send (...) Web server Web app. server browser s window XML data (on server) checking asynchronously if an account exists on server

72 web interaction: ajax case study Checking the existence of a user name in order to create an account providing access to a Web application handling with DOM the onblur event, we can sense asynchronously querying the server-side Web application if the account name entered by user in a Web form already exists

73 web interaction: ajax case study Checking the existence of a user name in order to create an account providing access to a Web application the server-side Web application adopting REST will provide an XML document modeling the response to the question: Already exists a user having that name?

74 <?php // a PHP program, as a Web service, running on server define ('DOCXML', './particip.xml'); // location of the XML document // sending content type; here, XML header ('Content-type: text/xml'); // function that verifies if a participant name already exists // returns 1 if name exists, 0 otherwise function checkifnameexists ($aname) { // loading data about participants by using SimpleXML if (!($xml = simplexml_load_file (DOCXML))) { return 0; } // scanning all participant s names found with XPath... foreach ($xml->xpath('/participants/participant/name') as $name) { // comparing names, case insensitive if (!strcasecmp($aname, $name)) { return 1; } } return 0; }?> <response> <result><?php echo checkifnameexists ($_REQUEST['name']);?></result> </response>

75 <!-- a Web form getting data from user --> <form action="add.php" method="post"> <div> <label for="name">account name:</label> <input type="text" name="name" id="name" onblur="javascript:signalnameexists (this.value, '')" /> <!-- a message, initially hidden --> <span class="hidden" id="errname"> Name already exists, choose another one... </span> </div> <div> <label for="adr">address:</label> <input type="text" name="adr" id="adr" /> </div> <input type="submit" value="apply" /> </form>

76 // a JS program executed by browser var request; // encapsulates the HTTP request to Web server function loadxml (url) { // loads an XML document denoted by 'url' // checking the availability of XMLHttpRequest object if (window.xmlhttprequest) { request = new XMLHttpRequest (); // there is native support } else if (window.activexobject) { // we can use ActiveX object from MSIE request = new ActiveXObject ("Microsoft.XMLHTTP"); } if (request) { // Ajax is supported // setting the function that handles data transfer state request.onreadystatechange = handleresponse; // retrieving the document by using GET method request.open ("GET", url, true); request.send (null); // not sending anything to the Web service } }

77 // handles the change of transfer state see the code function handleresponse () { from // verifying if the transfer is successful if (request.readystate == 4) { archive // we got '200 Ok' status code? if (request.status == 200) { // processing received data with DOM // (getting the root element of the XML document) var response = request.responsexml.documentelement; var res = response.getelementsbytagname('result')[0].firstchild.data; } // calling a function that will modify the DOM tree of the Web page // according to the response transmitted by the invoked service } // possibly, other HTTP status codes (404, 500, etc.) could be checked else { alert ("A problem occurred:\n" + request.statustext); }

78 the user provides an account name; via Ajax, (s)he will be notified if this name already exists, according to the XML response sent by the Web service HTTP request using the URL: XML response: <response><result>1</result></response> 0 = not exists

79 case study: RandomAjax gets asynchronously a sequence of random numbers generated by random.org sent as plain text jsfiddle.net/busaco/2254kdqn/

80 const URL = ' const TIME = 2000; var xhr = new XMLHttpRequest(); var numbers = document.getelementbyid('numbers'); // handling the time-out event xhr.ontimeout = function () { numbers.textcontent = 'Time-out... :('; }; // handling the data retrieval event xhr.onload = function () { if (xhr.readystate === 4) { // data arrived if (xhr.status === 200) { // response Ok from Web service // substituting white spaces with comma and // putting the content into the HTML element identified by 'numbers' numbers.textcontent = xhr.responsetext.trim().replace(/\w+/g, ', '); } else { numbers.textcontent = 'An error occurred: ' + xhr.statustext; } } }; xhr.open("get", URL, true); // opening connection xhr.timeout = TIME; // setting the response time xhr.send(null); // no data sent

81 studiu de caz: RandomAjax (Fetch) a solution using Fetch API for the same problem jsfiddle.net/busaco/a2q9regd/

82 advanced function status(response) { // using promises github.com/wbinnssmith/awesome-promises // to perform the desired processing depending on the returned HTTP status code if (response.status >= 200 && response.status < 300) { return Promise.resolve(response) // request can be fulfilled } else { return Promise.reject(new Error(response.statusText)) // request is rejected } } fetch(url).then(status) // checking if data was successfully received.then((response) => response.text()) // transforming received data into a string.then(function(response) { // processing the number sequence // substituting white spaces with comma and // putting the content into the HTML element identified by 'numbers' var numbers = document.getelementbyid('numbers'); numbers.textcontent = response.trim().replace(/\w+/g, ', '); }).catch(function(error) { // an error occurred :( numbers.textcontent = 'An error occurred: ' + error; });

83 case study: FlickrPics Obtaining public photos stored by Flickr by using the provided Web service the source-code uses jquery library and is available at

84 case study: FlickrPics Obtaining public photos stored by Flickr by using the provided Web service we use the following URL to obtain information about pictures (available formats: Atom, CSV, JSON, XML, ) see

85 { } General form of the JSON response transmitted by Flickr: interactiune web: ajax studiu de caz "title" : "Recent Uploads", "link" : " "modified" : " T13:03:07Z", "generator" : " "items" : [ { "title" : "...", "link" : " "media" : { "m": " }, "date_taken": " T17:23:43-08:00", "description": "...", "published" : " T13:49:08Z", "author" : "...", "author_id" : "...", "tags" : "iasi romania informatica FII..." } ]

86 case study: FlickrPics // asynchronously getting the available pics JSONP jquery.getjson (" { // input data transmitted to the Web service tags: "Iasi, informatica", tagmode: "all", format: "json" }, // an anonymous function to process the data from Flickr function (data) { // iterating each data provided by the Web service $.each (data.items, function (number, photo) { // creating an <img> element having as value of "src" attribute // the URL included in obtained JSON data; // this <img> will be appended to the element with id="pics" $ ("<img/>").attr ("src", photo.media.m).attr ("title", photo.title).appendto ("#pics"); }); }); JSONP (JSON with Padding) tinyurl.com/n733jtb

87 case study: FlickrPics

88 advanced web interaction: ajax case study For generic cases, the ajax () method could be used: jquery.ajax ({ // executes a POST request to invoke a Web service type: "POST", contenttype: "application/json; charset=utf-8", url: " data: "{ }", // data sent to the service datatype: "json", // excepting the result in JSON format success: function (data) { // function called if transfer is successful } }); $('.result').html (data); // getting data, converting it to HTML

89 advanced web interaction: comet Comet term introduced by Alex Russel permits the data to be pushed by the server to the client application, by using persistent (long-lived) HTTP connections in order to reduce latency

90 advanced web interaction: comet A Web application design pattern which requires persistent peer-to-peer connections used by intensive interactive (collaborative) Web applications e.g., Mibbit

91 advanced web interaction: comet A complementary approach to Ajax long polling HTTP server push Reverse Ajax study M. Carbou, Reverse Ajax, Part 1. Introduction to Comet, IBM developerworks,

92 advanced web interaction: comet Modern, alternative solutions: adopting various HTML5 technologies server-sent events WebSocket details at Client-Side Web Application Development

93 (instead of) break

94 mash-ups Ajax/Comet offers support for mash-up hybrid Web application development combining on client- and/or server-side the content that comes from multiple sources (sites), providing a new functionality/experience

95 mash-ups Example: developing an application that provides music information based on the physical activities of the user by using public Web services

96 mash-ups

97 mash-ups access to REST services about bands + albums via an authentication key

98 mash-ups FitBit REST API provides data available as JSON and XML

99 mash-ups + FiLa a Web mash-up

100 mash-ups Based on RSS/Atom news feeds, Web services, public APIs, SaaS (Software As A Service) implemented on: client (Web browser) Web and/or Web server

101 mash-ups Characteristics: combination visualization aggregation

102 mash-ups Combination using multiple data sources that can have multidimensional characteristics for example, topic of interest + geo-location + moment of time Yahoo! Music Search + Google Maps + Eventful

103 mash-ups a Web mash-up for studying the effects of nuclear bomb detonation nuclearsecrecy.com/nukemap/

104 mash-ups Visualization adopting various techniques of data visualization (presentation): charts, maps, tag clouds, 3D, details provided by Client-Side Web Application Development (3 rd year, 1 st semester)

105 various methods for real-time visualization of the virtual currency evolution Coinorama

106 mash-ups Aggregation grouping and analyzing data from multiple sources: statistics, classifications, predictions, e.g., using data mining, hidden aspects of processed data may be revealed

107 fragrance recommendations ScentSee

108 advanced mash-ups Data Sources (Data Feeds) Application Programming Interfaces Libraries/Frameworks Interactive Web Tools Platforms (Platform As A Service) Atom, RSS, georss, micro-date HTML5, RDFa, specific to public services and for JSON/XML/RDF processing generic or organization-specific Web frameworks available in the cloud, possibly Heroku, Google Cloud Platform, Nodejitsu, Windows Azure,

109 mash-ups Your Life on Earth (BBC)

110 advanced mash-ups a list of mash-ups:

111 Is there a security issue regarding the access to resources via JavaScript?

112 advanced mash-ups: security Same-Origin Policy restricts how a document or script loaded from one origin can interact with a resource from another origin so, a JavaScript program must only access the data of the same origin (from the same Internet domain)

113 advanced client HTTP JSON, XML, Web server HTTP JPG public API HTTP JPG public API Same-Origin Policy allowing only transfers for resource representations regarding images, CSS files, and other JavaScript programs belonging to the same origin

114 advanced mash-ups: security Same-Origin Policy prevents the cases when a document/program loaded from an origin can access/modify properties of a document belonging to another origin for details, consult

115 advanced varinteractiune url = " web: ajax studiu de caz // performing a HEAD request to obtain meta-data about a resource var client = new XMLHttpRequest (); client.open ("HEAD", url, true); client.send (); client.onreadystatechange = function () { // we got HTTP headers? if (client.readystate == 2) { // providing the MIME type and last update alert ("Resource of type '" + client.getresponseheader ("Content-Type") + "' was updated at " + client.getresponseheader ("Last-Modified")); } } gets asynchronously various meta-data via HEAD

116 advanced an URL of other domain violating the Same Origin Policy

117 advanced mash-ups: security CORS (Cross-Origin Resource Sharing) W3C Recommendation (2014) allows client-side sharing of resources from different Internet domains thus, cross-origin requests could be made

118 How about the abstract access to data sources available on the Web?

119 advanced data access model: yql Yahoo! Query Language abstract access to heterogeneous data sources that can be obtained through Web services

120 advanced data access model: yql Allows based on a similar SQL language querying, filtering, combining data on the Web (support for mash-up development) facilitates the access to data sources of interest e.g., news feeds, cartographic info, multimedia resources, etc. from a Web application

121 advanced data access model: yql Adopts the SQL syntax: show, desc, select, use, insert, update, delete public data sources offered by Yahoo! (built-in tables) or provided by others (community tables) e.g., Amazon, Apple, arxiv, Deviant Art, Europarliament, GitHub, Last.fm, PayPal, Spotify, Steam, Tumblr, Yelp, response to a query data rows

122 advanced musical artefacts provided by itunes select * from apple.itunes where term='eclipse' and media='music'; the query URL

123 advanced data access model: graphql Graph Query Language a query language for APIs and a runtime for fulfilling those queries with your existing data declarative, inspired by JSON, strict (strong-typed) considered as an alternative to the REST paradigm

124 advanced data access model: graphql Graph Query Language reference JavaScript implementation: GraphQL.js libraries available for C, Go, Java,.NET, PHP, Python, Scala, Typescript, also, experiment Apollo details in Vince Ling, State of GraphQL

125 advanced model de acces la date: graphql query results schema interactive GraphQL queries regarding the Star Wars API graphql.org/swapi-graphql/ GraphQL examples for several public APIs (e.g., Hacker News, Reddit, Twitter):

126 advanced Web services computing model case study data flow model data access model GraphQL YQL mobile service provider mash-ups on mobile devices implementation model interaction model communication model adapted from Tom Croucher

127 conclusion microservices & Web interaction microservices Ajax Web mash-ups data access models

128 last episode: Web application security

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

AJAX Programming Chris Seddon

AJAX Programming Chris Seddon AJAX Programming Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 What is Ajax? "Asynchronous JavaScript and XML" Originally described in 2005 by Jesse

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

Ajax or AJAX? The acronym AJAX has changed to the term Ajax, which does not represent specific technologies

Ajax or AJAX? The acronym AJAX has changed to the term Ajax, which does not represent specific technologies Introduc)on to Ajax Ajax Theory What is Ajax Ajax is a group of interrelated technologies used to create interac5ve web applica5ons or rich Internet applica5ons. With Ajax, web applica5ons can retrieve

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

JavaScript CoAPRequest API

JavaScript CoAPRequest API JavaScript CoAPRequest API Abstract The CoAPRequest specification defines an API that provides scripted client functionality for transferring data between a CoAP client and a CoAP server. Table of Contents

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

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

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

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

,

, 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

AJAX: The Basics CISC 282 March 25, 2014

AJAX: The Basics CISC 282 March 25, 2014 AJAX: The Basics CISC 282 March 25, 2014 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 browser

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

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett What is Ajax? Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett http://www.adaptivepath.com/ideas/essays/archives /000385.php Ajax isn t really new, and isn t a single technology

More information

A.A. 2008/09. What is Ajax?

A.A. 2008/09. What is Ajax? Internet t Software Technologies AJAX IMCNE A.A. 2008/09 Gabriele Cecchetti What is Ajax? AJAX stands for Asynchronous JavaScript And XML. AJAX is a type of programming made popular in 2005 by Google (with

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

Asynchronous JavaScript + XML (Ajax)

Asynchronous JavaScript + XML (Ajax) Asynchronous JavaScript + XML (Ajax) CSE 190 M (Web Programming), Spring 2008 University of Washington References: w3schools, Wikipedia Except where otherwise noted, the contents of this presentation are

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

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly,

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly, Session 18 jquery - Ajax 1 Tutorials Reference http://learn.jquery.com/ajax/ http://www.w3schools.com/jquery/jquery_ajax_intro.asp jquery Methods http://www.w3schools.com/jquery/jquery_ref_ajax.asp 2 10/31/2018

More information

Ajax. Ronald J. Glotzbach

Ajax. Ronald J. Glotzbach Ajax Ronald J. Glotzbach What is AJAX? Asynchronous JavaScript and XML Ajax is not a technology Ajax mixes well known programming techniques in an uncommon way Enables web builders to create more appealing

More information

AJAX: The Basics CISC 282 November 22, 2017

AJAX: The Basics CISC 282 November 22, 2017 AJAX: The Basics CISC 282 November 22, 2017 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

E ECMAScript, 21 elements collection, HTML, 30 31, 31. Index 161

E ECMAScript, 21 elements collection, HTML, 30 31, 31. Index 161 A element, 108 accessing objects within HTML, using JavaScript, 27 28, 28 activatediv()/deactivatediv(), 114 115, 115 ActiveXObject, AJAX and, 132, 140 adding information to page dynamically, 30, 30,

More information

AJAX. Introduction. AJAX: Asynchronous JavaScript and XML

AJAX. Introduction. AJAX: Asynchronous JavaScript and XML AJAX 1 2 Introduction AJAX: Asynchronous JavaScript and XML Popular in 2005 by Google Create interactive web applications Exchange small amounts of data with the server behind the scenes No need to reload

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

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

JavaScript Specialist v2.0 Exam 1D0-735

JavaScript Specialist v2.0 Exam 1D0-735 JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript

More information

AJAX Programming Overview. Introduction. Overview

AJAX Programming Overview. Introduction. Overview AJAX Programming Overview Introduction Overview In the world of Web programming, AJAX stands for Asynchronous JavaScript and XML, which is a technique for developing more efficient interactive Web applications.

More information

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

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

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o : Version: 0.1 Date: 02.05.2009 Author(s): Doddy Satyasree AJAX Person responsable: Doddy Satyasree Language: English Term Paper History Version Status Date 0.1 Draft Version created 02.05.2009 0.2 Final

More information

Introduction to AJAX Bringing Interactivity & Intuitiveness Into Web Applications. By : Bhanwar Gupta SD-Team-Member Jsoft Solutions

Introduction to AJAX Bringing Interactivity & Intuitiveness Into Web Applications. By : Bhanwar Gupta SD-Team-Member Jsoft Solutions Introduction to AJAX Bringing Interactivity & Intuitiveness Into Web Applications By : Bhanwar Gupta SD-Team-Member Jsoft Solutions Applications today You have two basic choices: Desktop applications and

More information

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

INDEX SYMBOLS See also

INDEX SYMBOLS See also INDEX SYMBOLS @ characters, PHP methods, 125 $ SERVER global array variable, 187 $() function, 176 $F() function, 176-177 elements, Rico, 184, 187 elements, 102 containers,

More information

CITS1231 Web Technologies. Ajax and Web 2.0 Turning clunky website into interactive mashups

CITS1231 Web Technologies. Ajax and Web 2.0 Turning clunky website into interactive mashups CITS1231 Web Technologies Ajax and Web 2.0 Turning clunky website into interactive mashups What is Ajax? Shorthand for Asynchronous JavaScript and XML. Coined by Jesse James Garrett of Adaptive Path. Helps

More information

Modern and Responsive Mobile-enabled Web Applications

Modern and Responsive Mobile-enabled Web Applications Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive

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

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

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

Portlets and Ajax: Building More Dynamic Web Apps

Portlets and Ajax: Building More Dynamic Web Apps Portlets and Ajax: Building More Dynamic Web Apps Subbu Allamaraju Senior Staff Engineer BEA Systems, Inc. TS-4003 2007 JavaOne SM Conference Session TS-4003 Goals Goals of the of Session the Session Learn

More information

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages

Module7: AJAX. Click, wait, and refresh user interaction. Synchronous request/response communication model. Page-driven: Workflow is based on pages INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: Objectives/Outline Objectives Outline Understand the role of Learn how to use in your web applications Rich User Experience

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

The University of Bradford Institutional Repository

The University of Bradford Institutional Repository The University of Bradford Institutional Repository http://bradscholars.brad.ac.uk This work is made available online in accordance with publisher policies. Please refer to the repository record for this

More information

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework AngularJS AN INTRODUCTION Introduction to the AngularJS framework AngularJS Javascript framework for writing frontend web apps DOM manipulation, input validation, server communication, URL management,

More information

RKN 2015 Application Layer Short Summary

RKN 2015 Application Layer Short Summary RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,

More information

Fall Semester (081) Module7: AJAX

Fall Semester (081) Module7: AJAX INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module7: AJAX Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

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

Introduction to Ajax

Introduction to Ajax Introduction to Ajax with Bob Cozzi What is AJAX? Asynchronous JavaScript and XML A J a X Asynchronous data retrieval using the XMLHttpRequest object from JavaScript Data is retrieved from the server as

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

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar Connolly Hoar This is a special edition of an established title widely used by colleges and universities throughout the world. Pearson published this exclusive edition for the benefit of students outside

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

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component Module 5 JavaScript, AJAX, and jquery Module 5 Contains an Individual and Group component Both are due on Wednesday October 24 th Start early on this module One of the most time consuming modules in the

More information

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

Credits: Some of the slides are based on material adapted from 1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)

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

Static Webpage Development

Static Webpage Development Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for PHP Given below is the brief description for the course you are looking for: - Static Webpage Development Introduction

More information

Database Driven Web 2.0 for the Enterprise

Database Driven Web 2.0 for the Enterprise May 19, 2008 1:30 p.m. 2:30 p.m. Platform: Linux, UNIX, Windows Session: H03 Database Driven Web 2.0 for the Enterprise Rav Ahuja IBM Agenda What is Web 2.0 Web 2.0 in the Enterprise Web 2.0 Examples and

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

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

Future Web App Technologies

Future Web App Technologies Future Web App Technologies Mendel Rosenblum MEAN software stack Stack works but not the final say in web app technologies Angular.js Browser-side JavaScript framework HTML Templates with two-way binding

More information

Chapter 3: Web Paradigms and Interactivity

Chapter 3: Web Paradigms and Interactivity Chapter 3: Web Paradigms and Interactivity 3.1 AJAX: Asynchronous Interactivity in the Web 3.2 Paradigms for Web-Based Communication 3.3 Reverse AJAX and COMET 3.4 Web Sockets and Web Messaging 3.5 Web

More information

Web 2.0, AJAX and RIAs

Web 2.0, AJAX and RIAs Web 2.0, AJAX and RIAs Asynchronous JavaScript and XML Rich Internet Applications Markus Angermeier November, 2005 - some of the themes of Web 2.0, with example-sites and services Web 2.0 Common usage

More information

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs Web Application with AJAX Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar University of Colorado, Colorado Springs CS 526 Advanced Internet and Web Systems Abstract Asynchronous JavaScript and XML or Ajax

More information

Chapter 1 Introduction to Computers and the Internet

Chapter 1 Introduction to Computers and the Internet CPET 499/ITC 250 Web Systems Dec. 6, 2012 Review of Courses Chapter 1 Introduction to Computers and the Internet The Internet in Industry & Research o E Commerce & Business o Mobile Computing and SmartPhone

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

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

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The 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

Web 2.0 Attacks Explained

Web 2.0 Attacks Explained Web 2.0 Attacks Explained Kiran Maraju, CISSP, CEH, ITIL, ISO27001, SCJP Email: Kiran_maraju@yahoo.com Abstract This paper details various security concerns and risks associated with web 2.0 technologies

More information

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components Module 5 JavaScript, AJAX, and jquery Module 5 Contains 2 components Both the Individual and Group portion are due on Monday October 30 th Start early on this module One of the most time consuming modules

More information

A synchronous J avascript A nd X ml

A synchronous J avascript A nd X ml A synchronous J avascript A nd X ml The problem AJAX solves: How to put data from the server onto a web page, without loading a new page or reloading the existing page. Ajax is the concept of combining

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

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

Using Development Tools to Examine Webpages

Using Development Tools to Examine Webpages Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found

More information

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries

Outline. AJAX for Libraries. Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries AJAX for Libraries Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Karen A. Coombs Head of Web Services University of Houston Libraries Outline 1. What you re

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

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

COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2.

COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES. Comet HTML5 WebSockets. Peter R. Egli INDIGOO.COM. indigoo.com. 1/18 Rev. 2. COMET, HTML5 WEBSOCKETS OVERVIEW OF WEB BASED SERVER PUSH TECHNOLOGIES Peter R. Egli INDIGOO.COM 1/18 Contents 1. Server push technologies 2. HTML5 server events 3. WebSockets 4. Reverse HTTP 5. HTML5

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

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

An Introduction to AJAX. By : I. Moamin Abughazaleh

An Introduction to AJAX. By : I. Moamin Abughazaleh An Introduction to AJAX By : I. Moamin Abughazaleh How HTTP works? Page 2 / 25 Classical HTTP Process Page 3 / 25 1. The visitor requests a page 2. The server send the entire HTML, CSS and Javascript code

More information

Web Architecture and Technologies

Web Architecture and Technologies Web Architecture and Technologies Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding Web technologies Adopted for User Interfaces Adopted for Distributed Application

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

AJAX(Asynchronous Javascript + XML) Creating client-side dynamic Web pages

AJAX(Asynchronous Javascript + XML) Creating client-side dynamic Web pages AJAX(Asynchronous Javascript + XML) Creating client-side dynamic Web pages AJAX = Asynchronous JavaScript and XML.AJAX is not a new programming language, but a new way to use existing standards. AJAX is

More information

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already. 2 3 4 The point here is that for real business applications, there is a connected back-end for services. The mobile part of the app is just a presentation layer that is unique for the mobile environment.

More information

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Backend Development. SWE 432, Fall 2017 Design and Implementation of Software for the Web Backend Development SWE 432, Fall 2017 Design and Implementation of Software for the Web Real World Example https://qz.com/1073221/the-hackers-who-broke-into-equifax-exploited-a-nine-year-old-security-flaw/

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

Web 2.0 and Security

Web 2.0 and Security Web 2.0 and Security Web 2.0 and Security 1. What is Web 2.0? On the client: Scripting the XMLHttpRequest object On the server: REST Web Services Mash-ups ups of Web Services used together to create novel

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Introduction to Ajax. Sang Shin Java Technology Architect Sun Microsystems, Inc.

Introduction to Ajax. Sang Shin Java Technology Architect Sun Microsystems, Inc. Introduction to Ajax Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com Agenda 1.What is Rich User Experience? 2.Rich Internet Application (RIA) Technologies

More information

CS50 Quiz Review. November 13, 2017

CS50 Quiz Review. November 13, 2017 CS50 Quiz Review November 13, 2017 Info http://docs.cs50.net/2017/fall/quiz/about.html 48-hour window in which to take the quiz. You should require much less than that; expect an appropriately-scaled down

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

Web Programming Step by Step

Web Programming Step by Step Web Programming Step by Step Lecture 19 Ajax Reading: 10.1-10.2 Except where otherwise noted, the contents of this presentation are Copyright 2009 Marty Stepp and Jessica Miller. Synchronous web communication

More information

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries AJAX Workshop Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries Outline 1. What you re in for 2. What s AJAX? 3. Why AJAX? 4. Look at some AJAX examples

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

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal

More information

Get in Touch Module 1 - Core PHP XHTML

Get in Touch Module 1 - Core PHP XHTML PHP/MYSQL (Basic + Advanced) Web Technologies Module 1 - Core PHP XHTML What is HTML? Use of HTML. Difference between HTML, XHTML and DHTML. Basic HTML tags. Creating Forms with HTML. Understanding Web

More information

Ajax HTML5 Cookies. Sessions 1A and 1B

Ajax HTML5 Cookies. Sessions 1A and 1B Ajax HTML5 Cookies Sessions 1A and 1B JavaScript Popular scripting language: Dynamic and loosely typed variables. Functions are now first-class citizens. Supports OOP. var simple = 2; simple = "I'm text

More information

Abstract. 1. Introduction. 2. AJAX overview

Abstract. 1. Introduction. 2. AJAX overview Asynchronous JavaScript Technology and XML (AJAX) Chrisina Draganova Department of Computing, Communication Technology and Mathematics London Metropolitan University 100 Minories, London EC3 1JY c.draganova@londonmet.ac.uk

More information

Ajax in Oracle JDeveloper

Ajax in Oracle JDeveloper Ajax in Oracle JDeveloper Bearbeitet von Deepak Vohra 1. Auflage 2008. Taschenbuch. xiv, 224 S. Paperback ISBN 978 3 540 77595 9 Format (B x L): 15,5 x 23,5 cm Gewicht: 373 g Weitere Fachgebiete > EDV,

More information

Web Architecture Review Sheet

Web Architecture Review Sheet Erik Wilde (School of Information, UC Berkeley) INFO 190-02 (CCN 42509) Spring 2009 May 11, 2009 Available at http://dret.net/lectures/web-spring09/ Contents 1 Introduction 2 1.1 Setup.................................................

More information

Part 3: Online Social Networks

Part 3: Online Social Networks 1 Part 3: Online Social Networks Today's plan Project 2 Questions? 2 Social networking services Social communities Bebo, MySpace, Facebook, etc. Content sharing YouTube, Flickr, MSN Soapbox, etc. Corporate

More information

AJAX and PHP AJAX. Christian Wenz,

AJAX and PHP AJAX. Christian Wenz, AJAX and PHP Christian Wenz, AJAX A Dutch soccer team A cleaner Two characters from Iliad A city in Canada A mountain in Colorado... Asynchronous JavaScript + XML 1 1 What is AJAX?

More information