Conference paper Open Access
Serbout, Souhaila;
Pautasso, Cesare;
Zdun, Uwe;
Zimmermann, Olaf
<?xml version='1.0' encoding='utf-8'?> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd"> <identifier identifierType="URL">https://zenodo.org/record/5727094</identifier> <creators> <creator> <creatorName>Serbout, Souhaila</creatorName> <givenName>Souhaila</givenName> <familyName>Serbout</familyName> <affiliation>Software Institute, USI</affiliation> </creator> <creator> <creatorName>Pautasso, Cesare</creatorName> <givenName>Cesare</givenName> <familyName>Pautasso</familyName> <affiliation>Software Institute, USI</affiliation> </creator> <creator> <creatorName>Zdun, Uwe</creatorName> <givenName>Uwe</givenName> <familyName>Zdun</familyName> <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-6233-2591</nameIdentifier> <affiliation>University of Vienna</affiliation> </creator> <creator> <creatorName>Zimmermann, Olaf</creatorName> <givenName>Olaf</givenName> <familyName>Zimmermann</familyName> <affiliation>University of Applied Sciences of Eastern Switzerland</affiliation> </creator> </creators> <titles> <title>From OpenAPI Fragments to API Pattern Primitives and Design Smells</title> </titles> <publisher>Zenodo</publisher> <publicationYear>2021</publicationYear> <subjects> <subject>Application Programming Interfaces</subject> <subject>API Patterns</subject> <subject>API Design Smells</subject> <subject>API Structural Fragments</subject> <subject>Pattern Minning</subject> <subject>OpenAPI</subject> </subjects> <dates> <date dateType="Issued">2021-11-25</date> </dates> <language>en</language> <resourceType resourceTypeGeneral="ConferencePaper"/> <alternateIdentifiers> <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/5727094</alternateIdentifier> </alternateIdentifiers> <relatedIdentifiers> <relatedIdentifier relatedIdentifierType="DOI" relationType="IsIdenticalTo">10.1145/3489449.3489998</relatedIdentifier> </relatedIdentifiers> <rightsList> <rights rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights> <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights> </rightsList> <descriptions> <description descriptionType="Abstract"><p>In the past few years, the OpenAPI Specification (OAS) has emerged<br> as a standard description language for accurately modeling Web<br> APIs. Today, thousands of OpenAPI descriptions can be found by<br> mining open source repositories. In this paper, we attempt to exploit<br> these artifacts to extract commonly occurring building blocks used<br> inWeb API structures, in order to assistWeb API designers in their<br> modelling task. Our work is based on a fragmentation mechanism,<br> that starts from OpenAPI descriptions ofWeb APIs to extract their<br> structures, then fragment these structures into smaller blocks. This<br> approach enabled us to extract a large dataset of reoccurring fragments<br> from a collection of 6619 API specifications. Such fragments<br> have been found multiple times in the same or across different APIs.<br> We have classified the most reoccurring fragments into four pattern<br> primitives used to expose in the API access to collections of items.<br> We distinguish for each primitive variants from design smells. This<br> classification is based on the specific combinations of operations<br> associated with the collection items and on an in-depth analysis of<br> their natural language labels and descriptions. The resulting pattern<br> primitives are intended to support designers who would like to introduce<br> one or more collections for a specific class of items in their<br> HTTP-based API.</p></description> </descriptions> <fundingReferences> <fundingReference> <funderName>Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung</funderName> <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100001711</funderIdentifier> <awardNumber awardURI="info:eu-repo/grantAgreement/SNSF/Project funding - Project funding (Div. I-III)/200021L_184692/">200021L_184692</awardNumber> <awardTitle>API-ACE: Analytics-based Continuous Design and Evolution of Microservice APIs</awardTitle> </fundingReference> <fundingReference> <funderName>Austrian Science Fund</funderName> <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100002428</funderIdentifier> <awardNumber awardURI="info:eu-repo/grantAgreement/FWF/Internationale+Projekte/I+4268/">I 4268</awardNumber> <awardTitle>Analytics-centric Continuous Design of Microservice APIs</awardTitle> </fundingReference> </fundingReferences> </resource>
Views | 69 |
Downloads | 92 |
Data volume | 316.0 MB |
Unique views | 64 |
Unique downloads | 87 |