Make the transition from server-side to (partially) client-side web applications

Size: px
Start display at page:

Download "Make the transition from server-side to (partially) client-side web applications"

Transcription

1 Goal of this lecture Make the transition from server-side to (partially) client-side web applications Learn that Ajax is more than a cleaning product Become friends with JSON, the «cooler» cousin of XML Learn how to dance the «OAuth dance» Give it a REST! Learn about a way to offer your (web) API functionality to non-programmers Make them integrate with you instead of the other way round norrie@inf.ethz.ch 1

2 Web Frameworks AJAX Client-Side Frameworks

3 What can JavaScript do? (Repetition) Embed snippets of code in HTML pages React to events Include dynamic pieces of text in HTML pages Access and write HTML elements Validate form data Detect client browser Store and retrieve cookies

4 AJAX Asynchronous JavaScript And XML combines Asynchronous processing of HTTP requests JavaScript And...? XML data serialization format Rather fuzzy term that incorporates a lot of different technologies: HTML/CSS for the presentation DOM manipulation to integrate received data into web page XML to exchange data XMLHttpRequest as a means to perform asynchronous communication JavaScript to implement the logic and handle the requests Send/receive data from a server asynchronously, no need to refresh whole page Has evolved over time Data format not constrained to XML anymore, JSON common alternative norrie@inf.ethz.ch 4

5 Request AJAX Architecture Traditional Architecture AJAX Architecture Web Server Web Server Request Response Response Web Browser Web Browser AJAX Engine

6 XMLHttpRequest API JavaScript API to send XML messages over HTTP Important methods: open(http method, url, async, ) setrequestheader(header, value) send(data) Important properties: onreadystatechange readystate status opens a connection sets value of an HTTP request header sends a request (data can be omitted) event listener to register callback state of the request (int enum) HTTP status code of the response Callback function Handles the response of the server asynchronously norrie@inf.ethz.ch 6

7 AJAX Example function loadxmldoc() { var xmlhttp; xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readystate === 4 && xmlhttp.status === 200) { document.getelementbyid("mydiv").innerhtml = xmlhttp.responsetext; } } xmlhttp.open("get", "ajax_info.txt", true); xmlhttp.send(); } <div id="mydiv"><h2>let AJAX change this text</h2></div> <button type="button" onclick="loadxmldoc()">change Content</button> norrie@inf.ethz.ch 7

8 Common AJAX Operation Flow 1. Event triggers execution of handler function 2. Handler function processes event 3. Handler function instantiates an XMLHttpRequest object and registers a callback function 4. Handler function sends an HTTP request to remote server 5. Server processes request and sends XML response back to client 6. Callback function is invoked to process the server response asynchronously norrie@inf.ethz.ch 8

9 JSON JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. Used to represent data structures and associative arrays in a simple and human-readable way Four primitive types and two structured types Primitive types: null value, booleans, numbers and arbitrary strings Structured types: Arrays and objects A JSON object is an unordered collection (a set) of arbitrary name/value pairs Name: Any String Value: Any primitive or structured type norrie@inf.ethz.ch 9

10 JSON Format { Name and value separated by colon anullvalue : null, astring : Chuchichäschtli, anumber : e10, aboolean : false, Explicit nullable type Double-quoted Unicode String Scientific format, no octal or hexadecimal Two possible literals: true and false myarray : [ Anything, 42, true], } nestedobject : { } Enclosing Curly Braces Ordered, comma-separated, values can have different type key1 : value1, key2 : value2 Name/Value pairs separated by comma norrie@inf.ethz.ch 10

11 JSON (Data Exchange Format) Became a very popular alternative to XML Almost every large Web API supports JSON, often the primary data format JSON Schema provides validation (similar to XML Schema) but still in development Advantages: Human-readable Compact, simple syntax Disadvantages: Less efficient than binary protocols No (official) validation yet Does not support object references norrie@inf.ethz.ch 11 { } "id": 1, "name": "TV", "price": 2300, "tags": [ "LED", "QHD" ], "stock": { "warehouse": 300, "retail": 20 } { "name": "Product", "properties": { "id": { "type": "number", "description": "Product identifier", "required": true }, "name": { "type": "string", "description": "Name of the product", "required": true },... } JSON JSON Schema

12 JavaScript Web Frameworks Usually not «full stack» web frameworks, but typical features include: Declarative Bindings Template Language Filter / Transformations Event-Handling REST Abstractions Often promote particular design pattern: MVC, MVP, MVVM norrie@inf.ethz.ch 13

13 AngularJS DemoLive Demo Exemplary JavaScript Web framework for client-side applications

14 TodoMVC Challenge: How to pick the right JavaScript web framework? How to compare different design patterns? Idea: Implement the same simple Todo application with each framework

15 Web APIs From Screen Scraping to Web Integration

16 Web Scraping Idea: Extract information from websites, often transforming unstructured data (HTML) into structured records Extracted data can be stored in databases and integrated with other data or analyzed offline Web Scraper: Software that mimicks a user (human being) browsing the web, but processes HTML documents directly (no rendering or user interaction involved) Web scraping techniques Parse DOM tree XPath and XQuery Regular Expressions jquery / CSS Selectors norrie@inf.ethz.ch 17

17 Example: Scrapy Python library to crawl websites and extract structured data class DmozSpider(BaseSpider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ " ] def parse(self, response): hxs = HtmlXPathSelector(response) sites = hxs.select('//ul/li') for site in sites: title = site.select('a/text()').extract() link = site.select('a/@href').extract() desc = site.select('text()').extract() print title, link, desc norrie@inf.ethz.ch 18

18 Mashups In web development, a mashup is a Web application that combines data or functionality from two or more sources into a single integrated application. The term mashup implies easy, fast integration, frequently done by access to open APIs and data sources to produce results that were not the original reason for producing the raw source data. -- Wikipedia.org Types of Mashups Data Aggregation: (Similar) data objects from different sources Computation: Currency converter, media type converter Data Visualisation: Mapping Data connectors to fetch data from various sources Facebook, Twitter, Flickr, etc. Data converters and manipulation methods Visual data rendering controls Text effects, image slideshows, etc norrie@inf.ethz.ch 19

19 Example: Yahoo! Pipes

20 Programmable Web APIs to access platforms and services Heterogeneity Protocols Data formats Programming languages Services

21 Source: Growth of the ProgrammableWeb API Directory ( 23

22 Web APIs Application Programming Interfaces to access services over the web Call remote (service) methods or manipulate «web resources» directly Popular techniques: RESTful Web Services Web Services Description Language (highly standardized) XML RPC Standardized message/serialization formats JSON XML SOAP (Simple Object Access Protocol), XML Information Set

23 REST An architectural style for distributed hypermedia systems Introduced by Roy Fielding in 2000 Worked on HTTP 1.0/1.1 Developed REST in parallel to HTTP/1.1 as part of his doctoral dissertation REST describes an architecture, not a protocol The World Wide Web based on HTTP is the largest implementation of that architecture style norrie@inf.ethz.ch 27

24 REST Style Architecture Deriving REST by applying several constraints: Client-server: Separation of concerns, improves portability of user interface on the client side, improves scalability on the server side Stateless: Client-server interaction is stateless, no context, each client request contains all necessary information Cache: Mechanism to indicate whether server reponses are cacheable or non-cacheable Uniform Interface: Main feature of REST, four interface constraints Layered System: Proxies, Gateways, Caches Code-On-Demand (optional): Extend clients by client-side scripts RESTful interfaces and architectures comply with those constraints Fielding, Roy Thomas. Architectural styles and the design of network-based software architectures. Diss. University of California,

25 REST Style Architecture: Uniform Interface Identification of Resources Resources have to be uniquely identifiable URI/URL identifiers predominant in most systems Manipulation of Resources through representations Resources can have several representations but each needs to include all the necessary information to manipulate the resource Clients (i.e. the web browser) work with representations only Self-descriptive messages Hypermedia as the engine of application state Interaction with application is determined by the structure embedded in the resources, such as links to related resources Such a (idealized) Uniform Interface is rarely achieved in practice norrie@inf.ethz.ch 29

26 (Web) Resources Any information that can be uniquely identified, i.e. has a name, within an information system (such as the Web) Unifom Resource Identifiers are used to identify (web) resources, URIs are standardized in RFC 3986 Can refer to anything that has an identity A person, a document, a file, abstract concepts such as mathematical operations or feelings Representations A single resource maps to zero or more different representations: HTML document, an image, RSS item, RDF, JSON, XML Type of representation specified by Internet media type Examples RFCs (Request for Comment) are publications by the Internet Engineering Task Force, the main standards body for Internet standards norrie@inf.ethz.ch 30

27 RESTful Web Services Adhere to the principle of REST Implementations based on HTTP/1.1 (RFC 2616), use HTTP/1.1 methods to manipulate resources Assume certain semantics (but this cannot be enforced technically) Safe: Retrieval only, no side-effects Idempotent: Calling method several times yields same result, no additional effect HTTP VERB Semantics Description GET POST Safe, Idempotent Retrieves information about an entity identified by Request-URI Submit an (new) entity as a subordinate of resource identified by Request-URI PUT Idempotent Replaces existing entity identified by Request-URI with new one DELETE Idempotent Deletes resource identified by Request-URI HTTP verbs (methods) used in REST style APIs norrie@inf.ethz.ch 31

28 RESTful Web Services (contd.) For a given Web Resource, HTTP methods translate to actions on the resource GET Retrieve the representation of «Michael» PUT Replace or modify existing friend POST Create a new friend (usually operates on «parent collection»: ) DELETE Delete friend resource Error Handling API errors often indicated with HTTP status codes and (non-standardized) response messages No official standard Everyone seems to have a REST API Provides no means to describe the Web API in a standardized way (as opposed to WSDL) norrie@inf.ethz.ch 32

29 RESTful Web Services: Partial Updates Problem: PUT semantics require the entire representation of the resource to be sent to the server for every update HTTP verb «PATCH» is new kid on the block Neither safe nor idempotent Allows partial updates to resources Propagated in Rails 4.0 Specifications RFC 5789 specifies general PATCH semantics, but no «diff» format RFC 6902 specifies partial updates for JSON Old Solutions POST updates POST /friends/alfonso Content-Type: application/x-wwwform-urlencoded age=24 => How to remove (optional) attributes? POST urls with query parameters that follow APIspecific conventions POST /friends/alfonso?age=24 => No generic semantics! Define attributes as (sub-)resources PUT /friends/alfonso/age => Cumbersome!

30 Example: Dropbox Core API

31 RESTful Web Service Example Atom Publishing Protocol with WordPress Retrieve available collections (posts, categories ) GET Retrieve all posts GET Retrieve specific post GET Add a new blog entry POST Update a blog entry PUT Delete a blog entry DELETE norrie@inf.ethz.ch 35

32 REST Application Programming Interfaces REST style not constrained to web services/applications Many NoSQL databases offer REST style APIs Example: CouchDB Open source document-oriented database written in Erlang Manages and stores a collection of JSON documents A single JSON document is exposed as a resource and has its own, unique URI Provides a RESTful API to access the database via HTTP requests Uses JSON exclusively for data interchange norrie@inf.ethz.ch 36

33 CouchDB Live Demo Demonstrates use of REST style architecture and JSON

34 Create your own REST API Most web frameworks can be used to create REST APIs Main difference: Serve JSON or XML instead of HTML Many platform-specific solutions JAX-RS: Java API for RESTful Web Services Version 1.1: Official API for Java Enterprise Edition 6 Version 2.0: Adds Client API, asynchronous processing, message filters etc. Reached release stage in May 2013 WCF Data Services (.NET) Exposes Entity Data Model objects via REST-style interface Mostly driven by relational databases Route-based solutions Map URL routes (HTTP method + URL matching pattern) to actions/responses norrie@inf.ethz.ch 38

35 Example: JAX-RS 1.1 Jersey Java Library: Reference Implementation of JAX-RS Based on Annotations of Model Classes import javax.ws.rs.get; import javax.ws.rs.produces; import javax.ws.rs.path; // The Java class will be hosted at the URI path public class HelloWorldResource { // The Java method will process HTTP GET // The Java method will produce content identified by the // MIME Media type "text/plain«@produces("text/plain") public String getclichedmessage() { // Return some cliched textual content return "Hello World"; } } Example taken from Oracle Documentation: norrie@inf.ethz.ch 39

36 Example: Sinatra (Ruby) Ruby-based, domain-specific language to create web applications get '/' do.. show something.. end post '/' do.. create something.. end get '/hello/:name' do # matches "GET /hello/foo" and "GET /hello/bar«# params[:name] is 'foo' or 'bar "Hello #{params[:name]}!«end get '/foo', :agent => /Songbird (\d\.\d)[\d\/]*?/ do "You're using Songbird version #{params[:agent][0]}«end Example from Sinatra Documentation: norrie@inf.ethz.ch 40

37 Libraries/Wrappers for Web APIs Challenge: Each service has its own, site-specific Web API Generic, universal REST libraries and JSON parsers exist, but require manual adaptation and mapping Current solution: Different wrappers for different services for different programming languages Twitter Java: Twitter4j, java-twitter, JTwitter, TweetStream4J.Net: LINQ to Twitter, TweetSharp, Twitterizer Standardisation? Flickr Java: FlickrJ, Jickr.Net: Flickr.NET Ruby: flickraw, flickr.rb, rflickr

38 API Standardisation and Aggregation? My Web Application OpenSocial API OAuth OpenID

39 Open Social Common set of APIs to for web-based social network applications that span accross many websites Uses JavaScript APIs and REST/RPC protocols Based on Google s gadget architecture Applications are XML documents with HTML/JavaScript embedded Originally conceived by Google, MySpace and other social networks, now mainly supported by IBM, Jive Software and SugarCRM for enterprise social platforms Illustrations created by Google, released under Creative Commons norrie@inf.ethz.ch 43

40 Open Social: Architecture Social Mashup Runs inside of a social network Scales well Limited in terms of data storage and data processing Social Website / Social Mobile Application Runs outside of social networks Communicate via REST/RPC APIs 2-legged OAuth authorization flow Illustrations created by Google, released under Creative Commons norrie@inf.ethz.ch 44

41 Open Social: Architecture Social Application Runs inside of a social network, but uses an external server for processing and rendering of data Advanced functionality Scaling might be an issue 3-legged OAuth authorization flow norrie@inf.ethz.ch 45

42 Open Standards for Authorization and Authentication OAuth 1.0a/2.0 (Authorization) Allows sharing of private resources across web sites To access the data, tokens are used instead of credentials Tokens allow very fine-grained access control (resource/time based) Credentials never leave the original service provider Implemented by Twitter (v1.0a), Facebook (v2.0), Google (v2.0), Microsoft OpenID (Authentication) Identify users accross web sites No central authority, based on mutual trust Several providers: Google, Yahoo!, LiveJournal, MySpace, Steam

43 OAuth Core 1.0a (RFC 5849) Illustration by courtesy of Idan Gazit, Oauth Documentation

44 OAuth 2.0 (RFC 6749) - Let s try again In RFC 6749, OAuth 2.0 defines four roles: Resource Owner: An entity capable of granting access to a protected resource When the resource owner is a person, it is referred to as an end-user Resource server: Server hosting the protected resources, capable of accepting and responding to protected resource requests using access tokens Client: An application making protected resource requests on behalf of the resource owner and with its authorization (e.g. a web browser) Authorization server: The server issuing access tokens to the client after successfully authenticating the resource owner and obtaining authorization norrie@inf.ethz.ch 48

45 OAuth 2.0 Protocol Flow (A)- Authorization Request -> Resource Owner <-(B)-- Authorization Grant (C)-- Authorization Grant --> Authorization Client Server <-(D)----- Access Token (E)----- Access Token > Resource Server <-(F)--- Protected Resource (A) The authorization request can also be made (preferably) indirectly via the authorization server as an intermediary Illustration by Dick Hardt, RFC

46 API-enabled web components Idea: Encapsulate web API functualities in HTML user interface components Buttons, Input Forms, Links Different names, same principle Social Plugins (Facebook), Social Gadgets (Google), Embedded Tweets (Twitter),... Advantages Can be embedded in any website Allow non-technical persons to «access» the web API

47 Example: Google+ Button Load JavaScript API library <script type="text/javascript«src=" </script> Place HTML markup to render button <g:plusone size = "tall"></g:plusone> Alternative: Load JavaScript asynchronous <script type="text/javascript"> (function() { var po = document.createelement('script'); po.type = 'text/javascript'; po.async = true; po.src = ' var s = document.getelementsbytagname('script')[0]; s.parentnode.insertbefore(po, s); })(); </script> norrie@inf.ethz.ch 51

48 Example: Facebook Comments Box Load JavaScript API library <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getelementsbytagname(s)[0]; if (d.getelementbyid(id)) return; js = d.createelement(s); js.id = id; js.src = "//connect.facebook.net/en_us/all.js#xfbml=1&appid= "; fjs.parentnode.insertbefore(js, fjs); } (document, 'script', 'facebook-jssdk')); </script> Place HTML 5 markup to render button <div class="fb-comments data-href= data-num-posts="2" data-width="470"> </div> norrie@inf.ethz.ch 52

49 Open Graph Protocol Idea: Annotate web sites with meta data to turn them into «rich objects in a social graph» Allows third-party developers to integrate their Web resources into Facebook s Open Graph and perform «actions» on them (i.e. like) Developed by Facebook but specification is open Web pages that include Open Graph tags can be «consumed» by any provider (e.g. Google) Protocol Usage Implemented with <meta> tags embedded into the HTML code Adds structured information about a single web resource/page norrie@inf.ethz.ch 53

50 Open Graph Protocol Specification Four required properties (Open Graph Core): og:title The (visible) title of the web resource og:type Any type that is supported (i.e. actor, city, product etc.) og:image An image URL that represents the resource in the graph og:url Canonical URL and permanent ID of the resource Facebook-specific meta data (mandatory for Facebook Open Graph integration): fb:app_id App ID of the Facebook application representing the site fb:admins Facebook user IDs of administrators (deprecated) Additional attributes available to specify Location, contact information and video/audio attachments Type-specific attributes (example for og:type=music.song) music:album The album this song is from

51 Open Graph Example <html xmlns:og=" xmlns:fb=" > <head> <title>the Rock (1996)</title> <meta property="og:title" content="the Rock" /> <meta property="og:type" content= video.movie" /> <meta property="og:url" content=" /> <meta property="og:image" content=" /> <meta property="og:site_name" content="imdb" /> <meta property="fb:app_id" content= APP_ID" />... </head>... </html>

52 OpenGraph Live Demo How to integrate your web page with Facebook s Open Graph norrie@inf.ethz.ch 56

53 Conclusion: Web APIs There is no single Web API standard REST style is a widely used architecture but does not specify anything in terms of implementation Several open standards emerged from company driven efforts OAuth by Blaine Cook (Twitter) OpenID by Brad Fitzpatrick (LiveJournal) OpenSocial developed by Google Open Graph Protocol initated by Facebook Integrating different web services and applications is a challenge! norrie@inf.ethz.ch 57

54 References REST Roy Thomas Fielding Architectural Styles and the Design of Network-based Software Architectures Dissertation, University of California, Irvine, 2000 Uniform Resource Identifier JSON Specification Open Web Standards OAuth 1.0 Protocol Open Graph Protocol OpenSocial Foundation

ReST 2000 Roy Fielding W3C

ReST 2000 Roy Fielding W3C Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST

More information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6 04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is

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

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer

More information

CSC Web Technologies, Spring Web Data Exchange Formats

CSC Web Technologies, Spring Web Data Exchange Formats CSC 342 - Web Technologies, Spring 2017 Web Data Exchange Formats Web Data Exchange Data exchange is the process of transforming structured data from one format to another to facilitate data sharing between

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

RESTful Services. Distributed Enabling Platform

RESTful Services. Distributed Enabling Platform RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 2014 Blue Net Corporation. All rights reserved a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed

More information

WWW, REST, and Web Services

WWW, REST, and Web Services WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What

More information

Lesson 14 SOA with REST (Part I)

Lesson 14 SOA with REST (Part I) Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)

More information

Session 12. RESTful Services. Lecture Objectives

Session 12. RESTful Services. Lecture Objectives Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading

More information

Web Services Week 10

Web Services Week 10 Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web

More information

CGS 3066: Spring 2015 JavaScript Reference

CGS 3066: Spring 2015 JavaScript Reference CGS 3066: Spring 2015 JavaScript Reference Can also be used as a study guide. Only covers topics discussed in class. 1 Introduction JavaScript is a scripting language produced by Netscape for use within

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

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

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

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

HTTP, REST Web Services

HTTP, REST Web Services HTTP, REST Web Services Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) HTTP, REST Web Services Winter Term 2018 1 / 36 Contents 1 HTTP 2 RESTful

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

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

Composer Help. Web Request Common Block

Composer Help. Web Request Common Block Composer Help Web Request Common Block 7/4/2018 Web Request Common Block Contents 1 Web Request Common Block 1.1 Name Property 1.2 Block Notes Property 1.3 Exceptions Property 1.4 Request Method Property

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

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 Very Short Introduction to AngularJS

a Very Short Introduction to AngularJS a Very Short Introduction to AngularJS Lecture 11 CGS 3066 Fall 2016 November 8, 2016 Frameworks Advanced JavaScript programming (especially the complex handling of browser differences), can often be very

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

REST Easy with Infrared360

REST Easy with Infrared360 REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style

More information

XMLHttpRequest. CS144: Web Applications

XMLHttpRequest. CS144: Web Applications XMLHttpRequest http://oak.cs.ucla.edu/cs144/examples/google-suggest.html Q: What is going on behind the scene? What events does it monitor? What does it do when

More information

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018 Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful

More information

RESTful -Webservices

RESTful -Webservices International Journal of Scientific Research in Computer Science, Engineering and Information Technology RESTful -Webservices Lalit Kumar 1, Dr. R. Chinnaiyan 2 2018 IJSRCSEIT Volume 3 Issue 4 ISSN : 2456-3307

More information

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Apache Wink Developer Guide. Draft Version. (This document is still under construction) Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer

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

Developing RESTful Services Using JAX-RS

Developing RESTful Services Using JAX-RS Developing RESTful Services Using JAX-RS Bibhas Bhattacharya CTO, Web Age Solutions Inc. April 2012. Many Flavors of Services Web Services come in all shapes and sizes XML-based services (SOAP, XML-RPC,

More information

AJAX. Lecture 26. Robb T. Koether. Fri, Mar 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, / 16

AJAX. Lecture 26. Robb T. Koether. Fri, Mar 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, / 16 AJAX Lecture 26 Robb T. Koether Hampden-Sydney College Fri, Mar 21, 2014 Robb T. Koether (Hampden-Sydney College) AJAX Fri, Mar 21, 2014 1 / 16 1 AJAX 2 Http Requests 3 Request States 4 Handling the Response

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

2 Apache Wink Building Blocks

2 Apache Wink Building Blocks 2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration

More information

REST API Developer Preview

REST API Developer Preview REST API Developer Preview Dave Carroll Developer Evangelist dcarroll@salesforce.com @dcarroll Alex Toussaint Sr. Product Manager atoussaint@salesforce.com @alextoussaint Safe Harbor Safe harbor statement

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

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

ITP 140 Mobile Technologies. Mobile Topics

ITP 140 Mobile Technologies. Mobile Topics ITP 140 Mobile Technologies Mobile Topics Topics Analytics APIs RESTful Facebook Twitter Google Cloud Web Hosting 2 Reach We need users! The number of users who try our apps Retention The number of users

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

REST API s in a CA Plex context. API Design and Integration into CA Plex landscape

REST API s in a CA Plex context. API Design and Integration into CA Plex landscape REST API s in a CA Plex context API Design and Integration into CA Plex landscape Speaker Software Architect and Consultant at CM First AG, Switzerland since 2008 having 30+ years of experience with the

More information

RESTful Web services

RESTful Web services A Seminar report on RESTful Web services Submitted in partial fulfillment of the requirement for the award of degree Of Computer Science SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org

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

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

ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX

ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX ORACLE APPLICATION EXPRESS, ORACLE REST DATA SERVICES, & WEBLOGIC 12C AUTHOR: BRAD GIBSON SENIOR SOLUTIONS ARCHITECT ADVIZEX AdvizeX Technologies - A Rolta Company 6/12/2015 1 AGENDA Introductions Test

More information

All About Open & Sharing

All About Open & Sharing All About Open & Sharing 차세대웹기술과컨버전스 Lecture 3 수업블로그 : http://itmedia.kaist.ac.kr 2008. 2. 28 한재선 (jshan0000@gmail.com) NexR 대표이사 KAIST 정보미디어경영대학원대우교수 http://www.web2hub.com Open & Sharing S2 OpenID Open

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

REST. And now for something completely different. Mike amundsen.com

REST. And now for something completely different. Mike amundsen.com REST And now for something completely different Mike Amundsen @mamund amundsen.com Preliminaries Mike Amundsen Developer, Architect, Presenter Hypermedia Junkie I program the Internet Designing Hypermedia

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

Index LICENSED PRODUCT NOT FOR RESALE

Index LICENSED PRODUCT NOT FOR RESALE Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using

More information

REST. Web-based APIs

REST. Web-based APIs REST Web-based APIs REST Representational State Transfer Style of web software architecture that simplifies application Not a standard, but a design pattern REST Take all resources for web application

More information

Assignment: Seminole Movie Connection

Assignment: Seminole Movie Connection Assignment: Seminole Movie Connection Assignment Objectives: Building an application using an Application Programming Interface (API) Parse JSON data from an HTTP response message Use Ajax methods and

More information

Open Source Library Developer & IT Pro

Open Source Library Developer & IT Pro Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4

More information

This tutorial is intended to make you comfortable in getting started with the Firebase backend platform and its various functions.

This tutorial is intended to make you comfortable in getting started with the Firebase backend platform and its various functions. Firebase About the Tutorial Firebase is a backend platform for building Web, Android and IOS applications. It offers real time database, different APIs, multiple authentication types and hosting platform.

More information

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu

WebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu Outline WebApp development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 20 September 2017 1 2 Web app structure HTML basics Back-end: Web server Database / data storage Front-end: HTML page CSS JavaScript

More information

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations

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

Service Oriented Architectures (ENCS 691K Chapter 2)

Service Oriented Architectures (ENCS 691K Chapter 2) Service Oriented Architectures (ENCS 691K Chapter 2) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ The Key Technologies on Which Cloud

More information

JavaScript Lecture 1

JavaScript Lecture 1 JavaScript Lecture 1 Waterford Institute of Technology May 17, 2016 John Fitzgerald Waterford Institute of Technology, JavaScriptLecture 1 1/31 Javascript Extent of this course A condensed basic JavaScript

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

Modern web applications and web sites are not "islands". They need to communicate with each other and share information.

Modern web applications and web sites are not islands. They need to communicate with each other and share information. 441 Modern web applications and web sites are not "islands". They need to communicate with each other and share information. For example, when you develop a web application, you may need to do some of

More information

Cookies, sessions and authentication

Cookies, sessions and authentication Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &

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

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

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

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

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

AJAX. Ajax: Asynchronous JavaScript and XML *

AJAX. Ajax: Asynchronous JavaScript and XML * AJAX Ajax: Asynchronous JavaScript and XML * AJAX is a developer's dream, because you can: Read data from a web server - after the page has loaded Update a web page without reloading the page Send data

More information

International Journal of Advance Engineering and Research Development. Refining Data Exchange Methodologies using JavaScript Object Notation

International Journal of Advance Engineering and Research Development. Refining Data Exchange Methodologies using JavaScript Object Notation Scientific Journal of Impact Factor (SJIF): 4.72 International Journal of Advance Engineering and Research Development Volume 4, Issue 4, April -2017 e-issn (O): 2348-4470 p-issn (P): 2348-6406 Refining

More information

ITP 342 Mobile App Development. APIs

ITP 342 Mobile App Development. APIs ITP 342 Mobile App Development APIs API Application Programming Interface (API) A specification intended to be used as an interface by software components to communicate with each other An API is usually

More information

CIOC API User Guide. Release Online Resources 3.7 / Client Tracker 3.2. Katherine Lambacher, KCL Software Solutions Inc.

CIOC API User Guide. Release Online Resources 3.7 / Client Tracker 3.2. Katherine Lambacher, KCL Software Solutions Inc. CIOC API User Guide Release Online Resources 3.7 / Client Tracker 3.2 Katherine Lambacher, KCL Software Solutions Inc. September 03, 2015 Contents 1 CIOC Online Resources API Introduction 1 1.1 Available

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

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc. About the Tutorial JSON or JavaScript Object Notation is a lightweight text-based open standard designed for human-readable data interchange. The JSON format was originally specified by Douglas Crockford,

More information

INF5750. RESTful Web Services

INF5750. RESTful Web Services INF5750 RESTful Web Services Recording Audio from the lecture will be recorded! Will be put online if quality turns out OK Outline REST HTTP RESTful web services HTTP Hypertext Transfer Protocol Application

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Introduction to JSON. Roger Lacroix MQ Technical Conference v

Introduction to JSON. Roger Lacroix  MQ Technical Conference v Introduction to JSON Roger Lacroix roger.lacroix@capitalware.com http://www.capitalware.com What is JSON? JSON: JavaScript Object Notation. JSON is a simple, text-based way to store and transmit structured

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these.

7401ICT eservice Technology. (Some of) the actual examination questions will be more precise than these. SAMPLE EXAMINATION QUESTIONS (Some of) the actual examination questions will be more precise than these. Basic terms and concepts Define, compare and discuss the following terms and concepts: a. HTML,

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

Lecture 4: Data Collection and Munging

Lecture 4: Data Collection and Munging Lecture 4: Data Collection and Munging Instructor: Outline 1 Data Collection and Scraping 2 Web Scraping basics In-Class Quizzes URL: http://m.socrative.com/ Room Name: 4f2bb99e Data Collection What you

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

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. Why are the protocols layered? 5. Define encapsulation.

More information

CSCE 120: Learning To Code

CSCE 120: Learning To Code CSCE 120: Learning To Code Module 11.0: Consuming Data I Introduction to Ajax This module is designed to familiarize you with web services and web APIs and how to connect to such services and consume and

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

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

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh November 20, 2017 1 / 32 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

Web Programming Paper Solution (Chapter wise)

Web Programming Paper Solution (Chapter wise) What is valid XML document? Design an XML document for address book If in XML document All tags are properly closed All tags are properly nested They have a single root element XML document forms XML tree

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

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

CSC 337. JavaScript Object Notation (JSON) Rick Mercer

CSC 337. JavaScript Object Notation (JSON) Rick Mercer CSC 337 JavaScript Object Notation (JSON) Rick Mercer Why JSON over XML? JSON was built to know JS JSON JavaScript Object Notation Data-interchange format Lightweight Replacement for XML It's just a string

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

Applikationen im Browser Webservices ohne Grenzen

Applikationen im Browser Webservices ohne Grenzen Applikationen im Browser Webservices ohne Grenzen Dan Theurer, Technical Evangelist Yahoo! Developer Network Java Forum Stuttgart, CA 5. Juli 2007 2007 About Me Software Technik - FHTE Esslingen DB2e -

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

Restful Application Development

Restful Application Development Restful Application Development Instructor Welcome Currently a consultant in my own business and splitting my time between training and consulting. Rob Gance Assist clients to incorporate Web 2.0 technologies

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

Information Security CS 526 Topic 8

Information Security CS 526 Topic 8 Information Security CS 526 Topic 8 Web Security Part 1 1 Readings for This Lecture Wikipedia HTTP Cookie Same Origin Policy Cross Site Scripting Cross Site Request Forgery 2 Background Many sensitive

More information

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology An Overview of Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 23, 2011 1. Design Principles 2. Architectural Patterns 3. Building for Degradation

More information

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions

More information

Make your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010

Make your application real-time with PubSubHubbub. Brett Slatkin May 19th, 2010 Make your application real-time with PubSubHubbub Brett Slatkin May 19th, 2010 View live notes and ask questions about this session on Google Wave http://tinyurl.com/push-io2010 Me http://onebigfluke.com

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