access to everything over the web

Slides:



Advertisements
Similar presentations
CS193H: High Performance Web Sites Lecture 17: Rule 14 – Make Ajax Cacheable Steve Souders Google
Advertisements

Programming with touchdevelop working with loaned phone what about them? Disclaimer: This document is provided as-is. Information and views expressed in.
Touchdevelop api api: web downloading and uploading Disclaimer: This document is provided as-is. Information and views expressed in this document, including.
Introduction to Web Services
Overview of Twitter API Nathan Liu. Twitter API Essentials Twitter API is a Representational State Transfer(REST) style web services exposed over HTTP(S).
Touchdevelop api api: tiles customize your home screen Disclaimer: This document is provided as-is. Information and views expressed in this document, including.
TouchDevelop: Productive Scripting on and for Mobile Devices and Web Services Thomas Ball Sebastian Burckhardt, Peli de Halleux, Michał Moskal, Nikolai.
Introduction to touchdevelop actions aka methods/functions/procedures Disclaimer: This document is provided “as-is”. Information and views expressed in.
events reactive programming
Touchdevelop api api: location & maps show geo locations Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Introduction to touchdevelop if then else conditional statement Disclaimer: This document is provided “as-is”. Information and views expressed in this.
Advanced topics in touchdevelop privacy transparent privacy control via information flow analysis Disclaimer: This document is provided “as-is”. Information.
touchdevelop vs. apps with Visual Studio
Libraries in touch develop Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
Introduction to Computing Using Python CSC Winter 2013 Week 8: WWW and Search  World Wide Web  Python Modules for WWW  Web Crawling  Thursday:
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
Introduction to Web Services and Web API’s Richard Holowczak Baruch College December, 2014.
Programming with touchdevelop discovering discover touchdevelop Disclaimer: This document is provided “as-is”. Information and views expressed in this.
Programming with touchdevelop touchdevelop introduction Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
HTTP Overview Vijayan Sugumaran School of Business Administration Oakland University.
Touchdevelop api api: messaging sending sms Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Screens naming screens and concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and.
Introduction to touchdevelop math basic arithmetic operations Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Touchdevelop api api: home script your digital media Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api sound & microphone record sound Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api: calendar when you are supposed to be somewhere Disclaimer: This document is provided “as-is”. Information and views expressed in.
Advanced topics in touchdevelop touchdevelop outlook ongoing research Disclaimer: This document is provided “as-is”. Information and views expressed in.
Programming with touchdevelop class mechanics working with a phone in the classroom Disclaimer: This document is provided “as-is”. Information and views.
Touchdevelop api api: contacts people you know Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
WEB API: WHY THEY MATTER ECOL 453/ Nirav Merchant
I/o inputs and outputs Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Touchdevelop api api: leaderboard when you are supposed to be somewhere Disclaimer: This document is provided “as-is”. Information and views expressed.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Touchdevelop api api: sending electronic bits to people Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Introduction to touchdevelop statements overview Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Touchdevelop api api: social sharing Twitter, Facebook, … Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Programming with touchdevelop teacher’s checklist go over this before starting the course Disclaimer: This document is provided “as-is”. Information and.
Advanced topics in touchdevelop touchdevelop vs. apps with Visual Studio comparison Disclaimer: This document is provided “as-is”. Information and views.
I/o inputs and outputs Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet.
Introduction to touchdevelop ✿ art read only resources Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Social experience everything that is not coding Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Scripts what’s in a script – basic language concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Scripts what’s in a script – basic language concepts Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RESTful Web Services What is RESTful?
Editing code mastering code input and navigation Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Fundamentals of Web DevelopmentRandy Connolly and Ricardo HoarFundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Fundamentals of Web DevelopmentRandy.
Web Services An Introduction Copyright © Curt Hill.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Introduction to touchdevelop values … and types Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Introduction to touchdevelop statements overview Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including.
Computer Networks with Internet Technology William Stallings Chapter 04 Modern Applications 4.1 Web Access - HTTP.
Screens naming screens and concepts v2.8 Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL.
National College of Science & Information Technology.
ArcGIS for Server Security: Advanced
Cosc 5/4730 REST services.
Node.js Express Web Services
What is REST API ? A REST (Representational State Transfer) Server simply provides access to resources and the REST client accesses and presents the.
HTTP, RESTful Web Services, HTTP and REST Tools: Postman, Fiddler
Azure AD Line Of Business Application Integration
WEB API.
Chapter 27 WWW and HTTP.
access to everything over the web
Chengyu Sun California State University, Los Angeles
Presentation transcript:

access to everything over the web cloud services access to everything over the web Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and Windows Live are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.

what it is “meta API” build on web standards retrieve all information visible in touchdevelop app outlook: callbacks, plugins (meta apps) build on web standards HTTP, REST, JSON ✿ touchdevelop.com/help/cloudservices

architecture front-ends Windows Identity Foundation Azure TouchDevelop WP7 app talks with Azure Web Service (any) browser talks with Azure Web App Windows Identity Foundation allows users to authenticate with Windows Live ID, Facebook Azure web site talks with Azure Web Service web service controls Azure Storage storage (public data) storage (private data)

Windows Identity Foundation Azure Storage (public) Azure Storage (private) Azure Web Service Azure Web Site Windows Identity Foundation WP7 devices with TouchDevelop app web browser

HTTP HyperText Transfer Protocol the protocol used by the World Wide Web

HTTP example Request Headers Response Headers GET http://www.touchdevelop.com/api/ecvs HTTP/1.1 Host: www.touchdevelop.com Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Response Headers HTTP/1.1 200 OK Content-Length: 451 Expires: -1 Date: Fri, 10 Feb 2012 02:51:48 GMT Content-Type: application/json; charset=utf-8 Cache-Control: no-cache, no-store Pragma: no-cache

REST REST (Representational State Transfer) is a lightweight alternative to mechanisms like RPC (Remote Procedure Calls) and Web Services (SOAP, WSDL, et al.). RESTful applications use HTTP requests to post data (create and/or update), read data (e.g., make queries), and delete data. Thus, REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.

REST here Currently, only supported verb is ‘GET’ All accesses are stateless

JSON JSON (JavaScript Object Notation) is a lightweight data-interchange format. two building blocks: a collection of name/value pairs (“object”, “record”, …) an ordered list of values (“array”, …)

JSON grammar json: string | number | boolean | array | object string/number/boolean follow grammar of corresponding JavaScript literals array: “[“ [json (“,” comma)*] “]” field: string “:” json object: “[“ field [(“,” field)*] “]” example [ “elem0”, 1, { “x” : “value of field x”, “y” : 42 }, false ]

JSON example GET http://www.touchdevelop.com/api/ecvs HTTP/1.1 { "kind":"script", "time":44139093, "id":"ezdf", "url":"http://touchdevelop.com/ezdf", "name":"Smart Rail Table", "description":"", "userid":"yvfc", "username":"Sascha M. B.", "icon":"directions", "iconbackground":"#008000", "iconurl":"https://az31353.vo.msecnd.net/c01/wbso.png", "positivereviews":0, "comments":0, …

JSON example … "capabilities":[ {"name":"sourcegeolocation","iconurl":"https://az31353.vo.msecnd.net/c01/qzgl.png"}, {"name":"sinkweb","iconurl":"https://az31353.vo.msecnd.net/c01/mopx.png"} ], "flows":[], "haserrors":false, "rootid":"dgig", "updateid":"ezdf", "ishidden":false, "islibrary":false, "installations":0, "runs":0 }

main lists /api/new-scripts /api/top-scripts /api/featured-scripts /api/search?text=[text] /api/users /api/comments /api/screenshots /api/reviews optional list parameters: ?count=[number]&continuation=[token]

publication properties /api/[id] /api/[scriptid]/text /api/[scriptid]/ast /api/[scriptid]/successors /api/[scriptid]/base /api/[userid]/scripts /api/[scriptid or userid or commentid]/comments /api/[scriptid or userid]/screenshots /api/[commentid or scriptid or userid]/reviews /api/[userid]/picture

apis: json Web→download json Downloads a web service response as a JSON data structure Json Object→kind Gets a json kind (string, number, boolean, object, array) string: Json Object→to string number: Json Object→to number boolean: Json Object→to boolean object: Json Object→keys, Json Object→field array: Json Object→at, Json Object→count  

exercise ► in touchdevelop, write code that… Posts the names of new scripts Posts links to the urls of new scripts ► in touchdevelop, write code that figures out… of the (around) 100 new scripts, which have at least one ♥ ? ☁ http://touchdevelop.com/axaw (solution)

homework ► in your favorite language, write code that figures out… how many scripts are there? how many AST nodes does the biggest script have? which script got the most ♥ ? which user gave the most ♥ ? what is the longest script (number of lines)? which script got updated the most?

title item 1 Item 2 ☀ anecdote song→post to wall ☁ http://touchdevelop.com/velk (link to sample) ► an exercise ✿ a reference