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

  • Carlos Rodríguez
  • Marcos Baez
  • Florian Daniel
  • Fabio Casati
  • Juan Carlos Trabucco
  • Luigi Canali
  • Gianraffaele Percannella
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9671)

Abstract

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.

Keywords

REST APIs REST principles Mobile internet 

References

  1. 1.
    An, X., Kunzmann, G.: Understanding mobile internet usage behavior. In: Networking Conference, IFIP 2014, pp. 1–9. IEEE (2014)Google Scholar
  2. 2.
    Berners-Lee, T., Fielding, R., Masinter, L.: Uniform Resource Identifier (URI): Generic syntax. Technical report (2004)Google Scholar
  3. 3.
    Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H.F., Thatte, S., Winer, D.: SOAP Version 1.2. W3c recommendation, W3C. http://www.w3.org/TR/soap/
  4. 4.
    Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web Services Description Language (WSDL) 1.1. W3c note, W3C, March 2001Google Scholar
  5. 5.
    Daniel, F., Matera, M.: Mashups: Concepts, Models and Architectures. Data-Centric Systems and Applications. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  6. 6.
    Fielding, R.: Architectural styles and the design of network-based software architectures. Ph.D. dissertation, University of California, Irvine (2007)Google Scholar
  7. 7.
    Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., Berners-Lee, T.: Hypertext Transfer Protocol - HTTP/1.1. Technical Report RFC 2616, The Internet Society, (1999). http://www.ietf.org/rfc/rfc2616.txt
  8. 8.
    Fowler, M.: Richardson maturity model: steps toward the glory of rest (2010). http://martinfowler.com/articles/richardsonMaturityModel.html
  9. 9.
    Goland, Y., Whitehead, E., Faizi, A., Carter, S., Jensen, D.: HTTP Extensions for Distributed Authoring - WEBDAV. Rfc 2518, The Internet Society (1999). https://tools.ietf.org/html/rfc2518
  10. 10.
    Hadley, M.: Web Application Description Language. W3C member submission, Sun Microsystems (2009). http://www.w3.org/Submission/wadl/
  11. 11.
    Khirman, S., Henriksen, P.: Relationship between quality-of-service and quality-of-experience for public internet service. In: Proceedings of the 3rd Workshop on Passive and Active Measurement (2002)Google Scholar
  12. 12.
    Lagares Lemos, A., Daniel, F., Benatallah, B.: Web service composition: a survey of techniques and tools. ACM Comput. Surv. 48(33), 1–41 (2015)CrossRefGoogle Scholar
  13. 13.
    Mah, B., et al.: An empirical model of http network traffic. In: INFOCOM 1997, vol. 2, pp. 592–600 (1997)Google Scholar
  14. 14.
    Mai, T., Ajwani, D., Sala, A.: Profiling user activities with minimal traffic traces. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 116–133. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  15. 15.
    Maier, G., Schneider, F., Feldmann, A.: A first look at mobile hand-held device traffic. In: Krishnamurthy, A., Plattner, B. (eds.) PAM 2010. LNCS, vol. 6032, pp. 161–170. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Masse, M.: REST API design rulebook. O’Reilly Media Inc, Sebastopol (2011)Google Scholar
  17. 17.
    Musser, J.: KPIs for APIs. The Business of APIs Conference (2014). http://www.slideshare.net/jmusser/kpis-for-apis
  18. 18.
    Palma, F., Dubois, J., Moha, N., Guéhéneuc, Y.-G.: Detection of REST patterns and antipatterns: a heuristics-based approach. In: Franch, X., Ghose, A.K., Lewis, G.A., Bhiri, S. (eds.) ICSOC 2014. LNCS, vol. 8831, pp. 230–244. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  19. 19.
    Palma, F., Gonzalez-Huerta, J., Moha, N., Guéhéneuc, Y.-G., Tremblay, G.: Are RESTful APIs well-designed? detection of their linguistic (Anti)Patterns. In: Barros, A., et al. (eds.) ICSOC 2015. LNCS, vol. 9435, pp. 171–187. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48616-0_11 CrossRefGoogle Scholar
  20. 20.
    Pang, R., Allman, M., Bennett, M., Lee, J., Paxson, V., Tierney, B.: A first look at modern enterprise traffic. In: Proceedings of the 5th ACM SIGCOMM Conference on Internet Measurement, pp. 2–2. USENIX Association (2005)Google Scholar
  21. 21.
    Papazoglou, M.P.: Web Services - Principles and Technology. Prentice Hall, Upper Saddle River (2008)Google Scholar
  22. 22.
    Pautasso, C.: Some rest design patterns (and anti-patterns) (2009)Google Scholar
  23. 23.
    Pautasso, C.: Restful web services: principles, patterns, emerging technologies. In: Bouguettaya, A., Sheng, Q.Z., Daniel, F. (eds.) Web Services Foundations, pp. 31–51. Springer, New York (2014)CrossRefGoogle Scholar
  24. 24.
    Bhole, Y., Popescu, A.: Measurement and analysis of HTTP traffic. J. Netw. Syst. Manage. 13(4), 357–371 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Carlos Rodríguez
    • 1
  • Marcos Baez
    • 1
  • Florian Daniel
    • 2
  • Fabio Casati
    • 1
  • Juan Carlos Trabucco
    • 3
  • Luigi Canali
    • 3
  • Gianraffaele Percannella
    • 3
  1. 1.University of TrentoPovoItaly
  2. 2.Politecnico di MilanoMilanItaly
  3. 3.Telecom ItaliaTrentoItaly

Personalised recommendations