API (Application Program Interface)

Slides:



Advertisements
Similar presentations
REST Vs. SOAP.
Advertisements

Building RESTful Interfaces
Introduction to Backend James Kahng. Install Node.js.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Peoplesoft: Building and Consuming Web Services
Service-Oriented Programming
© 2011 IBM Corporation Overview on Modeling RESTful Services August, 2011 Manoj Paul, Software Developer, Rational,
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Web Mashups -Nirav Shah.
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.
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
Web Mashups Presented By: Saket Goel Uni: sg2679.
Or, Hey can’t we just do it using HTTP for the envelope?
Cross Site Integration “mashups” cross site scripting.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
HTML5 AND THE FUTURE JAVASCRIPT PLATFORM Marcelo Lopez Ruiz Senior Software Design Engineer Microsoft Corporation.
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.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Introduction to Web Services
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
RESTful Web Services What is RESTful?
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
REST By: Vishwanath Vineet.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
CMS 2: Advanced Web Editing - Content Presented By: Katie Pagano, Special Projects Manager Steve Pont, Product Architect.
1 ODF and Web Mashups Basic techniques Rob Weir, IBM :15.
National College of Science & Information Technology.
Web Development. Agenda Web History Network Architecture Types of Server The languages of the web Protocols API 2.
J2EE Platform Overview (Application Architecture)
The Object-Oriented Thought Process Chapter 13
Web Mashups -Nirav Shah.
The Client-Server Model
RESTful Sevices Distributed Objects Presented by: Shivank Malik
Better RESTFul API – Best Practices
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
REST: Web Services Abel Sanchez.
REST- Representational State Transfer Enn Õunapuu
Cosc 5/4730 REST services.
Node.js Express Web Services
Project 1 Introduction to HTML.
Application with Cross-Platform GUI
Introduction Web Environments
Representational State Transfer
PHP / MySQL Introduction
Connor Griesemer & Kevin Wu
Jessica Betts, Sophia Pandey, & Ryan Amundson
Ashish Pandit IT Architect, Middleware & Integration Services
Testing REST IPA using POSTMAN
WEB API.
Lecture 1: Multi-tier Architecture Overview
$, $$, $$$ API testing Edition
Distributed Systems through Web Services
Middleware, Services, etc.
REST APIs Maxwell Furman Department of MIS Fox School of Business
RESTful Web Services.
WEB SERVICES From Chapter 19, Distributed Systems
Python and REST Kevin Hibma.
Web APIs In computer programming, an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application.
Week 05 Node.js Week 05
Computer Network Information Center, Chinese Academy of Sciences
NEECOM – May 22, 2019 Todd L Gould, CEO
Chengyu Sun California State University, Los Angeles
Web Application Development Using PHP
Presentation transcript:

API (Application Program Interface) Sophia Pandey, Ryan Amundson, & Jessica Betts

Outline What is an API? / Who uses API’s? API Pros and Cons Security Concerns 3rd Party Authentication JSON RESTful API Routing / Status Codes / HTTP Requests Tools + Examples Mashup

What is an API? Application Programming Interface A way for programmers to communicate with an application ”“is a set of routines, protocols, and tools for building software applications. The API specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components.

Who uses API’s?

Most Popular APIs Facebook Google Maps Twitter Youtube AccuWeather

API Pros and Cons Pros: Cons: -less work for developers -security -user convenience - dependency -site capabilities

Security Concerns Problem arises with how API’s are coded Not the concept Review code prior to release Security expert Test on multiple platforms and browsers Developers - include how to guide in documentation Development - balance speed with attention to detail http://searchsecurity.techtarget.com/tip/API-security-How-to-ensure-secure-API-use- in-the-enterprise

API’s - 3rd Party Authentication Redirection occurs Facebook Example Commonly use OAuth protocol Focuses on client developer simplicity Provides specific authorization https://parse.com/tutorials/adding-third-party-authentication-to-your-web-app http://oauth.net/2/ Create and save a reference to this request Redirect the user to the third-party login endpoint Process an inbound redirect from the third-party site Validate the request with the third-party service

JSON/XML JavaScript Object Notation Extensible Markup Language Object for efficiently storing and moving data Uses objects and arrays to nest information Readability Extensible Markup Language Uses tags similar to HTML Nests data between tags Uses attributes for metadata http://jsonapi.org/

RESTful API What is REST? REpresentational State Transfer Why should I use it? Simplicity of interfaces(Client-Server, Uniform) Stateless Modifiability of components to meet changing needs ( (even while the application is running) Visibility of communication between components by service agents (Middleware) Portability of components by moving program code with the data Reliability at the system level(Modular, Resilient)

HTTP Requests CRUD for API’s GET {Controller}/{Action} Retrieve a resource POST Create a resource PUT Update a resource DELETE Remove a resource {Controller}/{Action} {Controller}/{Action}/{ID} www.example.com/...

Routing URL pattern mapped to a handler Server side handling of API request Receives incoming http request Middleware evaluates request Route determines resources to manipulate Data returned as JSON or XML

Status Codes - 1xx: informational - 2xx: Success - 3xx: Redirection - 4xx: Client Error - 5xx: Server Error

Tools + Examples Postman API testing tool Oxford University Google Geocode: maps.googleapis.com/maps/api/geocode/json?address=Oxford%20University,%20uk&sensor=false Beyonce Itunes search API: itunes.apple.com/search?term=beyonce&entity=musicVideo Go to: ryanamundson.com:8000

Mashup Combination of many APIs used together to create a new application E.g. google maps and photo locations Enterprise mashups Companies resources combined with external sources Consumer mashups wikipediavision(shows where edits are from with google maps) Data mashups Combination of resources for a new and distinct web service.

Mashups Popular Mashups: Infogr.am vineOS Google charts, maps and analytics vineOS Google analytics, UPS, PayPal and more E-commerce IBM Watson message resonance API