Web services interfaces decomposition based on formal concept analysis, design anti-pattern detection and correction, using machine learning and genetic algorithms
Marwa Daaji, Mohamed Mohsen Gammoudi, Ali Ouni · Tunisian Scientific and Technical Information Portal · 2021
Service Oriented Architecture (SOA) promotes software reuse through delivering reusable services to subscribers. Deploying successful services depends on well-designed interfaces. However, developer’s behaviour tends to pay little attention to the quality of their interfaces leading to introduce design anti-patterns, which are an often-cited source of software quality problems. In fact, research community reports a lack of consensus between expert to characterize the symptoms of each anti-patterns that may occur in Web services or in Business Process as a Web Service (BPaaS). To address this problem, we present in this thesis a machine learning-based approach for Web service design anti-patterns detection as well as an approach based on genetic programming for business process execution language (BPEL) anti-patterns detection. Results show that our approaches achieved a great performance compared to existent state-of-the-art approaches. After characterizing the symptoms of common Web service anti-patterns, we observe that a bad design practice that often produced by developers consists on exposing a large number of semantically unrelated operations with low interface cohesion. To address this problem, we propose in this thesis, an approach of service interface decomposition using Formal Concept Analysis (FCA) to improve interface design quality and usability. Results show that our approach achieved a significant design quality improvement compared to the state-of-the-art techniques. The detection and correction of anti-patterns are recognized as costly processes. Selecting a well-designed Web services from the beginning constitutes the ideal solution to avoid maintenance cost and developers effort. However, the majority of existing approaches on Web Services Selection (WSS) are merely based on the Quality of Service (QoS), while ignoring the service design quality, which plays crucial role in reusing and composing services. In fact, selecting poorly designed Web services to build new composite service may affect its performance manifested by a degradation of the Quality of Service (QoS). In this regard, we propose a multi-criteria Web services selection approach balancing the quality of design and quality of service to maintain the soundness of composite services. The obtained results reveal that our approach enhances the service selection quality while ensuring the best trade-off between both QoS and service design quality.