Abstract

Despite their rapid growth, the utilisation of application programming interfaces (APIs) poses challenges for companies under pressure to yield productive systems integration. APIs of larger systems tend to be large, complex and have reduced modularity and quality, which makes them cumbersome to comprehend and use. These challenges can be addressed by static API analysis that focuses on studying API code itself and deriving business entities and dependencies from operational signatures. However, existing techniques for static analysis of APIs face the challenges in deriving a sufficient coverage of business entity relationship types from implementation-oriented API operational signatures carrying limited semantic insights. The paper aims to address such problems by supporting static analysis techniques for APIs that improve their modularity. Our approach adopts an object-oriented paradigm where the concept of “object” is exemplified by the notion of business entity. It systematically applies interface analysis methods and techniques for eliciting knowledge of business entities and their attributes, for deriving the temporal order of calling operations across multiple business entities, and for learning and extracting various ways of invoking a service via APIs. The approach is implemented as an open-source tool and applied to a group of widely-deployed services in practice for validation. The research contributes to identifying key aspects of both the structure and behaviour of APIs, which will lead to building a simplified but comprehensive interface (presentation) layer to assist service users in understanding complex and overloaded interfaces as well as to facilitate efficient and effective service integration.

Highlights

  • Web-based application programming interfaces (APIs) are critical for enabling organisations to open up software applications through partner ecosystems and the Internet

  • APIs provide operational signatures to create, read, update and delete data, related to business entities, managed in software applications, without revealing the software implementation that supports the operations. Their descriptions captured through widely supported interface description languages in Web Services Definition Language (WSDL) and Representational State Transfer (REST) API combined with the encapsulated nature of operations they expose, promote flexible ways of accessing and composing software

  • Given that this technique is an important part of the overall systematic approach that we propose for static analysis of Web APIs, a short introduction to the technique published in [14] is included in the paper

Read more

Summary

Introduction

Web-based application programming interfaces (APIs) are critical for enabling organisations to open up software applications through partner ecosystems and the Internet. APIs provide operational signatures to create, read, update and delete data, related to business (or logical) entities, managed in software applications, without revealing the software implementation that supports the operations. Their descriptions captured through widely supported interface description languages in Web Services Definition Language (WSDL) and Representational State Transfer (REST) API combined with the encapsulated nature of operations they expose, promote flexible ways of accessing and composing software. Central API repositories, such as Programmable Web with around 19,000 APIs, are fuelling strategic interest in APIs as evident by the notion of the API Economy [1] Despite their rapid growth, the utilisation of APIs poses challenges for companies under pressure to yield productive systems integration [2].

Objectives
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.