Nothing Special   »   [go: up one dir, main page]

skip to main content
article

API governance support through the structural analysis of REST APIs

Published: 01 August 2018 Publication History

Abstract

Today, REST APIs have established as a means for realizing distributed systems and are supposed to gain even more importance in the context of Cloud Computing, Internet of Things, and Microservices. Nevertheless, many existing REST APIs are known to be not well designed, resulting in the absence of desirable non-functional properties that truly RESTful systems entail. Although existing analysis show, that many REST APIs are not fully REST compliant, it is still an open issue how to improve this deficit and where to start. In this work, we apply structural analysis of REST APIs in order to support API governance, resulting in a set of basic and aggregated metrics that characterize an API set and also guide further governance tasks. We apply the structural analysis on a set of 286 real world APIs and then demonstrate how to derive suitable metrics that represent the perceived complexity of an API, complemented and validated by a survey of developers following the AHP process. As a result, we provide effective support for API governance, helping to identify and remedy problems in APIs.

References

[1]
Webber J, Parastatidis S, Robinson I (2010) REST in practice: hypermedia and systems architecture. O'Reilly Media, Sebastopol
[2]
Fielding RT, Taylor RN (2002) Principled design of the modern Web architecture. ACM Trans Internet Technol 2:115---150
[3]
Renzel D, Schlebusch P, Klamma R (2012) Todays top RESTful services and why they are not RESTful. WISE, london
[4]
Maleshkova M, Pedrinaci C, Domingue J (2010) Investigating web APIs on the World Wide Web. In: The 8th IEEE European conference on web services (ECOWS 2010), 1---3, Ayia Napa, Cyprus
[5]
Adamczyk P, Smith PH, Johnson RE, Hafiz M (2011) REST and Web services: In theory and in practice, REST: from research to practice. Springer, New York
[6]
Fielding R, Reschke J (2014) Hypertext transfer protocol (HTTP/1.1): Semantics and Content", RFC 7231. http://www.ietf.org/rfc/rfc7231.txt
[7]
Haupt F, Fischer M, Karastoyanova D, Leymann F, Vukojevic-Haupt K (2014) Service composition for REST, In: IEEE 18th international enterprise distributed object computing conference (EDOC), pp 110---119
[8]
Haupt F, Leymann F, Scherer A, Vukojevic-Haupt K (2017) A framework for the structural analysis of REST APIs. In: Proceedings of the IEEE international conference on software architecture (ICSA 2017)
[9]
Palma F, Dubois J, Moha N, Guhneuc YG (2014) Detection of REST patterns and antipatterns: a heuristics-based approach, ICSOC 2014. Springer, Berlin
[10]
Palma F. Gonzalez-Huerta J, Moha N, Guhneuc Y.G, Tremblay G (2015) Are restful apis well-designed? Detection of their linguistic (anti) patterns. In: International conference on service-oriented computing. Springer, Berlin
[11]
Petrillo F, Merle P, Moha N, Guhneuc YG (2016) Are REST APIs for cloud computing well-designed? An exploratory study. Springer, Berlin
[12]
Rodriguez C, et al. (2016) REST APIs: a large-scale analysis of compliance with principles and best practices. In: International conference on web engineering, Springer
[13]
Fowler M (2010) Richardson maturity model: steps toward the glory of rest. http://martinfowler.com/articles/richardsonMaturityModel.html
[14]
Swagger. http://swagger.io/
[15]
RESTful API modeling language (RAML). http://raml.org/
[16]
Open API initiative. https://www.openapis.org/
[17]
API blueprint. https://apiblueprint.org/
[18]
I/O Docs. http://mashery.github.io/
[19]
Hadley MJ (2006) Web application description language (WADL). https://www.w3.org/Submission/wadl/
[20]
Chinnici R, et al. (2007) Web services description language (wsdl) version 2.0 part 1: Core language. W3C recommendation 26
[21]
Dusseault L, Snell J (2010) PATCH method for HTTP, RFC 5789. https://tools.ietf.org/rfc/rfc5789.txt
[22]
Haupt F, Karastoyanova D, Leymann F, Schroth B (2014) A model-driven approach for REST compliant services. In: ICWS
[23]
Haupt F, Leymann F, Pautasso C (2015) A conversation based approach for modeling REST APIs. In: IEEE WICSA 2015
[24]
Allamaraju S (2010) Restful web services cookbook: solutions for improving scalability and simplicity. O'Reilly Media Inc, Sebastopol
[25]
Nottingham M. Home documents for HTTP APIs. https://tools.ietf.org/html/draft-nottingham-json-home-05
[26]
Bondy JA, Murty USR (1976) Graph theory with applications. Macmillan, London
[27]
Schlindwein SL, Ison R (2004) Human knowing and perceived complexity: implications for systems practice. Emerg Complex Organ 6(3):2732
[28]
Skouradaki M, Andrikopoulos V, Kopp O, Leymann F (2016) RoSE: reoccurring structures detection in BPMN 2.0 process model collections, OTM 2016. Springer, Berlin
[29]
Pautasso C, Ivanchikj A, Schreier S. RESTalk pattern language--patterns for RESTful conversations. http://restalk-patterns.org
[30]
Pautasso C, Ivanchikj A, Schreier S (2016) A pattern language for RESTful conversations. In: Proceedings of the 21st European conference on pattern languages of programs (PLoP), ACM
[31]
Vukojevic-Haupt K, Haupt F, Leymann F, Reinfurt L (2015) Bootstrapping complex workflow middleware systems into the cloud. e-Science 2015, IEEE
[32]
Saaty TL (2008) Decision making with the analytic hierarchy process. Int J Serv Sci 1(1):83---98

Cited By

View all
  • (2024)RESTBERTa: a Transformer-based question answering approach for semantic search in Web API documentationCluster Computing10.1007/s10586-023-04237-x27:4(4035-4061)Online publication date: 31-Jan-2024
  • (2023)Do RESTful API design rules have an impact on the understandability of Web APIs?Empirical Software Engineering10.1007/s10664-023-10367-y28:6Online publication date: 26-Sep-2023
  • (2022)Assessing the linguistic quality of REST APIs for IoT applicationsJournal of Systems and Software10.1016/j.jss.2022.111369191:COnline publication date: 1-Sep-2022

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Computer Science - Research and Development
Computer Science - Research and Development  Volume 33, Issue 3-4
August 2018
70 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 August 2018

Author Tags

  1. API governance
  2. Analysis
  3. Interface description language
  4. REST

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)RESTBERTa: a Transformer-based question answering approach for semantic search in Web API documentationCluster Computing10.1007/s10586-023-04237-x27:4(4035-4061)Online publication date: 31-Jan-2024
  • (2023)Do RESTful API design rules have an impact on the understandability of Web APIs?Empirical Software Engineering10.1007/s10664-023-10367-y28:6Online publication date: 26-Sep-2023
  • (2022)Assessing the linguistic quality of REST APIs for IoT applicationsJournal of Systems and Software10.1016/j.jss.2022.111369191:COnline publication date: 1-Sep-2022

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media