Analytics-centric Continuous Design of Microservice APIs
Analytics-centric Continuous Design of Microservice APIs
DACH: Österreich - Deutschland - Schweiz
Disciplines
Computer Sciences (100%)
Keywords
-
Distributed Architectures,
Service-oriented Computing,
APIs,
Microservices,
Software Architecture
As we enter the age of continuity, service-oriented software systems are not only open towards the rest of the world, but are expected to continuously evolve to deal with changing requirements and adapt to their dynamic environment. This project will focus on the critical element of such systems, the interface or API, which decouples the internal implementation from its consumers. The project will address the problem that APIs continue to change together with the rest of the architecture, but this becomes increasingly difficult and expensive, especially when having to ensure that each part of the system can continue to independently undergo a high frequency stream of changes, supported by continuous delivery processes handling many releases a day. The objective of the project is to establish a novel data-driven approach to the design and evolution of microservice APIs where the expectations of API designers can be continuously validated against the actual usage of the API by the consumers. To do so, a deeper understanding of APIs and the corresponding design processes is required so that the impact of each decision on the quality of the resulting architecture can be estimated. Focusing on APIs will allow us to reduce the complexity of the problems involved, which has not been attempted before. These goals will be reached by rigorous specification in models, as well as algorithms to use the models in sophisticated automated analytics and checks. The results of the analytics and checks will enable closing the feedback loop to the API designer by automatically detecting quality defects and making redesign recommendations. While the project can build on a rich set of related works in various related areas, only recent advances in distributed system API concepts and methods, continuous release methods, and checking methods and analytics make it possible to study support for a continuous design and redesign feedback loop at the API level. For this new foundations and foundational methods in API and API quality modelling, API analytics, API consistency and quality checking, API quality defect detection, and API redesign recommendations are needed, which this project plans to deliver.
The API-ACE project aimed at improving the communication of modern software systems via application programming interfaces (APIs). As software applications increasingly rely on interconnected services, APIs must be well-structured, efficient, and adaptable. API-ACE addresses this challenge using analytical techniques to assess API design, identify potential weaknesses, and continuously suggest improvements. One of the main goals of API-ACE was to develop a comprehensive model that integrates various aspects of API design, including their structure, behavior, and quality. The project provided a holistic view of API functionality by combining static analysis (examining code without executing it) and dynamic analysis (observing APIs in action). This enabled the researchers to identify common API design flaws and propose solutions to improve API quality. In addition, API-ACE emphasized the importance of a feedback loop in which API issues are continuously monitored and recommendations for redesign are provided. The project analyzed API patterns, which are common best practices for the design of APIs. Through extensive research, API-ACE helped define basic patterns for structural and behavioral API models. This work was documented in a professional book to make the findings accessible to developers and researchers. In addition, API-ACE investigated how APIs relate to Domain-Driven Design (DDD), a software design approach that focuses on creating models for representing complex real-world domains. This research has helped bridge the gap between technical API design and the real-world goals of the software system. Security was another focus of API-ACE. API security has become a major concern with the increasing adoption of microservice architectures, where software is built from many independent services. The project applied static analysis techniques to detect vulnerabilities and developed methods to assess the security aspects of microservice APIs. This work enabled conformance to API security best practices and helped developers build more robust and protected systems. In addition to theoretical research, API-ACE conducted empirical studies analyzing real-world API usage patterns. These included studies on rate limits (controlling how often APIs can be accessed) and the bundling of API requests (to optimize data retrieval). By analyzing API repositories and real-world usage data, the project gained important insights into the composability of APIs and ways to reduce inefficiencies in API interactions. Extensive empirical studies supported these various findings. The resulting data sets and the necessary code were made openly available to ensure the reproducibility of the results. Ultimately, API-ACE has significantly contributed to API design and analysis by providing tools, methods, and insights that help organizations and developers build higher quality, well-structured, and more secure software systems.
- Universität Wien - 100%
- Cesare Pautasso, University of Lugano - Universita della Svizzeria Italiana - Switzerland
Research Output
- 102 Citations
- 43 Publications
- 25 Datasets & models
- 17 Software
-
2023
Title Detection Strategies for Microservice Security Tactics DOI 10.1109/tdsc.2023.3276487 Type Journal Article Author Zdun U Journal IEEE Transactions on Dependable and Secure Computing Pages 1257-1273 Link Publication -
2022
Title API Description-Based Conformance Assessment of Architectural Design Decision DOI 10.5281/zenodo.6890549 Type Conference Proceeding Abstract Author Singjai A Link Publication -
2022
Title Conformance Assessment of Architectural Design Decisions on API Endpoint Designs Derived from Domain Models DOI 10.5281/zenodo.6890222 Type Journal Article Author Singjai A Link Publication -
2022
Title Conformance Assessment of Architectural Design Decisions on the Mapping of Domain Model Elements to APIs and API Endpoints DOI 10.5281/zenodo.6890610 Type Conference Proceeding Abstract Author Singjai A Link Publication -
2022
Title Cost-Aware Multidimensional Auto-Scaling of Service- and Cloud-Based Dynamic Routing to Prevent System Overload DOI 10.5281/zenodo.7144061 Type Conference Proceeding Abstract Author Amiri A Link Publication -
2022
Title Impact of API Rate Limit on Reliability of Microservices-Based Architectures DOI 10.5281/zenodo.7127721 Type Conference Proceeding Abstract Author El Malki A Link Publication -
2022
Title How Composable is the Web? An Empirical Study on OpenAPI Data model Compatibility DOI 10.1109/icws55610.2022.00068 Type Conference Proceeding Abstract Author Pautasso C Pages 415-424 -
2023
Title Automated Pattern-Based Recommendation for Improving API Operation Performance and Reliability in Cloud-Based Architectures DOI 10.5281/zenodo.7994302 Type Conference Proceeding Abstract Author El Malki A Link Publication -
2023
Title Supporting Architecture Evolution in Microservice-Based Systems and Infrastructure-as-Code Based Deployments Type PhD Thesis Author Evangelos Ntentos Link Publication -
2023
Title Cost-Aware Multifaceted Reconfiguration of Service- and Cloud-Based Dynamic Routing Applications DOI 10.5281/zenodo.7919227 Type Conference Proceeding Abstract Author Amiri A Link Publication -
2023
Title Modeling and Multifaceted Reconfiguration of Cloud-Based Dynamic Routing Type PhD Thesis Author Amirali Amiri Link Publication -
2023
Title Combining API Patterns in Microservice Architectures: Performance and Reliability Analysis DOI 10.5281/zenodo.7994295 Type Conference Proceeding Abstract Author El Malki A Link Publication -
2023
Title API Rate Limit Adoption -- A pattern collection DOI 10.1145/3628034.3628039 Type Conference Proceeding Abstract Author Serbout S Pages 1-20 -
2023
Title Extracting the Architecture of Microservices: An Approach for Explainability and Traceability DOI 10.1007/978-3-031-42592-9_24 Type Book Chapter Author Quéval P Publisher Springer Nature Pages 346-353 -
2023
Title Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.1007/978-3-031-42592-9_2 Type Book Chapter Author Amiri A Publisher Springer Nature Pages 20-36 -
2023
Title Microservice Security Metrics for Secure Communication, Identity Management, and Observability DOI 10.1145/3532183 Type Journal Article Author Zdun U Journal ACM Transactions on Software Engineering and Methodology Pages 1-34 Link Publication -
2024
Title Dynamic API Patterns Optimization: Using Predictive Analysis to Adapt Microservices on Service Mesh Deployments Type PhD Thesis Author Amine El Malki Link Publication -
2024
Title Exploring Architectural Evolution inMicroservice Systems Using Repository Mining Techniques andStatic Code Analysis; In: Software Architecture - 18th European Conference, ECSA 2024, Luxembourg City, Luxembourg, September 3-6, 2024, Proceedings DOI 10.1007/978-3-031-70797-1_10 Type Book Chapter Publisher Springer Nature Switzerland -
2022
Title Conformance assessment of Architectural Design Decisions on API endpoint designs derived from domain models DOI 10.1016/j.jss.2022.111433 Type Journal Article Author Singjai A Journal Journal of Systems and Software Pages 111433 Link Publication -
2022
Title API Description-Based Conformance Assessment of Architectural Design Decision DOI 10.1109/sose55356.2022.00013 Type Conference Proceeding Abstract Author Singjai A Pages 59-68 Link Publication -
2022
Title Understanding and semi-automatically supporting DDD-based API design Type PhD Thesis Author Apitchaka Singjai Link Publication -
2022
Title Avoiding Excessive Data Exposure Through Microservice APIs DOI 10.1007/978-3-031-16697-6_1 Type Book Chapter Author Genfer P Publisher Springer Nature Pages 3-18 -
2022
Title Impact of API Rate Limit on Reliability of Microservices-Based Architectures DOI 10.1109/sose55356.2022.00009 Type Conference Proceeding Abstract Author Malki A Pages 19-28 Link Publication -
2021
Title From OpenAPI Fragments to API Pattern Primitives and Design Smells DOI 10.1145/3489449.3489998 Type Conference Proceeding Abstract Author Pautasso C Pages 1-35 -
2021
Title Detector-based component model abstraction for microservice-based systems DOI 10.1007/s00607-021-01002-z Type Journal Article Author Ntentos E Journal Computing Pages 2521-2551 Link Publication -
2020
Title Data-Oriented Interface Responsibility Patterns DOI 10.1145/3424771.3424821 Type Conference Proceeding Abstract Author Pautasso C Pages 1-25 -
2020
Title Interface Responsibility Patterns DOI 10.1145/3424771.3424822 Type Conference Proceeding Abstract Author Lübke D Pages 1-24 -
2020
Title Metrics for Assessing Architecture Conformance to Microservice Architecture Patterns and Practices DOI 10.1007/978-3-030-65310-1_42 Type Book Chapter Author Ntentos E Publisher Springer Nature Pages 580-596 -
2020
Title Assessing Architecture Conformance to Coupling-Related Patterns and Practices in Microservices DOI 10.1007/978-3-030-58923-3_1 Type Book Chapter Author Ntentos E Publisher Springer Nature Pages 3-20 -
2021
Title Identifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors DOI 10.1007/978-3-030-86044-8_15 Type Book Chapter Author Genfer P Publisher Springer Nature Pages 207-222 -
2021
Title Automatic Adaptation of Reliability and Performance Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.1109/qrs54544.2021.00055 Type Conference Proceeding Abstract Author Amiri A Pages 434-445 Link Publication -
2021
Title Semi-automatic Feedback for Improving Architecture Conformance to Microservice Patterns and Practices DOI 10.1109/icsa51549.2021.00012 Type Conference Proceeding Abstract Author Ntentos E Pages 36-46 Link Publication -
2021
Title Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions DOI 10.1007/978-3-030-91431-8_12 Type Book Chapter Author Ntentos E Publisher Springer Nature Pages 188-203 -
2021
Title Evaluation of API Request Bundling and its Impact on Performance of Microservice Architectures DOI 10.1109/scc53864.2021.00060 Type Conference Proceeding Abstract Author Malki A Pages 419-424 -
2021
Title Patterns on Designing API Endpoint Operations Type Conference Proceeding Abstract Author Singjai A. Conference 28th Conference on Pattern Languages of Programs (PLoP) Pages 1-29 Link Publication -
2021
Title Practitioner Views on the Interrelation of Microservice APIs and Domain-Driven Design: A Grey Literature Study Based on Grounded Theory DOI 10.5281/zenodo.4493865 Type Other Author Singjai A Link Publication -
2021
Title Patterns on Deriving APIs and their Endpoints from Domain Models DOI 10.5281/zenodo.6890616 Type Conference Proceeding Abstract Author Singjai A Link Publication -
2021
Title Detector-based Component Model Abstraction for Microservice-Based Systems DOI 10.5281/zenodo.5724109 Type Journal Article Author Ntentos E Link Publication -
2021
Title Evaluation of API Request Bundling and its impact on Performance of Microservice Architectures DOI 10.5281/zenodo.5087467 Type Conference Proceeding Abstract Author Amine E Link Publication -
2021
Title Patterns on Deriving APIs and their Endpoints from Domain Models DOI 10.1145/3489449.3489976 Type Conference Proceeding Abstract Author Singjai A Pages 1-15 Link Publication -
2023
Title Automated Pattern-Based Recommendation for Improving API Operation Performance and Reliability in Cloud-Based Architectures DOI 10.1109/sse60056.2023.00021 Type Conference Proceeding Abstract Author Malki A Pages 80-88 -
2023
Title Analytical Modeling and Empirical Validation of Performability of Service- and Cloud-Based Dynamic Routing Architecture Patterns DOI 10.1109/apsec60848.2023.00014 Type Conference Proceeding Abstract Author Amiri A Pages 41-50 -
2023
Title Developer's Cognitive Effort Maintaining Monoliths vs. Microservices - An Eye-Tracking Study DOI 10.1109/apsec60848.2023.00044 Type Conference Proceeding Abstract Author Simhandl G Pages 339-348 -
2025
Title Understanding security tactics in microservice APIs using annotated software architecture decomposition models - a controlled experiment. DOI 10.1007/s10664-024-10601-1 Type Journal Article Author Genfer P Journal Empirical software engineering Pages 66
-
2024
Link
Title Exploring Architectural Evolution in Microservice Systems using Repository Mining Techniques and Static Code Analysis DOI 10.5281/zenodo.10961768 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Online Artifact: Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.5281/zenodo.7944822 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Microservice Security Detectors & Metrics & Detection Strategies: Dataset DOI 10.5281/zenodo.7929312 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Automated Pattern-Based Recommendation for Improving API Operation Performance and Reliability in Cloud-Based Architectures DOI 10.5281/zenodo.7691349 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Combining API Patterns in Microservice Architectures: Artifacts, models, and dataset DOI 10.5281/zenodo.7692006 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Data of the Paper: Analytical Modeling and Empirical Validation of Performability of Service- and Cloud-Based Dynamic Routing Architecture Patterns DOI 10.5281/zenodo.10022346 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Data of the Paper: Cost-Aware Multidimensional Auto-Scaling of Service- and Cloud-Based Dynamic Routing to Prevent System Overload DOI 10.5281/zenodo.6566130 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Dataset and Analysis Scripts for Survey "Understanding Security Tactics in Microservice APIs using Annotated Software Architecture Decomposition Models -- A Controlled Experiment" DOI 10.5281/zenodo.8089441 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Empirical Dataset of 1200 hours of Experiment: Reliability and Performance Measurements of Dynamic Routing Applications DOI 10.5281/zenodo.7774210 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Extracting the Architecture of Microservices: An Approach for Explainability and Traceability DOI 10.5281/zenodo.8100927 Type Database/Collection of data Public Access Link Link -
2023
Link
Title Online Artifact: Cost-Aware Multifaceted Reconfiguration of Service- and Cloud-Based Dynamic Routing Applications DOI 10.5281/zenodo.7771327 Type Database/Collection of data Public Access Link Link -
2022
Link
Title Impact of API Rate Limiting on Reliability of Microservices-Based Architectures: artifacts, analysis figures and dataset DOI 10.5281/zenodo.6560270 Type Database/Collection of data Public Access Link Link -
2022
Link
Title Microservice Security Metrics: Dataset DOI 10.5281/zenodo.6424721 Type Database/Collection of data Public Access Link Link -
2022
Link
Title API Description-Based Conformance Assessment of Architectural Design Decision: Dataset and Code DOI 10.5281/zenodo.6564304 Type Database/Collection of data Public Access Link Link -
2022
Link
Title Source code detectors and data for calculating excessive data exposure in microservice APIs DOI 10.5281/zenodo.6700020 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Practitioner Views on the Interrelation of Microservice APIs and Domain-Driven Design -- A Grey Literature Study Based on Grounded Theory: Dataset and Code DOI 10.5281/zenodo.4569578 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Evaluation of API Request Bundling and its Impact on Performance of Microservice Architectures: artifacts, analysis figures and dataset DOI 10.5281/zenodo.5107982 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Conformance Assessment of Architectural Design Decisions on API Endpoint Designs Derived from Domain Models: Dataset and Code DOI 10.5281/zenodo.5031272 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Conformance Assessment of Architectural Design Decisions on the Mapping of Domain Model Elements to APIs and API Endpoints: Dataset and Code DOI 10.5281/zenodo.5176174 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Data and Source code of the Paper: Automatic Adaptation of Reliability and Performance Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.5281/zenodo.5655383 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions DOI 10.5281/zenodo.5549978 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Detector-based Component Model Abstraction for Microservice-Based Systems DOI 10.5281/zenodo.5235931 Type Database/Collection of data Public Access Link Link -
2021
Link
Title Data from paper: Semi-automatic Feedback for Improving Architecture Conformance to Microservice Patterns and Practices DOI 10.5281/zenodo.4491583 Type Database/Collection of data Public Access Link Link -
2020
Link
Title Data and Source Code of the study: Assessing Architecture Conformance to Coupling-Related Patterns and Practices in Microservices DOI 10.5281/zenodo.3999505 Type Database/Collection of data Public Access Link Link -
2020
Link
Title Data of the study: Metrics for Assessing Architecture Conformance to Microservice Architecture Patterns and Practices DOI 10.5281/zenodo.3999477 Type Database/Collection of data Public Access Link Link
-
2024
Link
Title Exploring Architectural Evolution in Microservice Systems using Repository Mining Techniques and Static Code Analysis DOI 10.5281/zenodo.10961768 Link Link -
2023
Link
Title Dataset and Analysis Scripts for Survey "Understanding Security Tactics in Microservice APIs using Annotated Software Architecture Decomposition Models -- A Controlled Experiment" DOI 10.5281/zenodo.8089441 Link Link -
2023
Link
Title Online Artifact: Cost-Aware Multifaceted Reconfiguration of Service- and Cloud-Based Dynamic Routing Applications DOI 10.5281/zenodo.7771327 Link Link -
2023
Link
Title Online Artifact: Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.5281/zenodo.7944822 Link Link -
2023
Link
Title Microservice Security Detectors, Metrics, Detection Strategies: Dataset and Source Code DOI 10.5281/zenodo.7929312 Link Link -
2022
Link
Title Source code detectors and data for calculating excessive data exposure in microservice APIs DOI 10.5281/zenodo.6700020 Link Link -
2022
Link
Title API Description-Based Conformance Assessment of Architectural Design Decision: Dataset and Code DOI 10.5281/zenodo.6564304 Link Link -
2022
Link
Title CodeableModels Link Link -
2022
Link
Title Microservice Security Metrics: Dataset and Source Code DOI 10.5281/zenodo.6424721 Link Link -
2021
Link
Title Conformance Assessment of Architectural Design Decisions on API Endpoint Designs Derived from Domain Models: Dataset and Code DOI 10.5281/zenodo.5031272 Link Link -
2021
Link
Title Conformance Assessment of Architectural Design Decisions on the Mapping of Domain Model Elements to APIs and API Endpoints: Dataset and Code DOI 10.5281/zenodo.5176174 Link Link -
2021
Link
Title Practitioner Views on the Interrelation of Microservice APIs and Domain-Driven Design -- A Grey Literature Study Based on Grounded Theory: Dataset and Code DOI 10.5281/zenodo.4569578 Link Link -
2021
Link
Title Data and Source Code from paper: Semi-automatic Feedback for Improving Architecture Conformance to Microservice Patterns and Practices DOI 10.5281/zenodo.4491583 Link Link -
2021
Link
Title Detector-based Component Model Abstraction for Microservice-Based Systems DOI 10.5281/zenodo.5235931 Link Link -
2021
Link
Title Evaluating and Improving Microservice Architecture Conformance to Architectural Design Decisions DOI 10.5281/zenodo.5549978 Link Link -
2021
Link
Title Data and Source code of the Paper: Automatic Adaptation of Reliability and Performance Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures DOI 10.5281/zenodo.5655383 Link Link -
2020
Link
Title Data and Source Code of the study: Assessing Architecture Conformance to Coupling-Related Patterns and Practices in Microservices DOI 10.5281/zenodo.3999505 Link Link