How Composable is the Web? An Empirical Study on OpenAPI Data model Compatibility
Composing Web APIs is a widely adopted practice by developers to speed up the development process of complex Web applications, mashups, and data processing pipelines. However, since most publicly available APIs are built independently of each other, developers often need to invest their efforts in solving incompatibility issues by writing ad-hoc glue code, adapters and message translation mappings. How likely are Web APIs to be directly composable?The paper presents an empirical study to determine the potential composability of a large collection of 20,587 public Web APIs by verifying their schemas’ compatibility. We define three levels of data model elements compatibility – considering matches between property names and/or data types – which can be determined statically based on API descriptions conforming to the OpenAPI specification. The study research questions address: to which extent are Web APIs compatible; the average number of compatible endpoints within each API; the likelihood of finding two APIs with at least one pair of compatible endpoints.To perform the analysis we developed a compatibility checker tool which can statically determine API schema compatibility on the three levels and find matching pairs of API responses which can be directly forwarded as requests to the same or other APIs. We run the tool on a dataset of 751,390 request and response message schemas extracted from publicly available OpenAPI descriptions.The results indicate a relatively high number of compatible APIs when matching their data models only on the level of their elements’ data type. However, this number gets lower narrowing the scope to only the ones handling data objects having identical properties name. The average likelihood of finding two compatible APIs with both matching property names and data types reaches 21%. Also, the number of compatible endpoints within the same API is very low.
Top- Serbout, Souhaila
- Pautasso, Cesare
- Zdun, Uwe
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
IEEE International Conference on Web Services (ICWS 2022) |
Divisions |
Software Architecture |
Subjects |
Software Engineering |
Event Location |
Barcelona, Spain |
Event Type |
Conference |
Event Dates |
11.-17. July 2022 |
Series Name |
Proceedings 2022 IEEE International Conference On Web Services (IEEE ICWS 2022) |
ISSN/ISBN |
978-1-6654-8143-4 |
Page Range |
pp. 415-424 |
Date |
2022 |
Export |