Reference Architecture for Metadata-driven Services to Promote Reusability in Software Systems

2026-06-15Software Engineering

Software Engineering
AI summary

The authors address a problem in service-based architectures where different clients end up needing similar but slightly different services, causing lots of duplicate work. They propose a new reference architecture that uses metadata to help reuse services more efficiently, even when data varies a lot. They tested their approach using scenarios and real-world case studies, finding that over time, changes to the system were either minimal or easy to handle, like simple configuration tweaks. This suggests their design helps keep systems easier to evolve and maintain.

Service-based ArchitectureReusabilityReference ArchitectureMetadataPattern LanguageScenario-based EvaluationCase StudiesSystem EvolutionService ReplicationConfiguration Management
Authors
João F. L. Daniel, Bruno P. Romano, Xiaofeng Wang, Andrea Janes, Eduardo M. Guerra
Abstract
Service-based Architectures place reusability among their central design goals, yet structural heterogeneity across clients often drives the creation of services with similar functionalities, undermining system evolution and maintainability. In this work, we address this issue by focusing on validated architectural artifacts that bound to a limit the number of replicated services. We do so by proposing and validating a reference architecture that employs metadata as the core mechanism to promote service reusability, embracing heterogeneous data. The proposed RA is designed based on a pattern language with the same purpose, and it is evaluated by combining two well-established methods for RA evaluation: scenario-based evaluation and case studies with real-world systems. The triangulation of these methods' results demonstrated that, during the system's evolution, the most common change types the RA incurs are either no change or less impactful ones, like configuration changes or the addition of a pluggable class.