Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A Hybrid Approach for Improving the Design Quality of Web Service Interfaces

Published: 22 December 2018 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    [1]
    Dionysis Athanasopoulos and Apostolos V. Zarras. 2011. Fine-grained metrics of cohesion lack for service interfaces. In Proceedings of the IEEE International Conference on Web Services (ICWS). 588--595.
    [2]
    Dionysis Athanasopoulos, Apostolos V. Zarras, George Miskos, and Valerie I. 2015. Cohesion-driven decomposition of service interfaces without access to source code. IEEE Transactions on Services Computing 8, June (2015), 1--18.
    [3]
    Gabriele Bavota, Andrea De Lucia, Andrian Marcus, and Rocco Oliveto. 2014. Automating extract class refactoring: An improved method and its evaluation. Empirical Software Engineering 19, 6 (2014), 1617--1664.
    [4]
    Gabriele Bavota, Andrea De Lucia, and Rocco Oliveto. 2011. Identifying extract class refactoring opportunities using structural and semantic cohesion measures. Journal of Systems and Software 84, 3 (2011), 397--414.
    [5]
    William J. Brown, Raphael C. Malveau, Hays W. McCormick, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring software, architectures, and projects in crisis: Refactoring software, architecture and projects in crisis. (1998).
    [6]
    Xi Chen, Zibin Zheng, Qi Yu, and Michael R. Lyu. 2014. Web service recommendation via exploiting location and QoS information. IEEE Transactions on Parallel and Distributed Systems 25, 7 (2014), 1913--1924.
    [7]
    Peter M. Chisnall. 1993. Questionnaire design, interviewing and attitude measurement. Journal of the Market Research Society 35, 4 (1993), 392--393.
    [8]
    Jae-Hyun Cho, Han-Gyu Ko, and In-Young Ko. 2016. Adaptive service selection according to the service density in multiple QOS aspects. IEEE Transactions on Services Computing 9, 6 (2016), 883--894.
    [9]
    Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions.Psychological Bulletin 114, 3 (1993), 494.
    [10]
    Jacob Cohen. 1988. Statistical power analysis for the behavioral sciences. Academic press.
    [11]
    M. Crasso, J. M. Rodriguez, A. Zunino, and M. Campo. 2010. Revising WSDL documents: Why and how. IEEE Internet Computing 14, 5 (2010), 48--56.
    [12]
    Marwa Daagi, Ali Ouni, Marouane Kessentini, M. Mohsen Gammoudi, and Salah Bouktif. 2017. Web service interface decomposition using formal concept analysis. In Proceedings of the IEEE International Conference on Web Services. 172--179.
    [13]
    Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T.A.M.T. Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6, 2 (2002), 182--197.
    [14]
    Janez Demšar. 2006. Statistical comparisons of classifiers over multiple data sets. The Journal of Machine Learning Research 7 (2006), 1--30.
    [15]
    Bill Dudney, Joseph Krozak, Kevin Wittkopf, Stephen Asbury, and David Osborne. 2003. J2EE Antipatterns. John Wiley and Sons, Inc. 624 pages.
    [16]
    Joseph L. Fleiss. 1971. Measuring nominal scale agreement among many raters.Psychological Bulletin 76, 5 (1971), 378.
    [17]
    Marios Fokaefs, Rimon Mikhaiel, Nikolaos Tsantalis, Eleni Stroulia, and Alex Lau. 2011. An empirical study on Web service evolution. In Proceedings of the IEEE International Conference on Web Services (ICWS). 49--56.
    [18]
    Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, and Alexander Chatzigeorgiou. 2012. Identification and application of extract class refactorings in object-oriented systems. Journal of Systems and Software 85, 10 (Oct. 2012), 2241--2260.
    [19]
    Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. 1999. Refactoring: Improving the design of existing code. Addison-Wesley Longman Publishing Co., Inc.
    [20]
    Zhiguo Gong, Chan Wa Cheang, and U. Leong Hou. 2005. Web query expansion by WordNet. In Proceedings of the International Conference on Database and Expert Systems Applications. Springer, 166--175.
    [21]
    Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys (CSUR) 45, 1 (2012), 11.
    [22]
    Angus F. M. Huang, Ci-Wei Lan, and Stephen J. H. Yang. 2009. An optimal QoS-based Web service selection scheme. Information Sciences 179, 19 (2009), 3309--3322.
    [23]
    Jaroslav Král and Michal Zemlicka. 2009. Popular SOA antipatterns. In Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns. IEEE, 271--276.
    [24]
    J. Richard Landis and Gary G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics 33, 1 (1977), 159--174.
    [25]
    Yutu Liu, Anne H. Ngu, and Liang Z. Zeng. 2004. QoS computation and policing in dynamic Web service selection. In Proceedings of the 13th International World Wide Web Conference on Alternate Track Papers 8 Posters. ACM, 66--73.
    [26]
    Spiros Mancoridis, Brian S. Mitchell, Chris Rorres, Y. Chen, and Emden R. Gansner. 1998. Using automatic clustering to produce high-level system organizations of source code. In Proceedings of the 6th International Workshop on Program Comprehension. 45--52.
    [27]
    Cristian Mateos, Marco Crasso, A. Zunino, and Jos Luis Ordiales Coscia. 2011. Detecting WSDL bad practices in code-first Web services. International Journal of Web and Grid Services 7, 4 (2011), 357--387.
    [28]
    Cristian Mateos, Marco Crasso, A. Zunino, and Jose Luis Ordiales Coscia. 2013. Revising WSDL documents: Why and how, Part 2. IEEE Internet Computing 17, 5 (2013), 46--53.
    [29]
    Cristian Mateos, Juan Manuel Rodriguez, and Alejandro Zunino. 2015. A tool to improve code-first Web services discoverability through text mining techniques. Software: Practice and Experience 45, 7 (2015), 925--948.
    [30]
    Cristian Mateos, Alejandro Zunino, and José Luis Ordiales Coscia. 2012. Avoiding WSDL bad practices in code-first Web services. SADIO Electronic Journal of Informatics and Operational Research 11, 1 (2012), 31--48.
    [31]
    Brian S. Mitchell and Spiros Mancoridis. 2006. On the automatic modularization of software systems using the bunch tool. IEEE Transactions on Software Engineering 32, 3 (2006), 193--208.
    [32]
    Wiem Mkaouer, Marouane Kessentini, Adnan Shaout, Patrice Koligheu, Slim Bechikh, Kalyanmoy Deb, and Ali Ouni. 2015. Many-objective software remodularization using NSGA-III. ACM Transactions on Software Engineering and Methodology (TOSEM) 24, 3, Article 17 (2015), 45 pages.
    [33]
    Naouel Moha, F. Palma, Mathieu N., Benjamin Joyen Conseil, Yann-Gaël Guéhéneuc, Benoit Baudry, and Jean-Marc Jézéquel. 2012. Specification and detection of SOA antipatterns. In Service-Oriented Computing. Springer, 1--16.
    [34]
    José Luis Ordiales Coscia, Cristian Mateos, Marco Crasso, and Alejandro Zunino. 2014. Refactoring code-first Web services for early avoiding WSDL anti-patterns: Approach and comprehensive assessment. Science of Computer Programming 89, Part C, 0 (2014), 374--407.
    [35]
    Ali Ouni, Marwa Daagi, Marouane Kessentini, Salah Bouktif, and M. Mohsen Gammoudi. 2017. A machine learning-based approach to detect Web service design defects. In Proceedings of the IEEE International Conference on Web Services. 532--539.
    [36]
    Ali Ouni, Raula Gaikovina Kula, Marouane Kessentini, and Katsuro Inoue. 2015. Web service antipatterns detection using genetic programming. In Genetic and Evolutionary Computation Conference. 1351--1358.
    [37]
    Ali Ouni, Marouane Kessentini, Katsuro Inoue, and Mel O. Cinnéide. 2017. Search-based Web service antipatterns detection. IEEE Transactions on Services Computing 10, 4 (2017), 603--617.
    [38]
    Ali Ouni, Marouane Kessentini, and Houari Sahraoui. 2013. Search-based refactoring using recorded code changes. In Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 221--230.
    [39]
    Ali Ouni, Marouane Kessentini, Houari Sahraoui, and Mounir Boukadoum. 2013. Maintainability defects detection and correction: A multi-objective approach. Automated Software Engineering 20, 1 (2013), 47--79.
    [40]
    Ali Ouni, Marouane Kessentini, Houari Sahraoui, and Mohamed Salah Hamdi. 2012. Search-based refactoring: Towards semantics preservation. In Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM). IEEE, 347--356.
    [41]
    Ali Ouni, Marouane Kessentini, Houari Sahraoui, and Mohamed Salah Hamdi. 2013. The use of development history in software refactoring using a multi-objective evolutionary algorithm. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation. ACM, 1461--1468.
    [42]
    Ali Ouni, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, and Kalyanmoy Deb. 2016. Multi-criteria code refactoring using search-based software engineering: An industrial case study. ACM Transactions on Software Engineering and Methodology (TOSEM) 25, 3 (2016), 23.
    [43]
    Ali Ouni, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, and Mohamed Salah Hamdi. 2015. Improving multi-objective code-smells correction using development history. Journal of Systems and Software (2015).
    [44]
    Ali Ouni, Zouhour Salem, Katsuro Inoue, and Makram Soui. 2016. SIM: An automated approach to improve Web service interface modularization. In Proceedings of the IEEE International Conference on Web Services. 91--98.
    [45]
    Matheus Paixao, Mark Harman, Yuanyuan Zhang, and Yijun Yu. 2016. An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption. IEEE Transactions on Evolutionary Computation 22, 3 (2018), 394--414.
    [46]
    Francis Palma, Naouel Moha, Guy Tremblay, and Yann-Gaël Guéhéneuc. 2014. Specification and detection of SOA antipatterns in Web services. In Software Architecture. Springer, 58--73.
    [47]
    Mikhail Perepletchikov, Caspar Ryan, and Keith Frampton. 2007. Cohesion metrics for predicting maintainability of service-oriented software. In Proceedings of the 7th International Conference on Quality Software. 328--335.
    [48]
    Mikhail Perepletchikov, Caspar Ryan, and Zahir Tari. 2010. The impact of service cohesion on the analyzability of service-oriented software. IEEE Transactions on Services Computing 3, 2 (2010), 89--103.
    [49]
    Kata Praditwong, Mark Harman, and Xin Yao. 2011. Software module clustering as a multi-objective search problem. IEEE Transactions on Software Engineering 37, 2 (2011), 264--282.
    [50]
    Juan Manuel Rodriguez, Marco Crasso, Cristian Mateos, and A. Zunino. 2013. Best practices for describing, consuming, and discovering Web services: A comprehensive toolset. Software: Practice and Experience 43, 6 (2013), 613--639.
    [51]
    Juan Manuel Rodriguez, Marco Crasso, Alejandro Zunino, and Marcelo Campo. 2010. Automatically detecting opportunities for Web service descriptions improvement. In Software Services for e-World. Springer, 139--150.
    [52]
    Arnon Rotem-Gal-Oz. 2012. SOA Patterns. Manning Publications.
    [53]
    Munindar P. Singh and Michael N. Huhns. 2005. Service-oriented computing—Semantics, processes, agents. John Wiley 8 Sons. 1--549.
    [54]
    Harry M. Sneed. 2010. Measuring Web service interfaces. In Proceedings of the International Symposium on Web Systems Evolution. 111--115.
    [55]
    Tian Huat Tan, Manman Chen, Jun Sun, Yang Liu, Étienne André, Yinxing Xue, and Jin Song Dong. 2016. Optimizing selection of competing services with probabilistic hierarchical refinement. In Proceedings of the 38th International Conference on Software Engineering. ACM, 85--95.
    [56]
    Mohammad Ali Torkamani and Hamid Bagheri. 2014. A systematic method for identification of anti-patterns in service oriented system development. International Journal of Electrical and Computer Engineering 4, 1 (2014), 16--23.
    [57]
    Hanzhang Wang, Marouane Kessentini, and Ali Ouni. 2018. Interactive refactoring of Web service interfaces using computational search. IEEE Transactions on Services Computing (2018).
    [58]
    Hanzhang Wang, Ali Ouni, Marouane Kessentini, Bruce Maxim, and William I Grosky. 2016. Identification of Web service refactoring opportunities as a multi-objective problem. In Proceedings of the IEEE International Conference on Web Services (ICWS). 586--593.
    [59]
    Shangguang Wang, Ching-Hsien Hsu, Zhongjun Liang, Qibo Sun, and Fangchun Yang. 2014. Multi-user Web service selection based on multi-QoS prediction. Information Systems Frontiers 16, 1 (2014), 143--152.
    [60]
    Zhihua Wen and Vassilios Tzerpos. 2004. An effectiveness measure for software clustering algorithms. In International Workshop on Program Comprehension. 194--203.
    [61]
    Tao Yu, Yue Zhang, and Kwei-Jay Lin. 2007. Efficient algorithms for Web services selection with end-to-end QoS constraints. ACM Transactions on the Web (TWEB) 1, 1 (2007), 6.

    Cited By

    View all
    • (2023)BPEL process defects prediction using multi-objective evolutionary searchJournal of Systems and Software10.1016/j.jss.2023.111767204:COnline publication date: 1-Oct-2023
    • (2021)Multi-criteria Web Services Selection: Balancing the Quality of Design and Quality of ServiceACM Transactions on Internet Technology10.1145/344638822:1(1-31)Online publication date: 28-Sep-2021
    • (2021)Instrumental Usability and Effective User Experience: Interwoven Drivers and Outcomes of Human-Computer InteractionInternational Journal of Human–Computer Interaction10.1080/10447318.2021.201623639:1(34-51)Online publication date: 26-Dec-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Internet Technology
    ACM Transactions on Internet Technology  Volume 19, Issue 1
    Regular Papers, Special Issue on Service Management for IOT and Special Issue on Knowledge-Driven BPM
    February 2019
    321 pages
    ISSN:1533-5399
    EISSN:1557-6051
    DOI:10.1145/3283809
    • Editor:
    • Ling Liu
    Issue’s Table of Contents
    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 [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 December 2018
    Accepted: 01 May 2018
    Revised: 01 April 2018
    Received: 01 September 2007
    Published in TOIT Volume 19, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Web service design
    2. Web services
    3. antipattern
    4. search-based software engineering
    5. service-oriented computing

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    • Research Start-up (2) 2016
    • UAE University
    • NSERC Discovery grant

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)24
    • Downloads (Last 6 weeks)2

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)BPEL process defects prediction using multi-objective evolutionary searchJournal of Systems and Software10.1016/j.jss.2023.111767204:COnline publication date: 1-Oct-2023
    • (2021)Multi-criteria Web Services Selection: Balancing the Quality of Design and Quality of ServiceACM Transactions on Internet Technology10.1145/344638822:1(1-31)Online publication date: 28-Sep-2021
    • (2021)Instrumental Usability and Effective User Experience: Interwoven Drivers and Outcomes of Human-Computer InteractionInternational Journal of Human–Computer Interaction10.1080/10447318.2021.201623639:1(34-51)Online publication date: 26-Dec-2021
    • (2020)Challenges Classification in Search-Based Refactoring2020 6th International Conference on Web Research (ICWR)10.1109/ICWR49608.2020.9122271(106-112)Online publication date: Apr-2020
    • (2020)A URI parsing technique and algorithm for anti-pattern detection in RESTful Web servicesInternational Journal of Web Information Systems10.1108/IJWIS-08-2020-0052ahead-of-print:ahead-of-printOnline publication date: 9-Nov-2020
    • (2020)Web Service API Anti-patterns Detection as a Multi-label Learning ProblemWeb Services – ICWS 202010.1007/978-3-030-59618-7_8(114-132)Online publication date: 18-Sep-2020
    • (2019)Web service API recommendation for automated mashup creation using multi-objective evolutionary searchApplied Soft Computing10.1016/j.asoc.2019.105830(105830)Online publication date: Oct-2019
    • (2019)Improving web service interfaces modularity using multi-objective optimizationAutomated Software Engineering10.1007/s10515-019-00256-426:2(275-312)Online publication date: 1-Jun-2019
    • (2019)Towards Automated Microservices Extraction Using Muti-objective Evolutionary SearchService-Oriented Computing10.1007/978-3-030-33702-5_5(58-63)Online publication date: 28-Oct-2019

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media