A case-based reasoning approach to reuse quality-driven designs in service-oriented architectures. (September 2018) - Rodríguez, Guillermo; Díaz-Pace, J. Andrés; Soria, Álvaro
Highlights: We present a case-based reasoning approach to explore SOA design alternatives. The approach relies on quality-attribute knowledge as guide-design for exploration. We aim to reduce developers' efforts and reuse knowledge in assessing alternatives. Experiments have shown that the approach can lead to successful SOA implementation. Abstract: Service-Oriented Architecture (SOA) has become a dominant approach for developing distributed enterprise-wide applications. Most organizations capitalize on SOA by discovering and reusing services already accessible over the Internet. In addition to functional requirements, the implementation of a SOA design must consider quality-attribute properties (e.g., performance, interoperability or security, among others), which require developers to explore and assess candidate solutions fulfilling the same functional requirements. This exploration is usually driven by architectural knowledge and SOA principles, but it can be a time-consuming and error-prone process, even for expert developers. To deal with this issue, we present a case-based reasoning approach called AWESOME to assist developers in exploring different development alternatives, by modeling quality-attribute aspects and SOA design patterns as cases. Our approach has been evaluated with four case-studies, and the results have shown that the solutions generated by AWESOME are judged as satisfactory by a number of SOA experts.