A Conceptual Framework for API Refactoring in Enterprise Application Architectures
Fabrizio Montesi, Marco Peressotti, Valentino Picotti, Olaf Zimmermann

TL;DR
This paper presents a conceptual framework for implementing API refactorings in enterprise service-oriented architectures, emphasizing trade-offs, programming language features, and guiding principles to improve architecture evolution.
Contribution
It introduces a novel framework for API refactoring strategies, focusing on development choices, trade-offs, and the role of programming languages in enterprise applications.
Findings
Framework highlights key trade-offs affecting architecture quality.
Implementation of refactorings demonstrates guiding principles.
Programming language features can facilitate API refactoring.
Abstract
Enterprise applications are often built as service-oriented architectures, where the individual services are designed to perform specific functions and interact with each other by means of well-defined APIs (Application Programming Interfaces). The architecture of an enterprise application evolves over time, in order to adapt to changing business requirements. This evolution might require changes to the APIs offered by services, which can be achieved through appropriate API refactorings. Previous studies on API refactoring focused on the effects on API definitions, with general considerations on related forces and smells. So far, instead, the development strategy for realising these refactorings has received little attention. This paper addresses exactly this aspect. We introduce a conceptual framework for the implementation of API refactorings. Our framework elicits that there are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsService-Oriented Architecture and Web Services · Business Process Modeling and Analysis · Software System Performance and Reliability
