Conference paper Open Access
Serbout, Souhaila;
Pautasso, Cesare;
Zdun, Uwe;
Zimmermann, Olaf
{ "inLanguage": { "alternateName": "eng", "@type": "Language", "name": "English" }, "description": "<p>In the past few years, the OpenAPI Specification (OAS) has emerged<br>\nas a standard description language for accurately modeling Web<br>\nAPIs. Today, thousands of OpenAPI descriptions can be found by<br>\nmining open source repositories. In this paper, we attempt to exploit<br>\nthese artifacts to extract commonly occurring building blocks used<br>\ninWeb API structures, in order to assistWeb API designers in their<br>\nmodelling task. Our work is based on a fragmentation mechanism,<br>\nthat starts from OpenAPI descriptions ofWeb APIs to extract their<br>\nstructures, then fragment these structures into smaller blocks. This<br>\napproach enabled us to extract a large dataset of reoccurring fragments<br>\nfrom a collection of 6619 API specifications. Such fragments<br>\nhave been found multiple times in the same or across different APIs.<br>\nWe have classified the most reoccurring fragments into four pattern<br>\nprimitives used to expose in the API access to collections of items.<br>\nWe distinguish for each primitive variants from design smells. This<br>\nclassification is based on the specific combinations of operations<br>\nassociated with the collection items and on an in-depth analysis of<br>\ntheir natural language labels and descriptions. The resulting pattern<br>\nprimitives are intended to support designers who would like to introduce<br>\none or more collections for a specific class of items in their<br>\nHTTP-based API.</p>", "license": "https://creativecommons.org/licenses/by/4.0/legalcode", "creator": [ { "affiliation": "Software Institute, USI", "@type": "Person", "name": "Serbout, Souhaila" }, { "affiliation": "Software Institute, USI", "@type": "Person", "name": "Pautasso, Cesare" }, { "affiliation": "University of Vienna", "@id": "https://orcid.org/0000-0002-6233-2591", "@type": "Person", "name": "Zdun, Uwe" }, { "affiliation": "University of Applied Sciences of Eastern Switzerland", "@type": "Person", "name": "Zimmermann, Olaf" } ], "headline": "From OpenAPI Fragments to API Pattern Primitives and Design Smells", "image": "https://zenodo.org/static/img/logos/zenodo-gradient-round.svg", "datePublished": "2021-11-25", "url": "https://zenodo.org/record/5727094", "keywords": [ "Application Programming Interfaces", "API Patterns", "API Design Smells", "API Structural Fragments", "Pattern Minning", "OpenAPI" ], "@context": "https://schema.org/", "identifier": "https://doi.org/10.1145/3489449.3489998", "@id": "https://doi.org/10.1145/3489449.3489998", "@type": "ScholarlyArticle", "name": "From OpenAPI Fragments to API Pattern Primitives and Design Smells" }
Views | 70 |
Downloads | 94 |
Data volume | 322.9 MB |
Unique views | 65 |
Unique downloads | 89 |