Conformance assessment of Architectural Design Decisions on API endpoint designs derived from domain models
Context: Domain-driven design (DDD) is commonly used to design microservices. A crucial aspect of microservice design is API design, which includes the design of API endpoints. Objective: Our objective is to automate the assessment of conformance to Architectural Design Decisions (ADDs) on the interrelation of DDD and APIs. In particular, we studied link mapping, API operation design, and resource segregation as API endpoint design issues that are linked to domain model design. We particularly aim to address conformance checking in the context of frequent release practices, as frequent manual conformance checking is difficult or infeasible. Methods: We suggest a new approach for the automated assessment of conformance to ADD options. The approach suggests automated detectors to detect ADD options selected in a given API endpoint design, as well as an assessment scoring scheme based on empirical results. For the evaluation of our approach, we first manually created a ground truth for 12 cases in a multi-case study, and then compared the results of our automated detectors to the ground truth for each of those cases. Results: With our approach, all ADD options in our multi-case study possibly can be automatically detected. Without further improvements, our approach identifies 83% of the decision points in the multi-case study correctly. A statistical analysis of our data shows only a negligible effect size for differences to the ground truth. Conclusion: Our new approach provides a pragmatic method for automated detection of conformance to ADDs on the interrelation of DDD and APIs. The approach can support the continuous analysis of API endpoint designs.
Top- Singjai, Apitchaka
- Zdun, Uwe
Category |
Journal Paper |
Divisions |
Software Architecture |
Subjects |
Software Engineering Systemarchitektur Allgemeines |
Journal or Publication Title |
Journal of Systems and Software |
ISSN |
0164-1212 |
Publisher |
Elsevier |
Volume |
193 |
Date |
16 July 2022 |
Export |