RESTful Sevices Distributed Objects Presented by: Shivank Malik

Slides:



Advertisements
Similar presentations
REST - Representational State Transfer
Advertisements

REST Vs. SOAP.
REST Introduction 吴海生 博克软件(杭州)有限公司.
Introduction to Web Services
Building RESTful Interfaces
Introduction to Backend James Kahng. Install Node.js.
IS 360 Course Introduction. Slide 2 What you will Learn (1) The role of Web servers and clients How to create HTML, XHTML, and HTML 5 pages suitable for.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
RESTful Web Development With Nodejs and Express. REST Stands for REpresentational State Transfer Has the following constraints: ◦Client-Server ◦Stateless.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Introduction to InfoSec – Recitation 7 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
Designing and Implementing Web Data Services in Perl
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Wyatt Pearsall November  HyperText Transfer Protocol.
RESTful applications Norman White. REST Representational state transfer Key concepts – Client Server architecture built on transferring resources between.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
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.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
1 Seminar on Service Oriented Architecture Principles of REST.
Google Data Protocol Guy Mark Lifshitz. Motivation Google’s Mission: – Organize the world’s information – Make information universally accessible – Provide.
API Crash Course CWU Startup Club. OUTLINE What is an API? Why are API’s useful? What is HTTP? JSON? XML? What is a RESTful API? How do we consume an.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
RESTful Web Services What is RESTful?
REST By: Vishwanath Vineet.
Martin Kruliš by Martin Kruliš (v1.0)1.
The Internet Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Representational State Transfer COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Basics Components of Web Design & Development Basics, Components, Design and Development.
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
Glencoe Introduction to Multimedia Chapter 2 Multimedia Online 1 Internet A huge network that connects computers all over the world. Show Definition.
Intro to REST Joe Gregorio Google. REST is an Architectural Style.
National College of Science & Information Technology.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
4.01 How Web Pages Work.
The Client-Server Model
API (Application Program Interface)
Thoughts on Architecture for the Internet of Things
REST- Representational State Transfer Enn Õunapuu
Cosc 5/4730 REST services.
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Node.js Express Web Services
Advanced Web-based Systems | Misbhauddin
Real quick, just to understand the audience, how many of you:
Representational State Transfer
PHP / MySQL Introduction
Connor Griesemer & Kevin Wu
CISC103 Web Development Basics: Web site:
WEB API.
IS 360 Course Introduction
Web Browser server client 3-Tier Architecture Apache web server PHP
Chapter 27 WWW and HTTP.
$, $$, $$$ API testing Edition
Web services introduction, application and its future
A gentle introduction to RESTful APIs
REST APIs Maxwell Furman Department of MIS Fox School of Business
RESTful Web Services.
REST på Microsoft-stacken
Introduction to World Wide Web
Python and REST Kevin Hibma.
Week 05 Node.js Week 05
Client-Server Model: Requesting a Web Page
A gentle introduction to RESTful APIs
NEECOM – May 22, 2019 Todd L Gould, CEO
Chengyu Sun California State University, Los Angeles
Web Application Development Using PHP
Presentation transcript:

RESTful Sevices Distributed Objects Presented by: Shivank Malik Kunal Shrivastava Distributed Objects

Agenda -REST Our project- Feedster Delegation of work References Why REST? What is a RESTful Services? Our project- Feedster Introduction Twitter, Facebook, Instagram services Web service Queries Tech used Algorithm Client- Browser and Mobile Wireframes Slideshow, animations, video Delegation of work References

REST Stands for (Re)presentational (S)tate (T)ransfer Based on Roy Fielding’s thesis on Network-based Software Architecture Is an architectural style Architectural style is an abstraction as opposed to a concrete thing References: https://www.youtube.com/watch?v=YCcAE2SCQ6k

What is an architectural style? This architectural style would tell us about the characteristics of a house or a building built ON this architectural style References: http://en.wikipedia.org/wiki/Hall_of_Languages,_Syracuse_University Second Empire architectural style

REST architectural style HTTP In the same way, REST architectural style is a set of rules and architectural constraints that you would see in a protocol like HTTP, built in that style. HTTP is one such protocol(house) that has been built on this architectural style. References: http://en.wikipedia.org/wiki/Hall_of_Languages,_Syracuse_University http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm REST architectural style

When am I RESTful? Resources Protocol URI Client-Server Uniform Interface Methods Representation Protocol Client-Server Layered Cacheable Stateless URL- Uniquely addressable using a universal syntax The resources share a common interface for interaction with the client This interface defines a well-defined set of methods (GET, PUT, POST, DELETE, HEAD) Representations are identified through content-types References: - https://www.youtube.com/watch?v=YCcAE2SCQ6k

When am I RESTful? Protocol Stateless Cacheable Layered Client-Server - HTTP is a client server protocol

When am I RESTful? Origin Server Intermediaries User Agent Protocol Client-Server Layered Stateless Cacheable Origin Server Intermediaries Intermediaries add the layers in the request-response path and this happens without changing the interface They may do translation or improve performance by caching User Agent

When am I RESTful? Origin Server Intermediaries User Agent Protocol Client-Server Layered Stateless Cacheable Origin Server Intermediaries This is also important why the the interaction between requests are stateless This allows intermediaries to work on a single interaction without worrying about the entire topology User Agent

When am I RESTful? Origin Server Intermediaries Proxies User Agent Protocol Client-Server Layered Stateless Cacheable Origin Server Intermediaries Intermediaries are basically proxies and gateways Proxies are chosen by the clients while gateways are chosen by the server There may be several proxies and gateways between the user agent and the server Proxies Gateways User Agent

When am I RESTful? Origin Server Intermediaries Proxies User Agent Protocol Client-Server Layered Stateless Cacheable Origin Server Intermediaries With caches, we cover all the characteristics for being RESTful. Benefits REST: Efficiency Scalability User perceived performance Computation can be moved close to client or server based on the requirements Code-on-demand Javascript validation example Proxies Gateways User Agent Cache Cache

Why REST? Social networking APIs are RESTful Support for JSON Effective encoding/decoding tools for JSON present on server and client side References: - http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/

Final Project Feedster Web and mobile (iOS) application Display feeds from Instagram, Twitter and Facebook based on hashtags Real-time feeds including pictures and text Run Slideshow for feeds Creating slideshow video from feeds User profile, history and video storage

Architecture

Web Service Server side service Receives requests from clients Interacts with social media API’s to fetch data Interacts with the database Sends back data to the client

Database and Video Storage Stores User details and login information Stores User history (hashtags used, slideshows played, etc.) Stores videos made by the user

User Registration and Login Registration form Google Authentication Facebook Authentication Twitter Authentication

Instagram Tags Search API Query Instagram’s tags search API with the hashtag and access token Returns information of all the images containing the hashtag Can be queried with min_id to get latest posts

Twitter Search API Query Twitter’s search API with the hashtag text and access token Returns information of all the tweets containing the hashtag Can be queried with since_id to get latest posts

Facebook Graph Search Query Facebook’s Graph Search for public posts containing hashtag text with access token Returns information of all the public posts containing the hashtag Latest posts can be calculated using the maximum id the client had received

Clients - Browser

Clients - Browser

Clients - Browser

Slideshow animations HTML5 and CSS3 transitions JavaScript and jQuery animations GSAP from GreenSock (HTML5 animations library) PicoVico for creating slideshow videos

iOS Client Frameworks to be used- Cocoa Touch Foundation Core Image AFNetworking Caching of photos CocoaPods iCarousal References: - https://github.com/AFNetworking/AFNetworking

Technologies to be used PHP MySQL SQLite Twitter, Facebook and Instagram APIs Javascript Objective C

Algorithm for the slideshow Display Screen FeedItem { feedType feedImage feedText userImage userName } Photo Queue -Randomly choose from the queues -Randomly photograph from chosen queue -Download photo from the service -Enqueue loaded object in Photo Queue Scheduler nodeOfQ01 { url counter } Queue 0 Queue 1 Web service Queue manager High priority Low priority

Delegation of work Interaction with social networking APIs- Shivank Building our own REST API- Shivank, Kunal Work on the algorithm- Shivank, Kunal Web client- Shivank iOS client- Kunal

Thank you! if (questions) askQuestions(); else break;

References Google developers- REST- https://www.youtube.com/watch?v=YCcAE2SCQ6k Roy Fielding’s dissertation- http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm A good blog on REST- http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/ AFNetworking Git- https://github.com/AFNetworking/AFNetworking Twitter Developer Site- https://dev.twitter.com/rest/public Facebook Developer Site- https://developers.facebook.com/ Instagram Developer Site- https://instagram.com/developer/ Picovico Developer Site- http://picovico.readthedocs.org/