REST APIs: A Large-Scale Analysis of Compliance with Principles and Best Practices

Quickly and dominantly, REST APIs have spread over the Web and percolated into modern software development practice, especially in the Mobile Internet where they conveniently enable offloading data and computations onto cloud services. We analyze more than 78 GB of HTTP traffic collected by Italy’s biggest Mobile Internet provider over one full day and study how big the trend is in practice, how it changed the traffic that is generated by applications, and how REST APIs are implemented in practice. The analysis provides insight into the compliance of state-of-the-art APIs with theoretical Web engineering principles and guidelines, knowledge that affects how applications should be developed to be scalable and robust. The perspective is that of the Mobile Internet.

[1]  Cesare Pautasso,et al.  RESTful web services: principles, patterns, emerging technologies , 2010, WWW '10.

[2]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[3]  Mark Masse,et al.  REST API Design Rulebook , 2011 .

[4]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[5]  Yann-Gaël Guéhéneuc,et al.  Detection of REST Patterns and Antipatterns: A Heuristics-Based Approach , 2014, ICSOC.

[6]  Mike P. Papazoglou,et al.  Web Services - Principles and Technology , 2007 .

[7]  Boualem Benatallah,et al.  Web Service Composition , 2015 .

[8]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[9]  I. Melzer Web Services Description Language , 2010 .

[10]  Roy T. Fielding,et al.  Uniform Resource Identifier (URI): Generic Syntax , 2005, RFC.

[11]  Roy T. Fielding,et al.  Uniform Resource Identifiers (URI): Generic Syntax , 1998, RFC.

[12]  Deepak Ajwani,et al.  Profiling User Activities with Minimal Traffic Traces , 2015, ICWE.

[13]  Cesare Pautasso,et al.  RESTful Web Services: Principles, Patterns and Emerging Technologies , 2013 .

[14]  Florian Daniel,et al.  Mashups - Concepts, Models and Architectures , 2014, Data-Centric Systems and Applications.

[15]  E. James Whitehead,et al.  HTTP Extensions for Distributed Authoring - WEBDAV , 1999, RFC.

[16]  Adrian Popescu,et al.  Measurement and Analysis of HTTP Traffic , 2005, Journal of Network and Systems Management.

[17]  Yang Liu,et al.  Collaborative Security , 2015, ACM Comput. Surv..

[18]  Yann-Gaël Guéhéneuc,et al.  Are RESTful APIs Well-Designed? Detection of their Linguistic (Anti)Patterns , 2015, ICSOC.

[19]  Jason Lee,et al.  A first look at modern enterprise traffic , 2005, IMC '05.

[20]  Anja Feldmann,et al.  A First Look at Mobile Hand-Held Device Traffic , 2010, PAM.

[21]  Gerald Kunzmann,et al.  Understanding mobile Internet usage behavior , 2014, 2014 IFIP Networking Conference.

[22]  Bruce A. Mah,et al.  An empirical model of HTTP network traffic , 1997, Proceedings of INFOCOM '97.