RESTful or RESTless Current State of Today's Top Web APIs



Similar documents
ITP 140 Mobile Technologies. Mobile Topics

Chapter 3. Database Architectures and the Web Transparencies

Introduc)on to the IoT- A methodology

Web Presence Proposal For: Campaign Approach. Test Organization Overview and Campaign Goals. Take Control of Your Web Presence

The Role of Nutanix in the Public /Private / Hybrid Cloud Spectrum

REST web services. Representational State Transfer Author: Nemanja Kojic

IT Exam Training online / Bootcamp

Telephone Related Queries (TeRQ) IETF 85 (Atlanta)

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

DTCC Data Quality Survey Industry Report

A RESTful Web Service for Whois. Andy Newton Chief Engineer, ARIN

benefit of virtualiza/on? Virtualiza/on An interpreter may not work! Requirements for Virtualiza/on 1/06/15 Which of the following is not a poten/al

MARKETING KUNG FU SEO: Key Things to Expand Your Digital Footprint. A Practical Checklist

WEB SERVICES TEST AUTOMATION

Social Application Guide

XML Processing and Web Services. Chapter 17

Big Data Analytics Building Blocks. Simple Data Storage (SQLite)

Big Data Analytics Building Blocks; Simple Data Storage (SQLite)

ITP 342 Mobile App Development. APIs

Creating Web Services in NetBeans

CHAPTER 24 Communicating with the Web

SDN- based Mobile Networking for Cellular Operators. Seil Jeon, Carlos Guimaraes, Rui L. Aguiar

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

Interna'onal Standards Ac'vi'es on Cloud Security EVA KUIPER, CISA CISSP HP ENTERPRISE SECURITY SERVICES

Cloud to Cloud Integrations with Force.com. Sandeep Bhanot Developer

Search Engine Optimization (SEO) Secrets

Big Data Analytics Building Blocks. Simple Data Storage (SQLite)

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

Campaign Goals, Objectives and Timeline SEO & Pay Per Click Process SEO Case Studies SEO & PPC Strategy On Page SEO Off Page SEO Pricing Plans Why Us

Replacing a commercial integration platform with an open source ESB. Magnus Larsson magnus.larsson@callistaenterprise.se Cadec

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

OAuth2 Ready or not? Dominick Baier

IT Change Management Process Training

Mark E. Pruzansky MD. Local SEO Action Plan for. About your Local SEO Action Plan. Technical SEO. 301 Redirects. XML Sitemap. Robots.

Retrofi8ng OAuth 2.0 Security into Exis?ng REST Service [CON1765]

Cloud Adoption & Risk Report Q3 2013

MY DIGITAL PLAN MY DIGITAL PLAN BROCHURE

CS 5150 So(ware Engineering System Architecture: Introduc<on

DIGITAL MARKETING TRAINING

300+ APIs Everywhere

The Power of Social Media Marketing. Steven R. Van Hook, PhD

How To Understand A Services-Oriented Architecture

Website, Blogs, Social Sites : Create web presence in the world of Internet rcchak@gmail.com, June 21, 2015.

Understanding and Detec.ng Real- World Performance Bugs

Guide to Social Marketing for Tourist Destinations & Travel Agents Introduction

Findability Consulting Services

Experiments on cost/power and failure aware scheduling for clouds and grids

Using Social Networking Sites as a Platform for E-Learning

Certified Cloud Computing Professional VS-1067

Web 2.0-based SaaS for Community Resource Sharing

Social Media Marke-ng for Academic Research

Fraunhofer FOKUS. Fraunhofer Institute for Open Communication Systems Kaiserin-Augusta-Allee Berlin, Germany.

Designing RESTful Web Applications

Social Influence Analysis in Social Networking Big Data: Opportunities and Challenges. Presenter: Sancheng Peng Zhaoqing University

Clusters in the Cloud

Cloud Computing. Chapter 2 Software as a Service (SaaS)

Envirofacts API Cory Wagner, US EPA

Entrepreneurship /Skill Development On. Digital Marketing

Page One Promotions Digital Marketing Pricing

Online Marketing & Social Media

Return on Experience on Cloud Compu2ng Issues a stairway to clouds. Experts Workshop Nov. 21st, 2013

How To Use Splunk For Android (Windows) With A Mobile App On A Microsoft Tablet (Windows 8) For Free (Windows 7) For A Limited Time (Windows 10) For $99.99) For Two Years (Windows 9

Web Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy

Setting the World on FHIR


OpenSocial Network Programming

Skyrocket Your Cloud Business with Digital Marketing. Rob Bracey

Local Search Optimization Guide: Google+ Local & Getting Found in Your Neighborhood

The Ultimate Local SEO Checklist

Full Website Analysis

2013 Ruby on Rails Exploits. CS 558 Allan Wirth

Realizing a Vision Interesting Student Projects

WEB SERVICES FOR MOBILE COMPUTING

Transcription:

RESTful or RESTless Current State of Today's Top Web APIs Frederik Buelthoff, Maria Maleshkova AIFB, Karlsruhe Ins-tute of Technology (KIT), Germany [1]

Growing Number of Web APIs

Challenges Scalability Automa-on Managing complexity???

Web API Descrip-ons 07.05.2014 Service Oriented Compu-ng II SS 2014

What is a Web API???? No established defini-on REST principles as founda-on à Web API Survey

Survey Setup h`p://www.programmableweb.com Conducted during December 2013/January 2014 Single domain expert 45 Web APIs Use number of mashups as a metric for the popularity of the Web API (biased towards older APIs) Alexa.com rank and number of tagged ques-ons on StackOverow.com Amazon Product Advertising, Amazon S3, BitBucket, Azure (Blob Service), Balanced Payments, Bing Maps REST Services, Bitly, Box, del.icio.us, Disqus, DocuSign Enterprise, Dropbox (Core API), ebay (Shopping API), Etsy, Eventful, Facebook (Graph API), Flickr, Foursquare, Freebase (Search/Reconcile), Geonames, GitHub, Google Custom Search, Google Maps APIWeb Services, Google Places API, Groupon, Heroku, Instagram, Last.fm, LinkedIn, OpenStreetMap (Editing API), Panoramio, Paypal, Reddit, Salesforce, Tropo, Tumblr, Twilio, Twitpic, Twitter, Wikipedia/Mediawiki, Yahoo! BOSS, Yahoo! BOSS Geo, Yammer, Yelp, Youtube

Analyzed Characteris-cs General Web API Informa6on the APIs size in terms of opera-ons, availability of alterna-ve protocols, interface descrip-ons URL and Resource Links URL design, use of links between API resources HTTP Use HTTP methods, support for alterna-ve HTTP methods, use of HTTP error status codes, caching mechanisms Input and Output Data way of transmigng input data, types of input, output formats Security and Policies types of authen-ca-on, limita-ons on usage Common Design Decision how are versioning and the selec-on of the output format realized

General Web API Informa-on Measuring size/complexity The majority (62%) of the APIs had between eleven and one hundred opera-ons (38% in the 11-50 and 24% in the 51-100 range) Remaining Web APIs equally divided into smaller (less than 11 opera-ons, 20%) and larger (>100 opera-ons, 18%) Only two entries (4%) provided a single opera-on Alterna-ve protocols Only a small percentage (20%) of the Web APIs provided the same service using alterna-ve protocols Flickr is available through SOAP, XML- RPC and REST Interface descrip-ons in a machine- readable format Web APIs (11%) using a custom format, JSON Hyper- Schema, WSDL Links to related resources embedded in the response data of Web APIs (an alterna-ve to interface descrip-ons) available in eight cases (18%)

General Web API Informa-on - Summary Once an HTTP- based Web API is available, providers tend to move away from previous interac-on protocol implementa-ons (e.g. SOAP) Machine- interpretable interface descrip-on formats are rather an excep-on than a rule Most providers s-ll prefer to document APIs directly as part of webpages

URLs and Resource Links HATEOAS in the URL design Design or structure of the URLs remains a good indicator for the type of the Web API. The availability of resource links was previously presented as part of the analysis on interface Web APIs with self links include the URL of resources as part of their representa-on Pagina-on links provide the client with precomposed URLs for paging

URLs and Resource Links Summary HATEOAS remains one of the most poorly supported constraints of the REST architecture Less than a fioh of the analyzed Web APIs providing links to related resources Notable excep-ons include PayPal and Github

HTTP Use Two most commonly used HTTP verbs are GET and POST The most popular way for indica-ng the HTTP verb is via a query parameter

HTTP Use 71% use the HTTP status codes to indicate an error 27% of the Web APIs explicitly state support for caching Test invoca-ons show addi-onal six Web APIs with caching support, without having documented it

Input and Output Data Ways for sending the input Type of input As output format Web APIs most commonly (89%) support JSON XML remains the second most used data format (58%)

Input and Output Data Summary Preparing the input in the right format requires addi-onal effort There is no general consensus on how to format frequently occurring input (such as date and -me) Manual effort (for service invoca-on and composi-on) JSON and XML the two main established output data formats, with JSON rapidly gaining on importance

Security and Policies The most common way of iden-fying the client applica-on/user is via an API key Most Web APIs (89%) state and implement rate limita-ons The majority of Web APIs use authen-ca-on Requiring developers to 1) register their applica-on in advance 2) tackle individual authen-ca-on mechanisms OAuth has the poten-al to emerge as universally adopted standard for authen-ca-on

Common Design Decisions Versioning This was addressed by 73% of the examined Web APIs Way of selec-ng the output format

RESTless! Web APIs feature a large amount of heterogeneity Require more manual effort to smooth over differences in implementa-ons Some more understandable concepts (such as using the HTTP verbs) have gained widespread adop-on Other concepts (such as resource linking (HATEOAS)) are hardly ever applied

[1] RESTful Java Web Services with NetBeans, Jersey and Tomcat, h`p://vichargrave.com/ ressul- web- service- development- with- netbeans- and- tomcat- tutorial/