Published November 25, 2021 | Version v1
Conference paper Open

From OpenAPI Fragments to API Pattern Primitives and Design Smells

  • 1. Software Institute, USI
  • 2. University of Vienna
  • 3. University of Applied Sciences of Eastern Switzerland

Description

In the past few years, the OpenAPI Specification (OAS) has emerged
as a standard description language for accurately modeling Web
APIs. Today, thousands of OpenAPI descriptions can be found by
mining open source repositories. In this paper, we attempt to exploit
these artifacts to extract commonly occurring building blocks used
inWeb API structures, in order to assistWeb API designers in their
modelling task. Our work is based on a fragmentation mechanism,
that starts from OpenAPI descriptions ofWeb APIs to extract their
structures, then fragment these structures into smaller blocks. This
approach enabled us to extract a large dataset of reoccurring fragments
from a collection of 6619 API specifications. Such fragments
have been found multiple times in the same or across different APIs.
We have classified the most reoccurring fragments into four pattern
primitives used to expose in the API access to collections of items.
We distinguish for each primitive variants from design smells. This
classification is based on the specific combinations of operations
associated with the collection items and on an in-depth analysis of
their natural language labels and descriptions. The resulting pattern
primitives are intended to support designers who would like to introduce
one or more collections for a specific class of items in their
HTTP-based API.

Files

main.pdf

Files (3.4 MB)

Name Size Download all
md5:15df08091f1decf9cb0a89cab434ca93
3.4 MB Preview Download

Additional details

Funding

Swiss National Science Foundation
API-ACE: Analytics-based Continuous Design and Evolution of Microservice APIs 200021L_184692
FWF Austrian Science Fund
Analytics-centric Continuous Design of Microservice APIs I 4268