Applying a Multi-platform Architectural Conformance Solution in a Real-World Microservice-based System
<p>Microservice architectures are composed of a set of independent microservices that execute well-defined functionalities, allowing each one to be developed in different programming languages and data management technologies. The problem, however, is that such heterogeneity implies in a harder verification process of communication among microservices and the architectural designs of each microservice. Thereupon, this paper proposes and evaluates a multiplatform architectural conformance solution for the microservice architecture. For this purpose, (i) we specify an architectural constraint language, called DCL+---adapted from the DCL (Dependency Constraint Language) language; (ii) we propose a multiplatform process that restricts the communication between the microservices and verifies the architectural projects of each one of them; (iii) we develop DCL+check, a tool that implements the proposed solution; (iv) we apply our process in a large real-world application composed of eleven microservices, developed in two different languages (JavaScript and Java). As result, we found 16 communication and 171 structural design violations. The communication violations occurred in general due to the lack of knowledge of the developers about the restrictions of communication among the modules of the orchestrator system and other microservices, as well as the evolution of two microservices. </p>
ShareScore
24/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 4
- Harmonization
- 4
- Access
- 16
- Reuse readiness
- 0
- Engagement
- 0