TY - JOUR
T1 - A hybrid approach for improving the design quality of web service interfaces
AU - Ouni, Ali
AU - Wang, Hanzhang
AU - Kessentini, Marouane
AU - Bouktif, Salah
AU - Inoue, Katsuro
N1 - Funding Information:
This work is partially supported by the Research Start-up (2) 2016 Grant G00002211 funded by UAE University, and by NSERC Discovery grant.
Funding Information:
This work is partially supported by the Research Start-up (2) 2016 Grant G00002211 funded by UAE University, and by NSERC Discovery grant. Authors’ addresses: A. Ouni, ETS Montreal, Montreal, QC, Canada; email: ali.ouni@etsmtl.ca; H. Wang, eBay, San Jose, CA; email: hanzwang@ebay.com; M. Kessentini, University of Michigan, Dearborn, MI; email: marouane@umich.edu; S. Bouktif, UAE University, Al Ain, United Arab Emirates; email: salahb@uaeu.ac.ae; K. Inoue, Osaka University, Suita, Osaka, Japan; email: inoue@ist.osaka-u.ac.jp. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. © 2018 ACM 1533-5399/2018/11-ART4 $15.00 https://doi.org/10.1145/3226593
Publisher Copyright:
© 2018 ACM
PY - 2019/1
Y1 - 2019/1
N2 - A key success of a Web service is to appropriately design its interface to make it easy to consume and understand. In the context of service-oriented computing (SOC), the service's interface is the main source of interaction with the consumers to reuse the service functionality in real-world applications. The SOC paradigm provides a collection of principles and guidelines to properly design services to provide best practice of third-party reuse. However, recent studies showed that service designers tend to pay little care to the design of their service interfaces, which often lead to several side effects known as antipatterns. One of the most common Web service interface antipatterns is to expose a large number of semantically unrelated operations, implementing different abstractions, in one single interface. Such bad design practices may have a significant impact on the service reusability, understandability, as well as the development and run-time characteristics. To address this problem, in this article, we propose a hybrid approach to improve the design quality of Web service interfaces and fix antipatterns as a combination of both deterministic and heuristic-based approaches. The first step consists of a deterministic approach using a graph partitioning-based technique to split the operations of a large service interface into more cohesive interfaces, each one representing a distinct abstraction. Then, the produced interfaces will be checked using a heuristic-based approach based on the non-dominated sorting genetic algorithm (NSGA-II) to correct potential antipatterns while reducing the interface design deviation to avoid taking the service away from its original design. To evaluate our approach, we conduct an empirical study on a benchmark of 26 real-world Web services provided by Amazon and Yahoo. Our experiments consist of a quantitative evaluation based on design quality metrics, as well as a qualitative evaluation with developers to assess its usefulness in practice. The results show that our approach significantly outperforms existing approaches and provides more meaningful results from a developer's perspective.
AB - A key success of a Web service is to appropriately design its interface to make it easy to consume and understand. In the context of service-oriented computing (SOC), the service's interface is the main source of interaction with the consumers to reuse the service functionality in real-world applications. The SOC paradigm provides a collection of principles and guidelines to properly design services to provide best practice of third-party reuse. However, recent studies showed that service designers tend to pay little care to the design of their service interfaces, which often lead to several side effects known as antipatterns. One of the most common Web service interface antipatterns is to expose a large number of semantically unrelated operations, implementing different abstractions, in one single interface. Such bad design practices may have a significant impact on the service reusability, understandability, as well as the development and run-time characteristics. To address this problem, in this article, we propose a hybrid approach to improve the design quality of Web service interfaces and fix antipatterns as a combination of both deterministic and heuristic-based approaches. The first step consists of a deterministic approach using a graph partitioning-based technique to split the operations of a large service interface into more cohesive interfaces, each one representing a distinct abstraction. Then, the produced interfaces will be checked using a heuristic-based approach based on the non-dominated sorting genetic algorithm (NSGA-II) to correct potential antipatterns while reducing the interface design deviation to avoid taking the service away from its original design. To evaluate our approach, we conduct an empirical study on a benchmark of 26 real-world Web services provided by Amazon and Yahoo. Our experiments consist of a quantitative evaluation based on design quality metrics, as well as a qualitative evaluation with developers to assess its usefulness in practice. The results show that our approach significantly outperforms existing approaches and provides more meaningful results from a developer's perspective.
KW - Antipattern
KW - Search-based software engineering
KW - Service-oriented computing
KW - Web service design
KW - Web services
UR - http://www.scopus.com/inward/record.url?scp=85061278790&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85061278790&partnerID=8YFLogxK
U2 - 10.1145/3226593
DO - 10.1145/3226593
M3 - Article
AN - SCOPUS:85061278790
SN - 1533-5399
VL - 19
JO - ACM Transactions on Internet Technology
JF - ACM Transactions on Internet Technology
IS - 1
M1 - 4
ER -