IBM J. Res. Dev

API Harmony: Graph-based search and selection of APIs in the cloud

View publication


Cloud-enabled applications and services increasingly consume other services through web application programming interfaces (APIs). API ecosystems support both the production and the consumption of APIs. For service providers seeking to externalize their APIs, API ecosystems help publish, promote, and provision such APIs. For applications or services consuming APIs, API ecosystems unify how APIs are presented and composed. A key challenge for API ecosystems is the continuous collection of information on APIs and the utilization of the information for the benefit of all actors in the ecosystem. In this work, we present the design of API Harmony, a service to support developers in identifying, selecting, and consuming APIs. API Harmony builds on our previous work on building an API Graph, which enables the continuous collection of API information and analysis operations for API providers, consumers, and ecosystem providers. In this paper, we revise the API Graph and describe how we utilize its latest version in API Harmony for API search and selection. Furthermore, we describe how we implemented API Harmony and present an evaluation of its capabilities compared with existing solutions.