skip to main content
research-article

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

Published:22 December 2018Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Peter M. Chisnall. 1993. Questionnaire design, interviewing and attitude measurement. Journal of the Market Research Society 35, 4 (1993), 392--393.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  9. Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions.Psychological Bulletin 114, 3 (1993), 494.Google ScholarGoogle Scholar
  10. Jacob Cohen. 1988. Statistical power analysis for the behavioral sciences. Academic press.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Janez Demšar. 2006. Statistical comparisons of classifiers over multiple data sets. The Journal of Machine Learning Research 7 (2006), 1--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Bill Dudney, Joseph Krozak, Kevin Wittkopf, Stephen Asbury, and David Osborne. 2003. J2EE Antipatterns. John Wiley and Sons, Inc. 624 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Joseph L. Fleiss. 1971. Measuring nominal scale agreement among many raters.Psychological Bulletin 76, 5 (1971), 378.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Richard Landis and Gary G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics 33, 1 (1977), 159--174.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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.Google ScholarGoogle Scholar
  52. Arnon Rotem-Gal-Oz. 2012. SOA Patterns. Manning Publications.Google ScholarGoogle Scholar
  53. Munindar P. Singh and Michael N. Huhns. 2005. Service-oriented computing—Semantics, processes, agents. John Wiley 8 Sons. 1--549.Google ScholarGoogle Scholar
  54. Harry M. Sneed. 2010. Measuring Web service interfaces. In Proceedings of the International Symposium on Web Systems Evolution. 111--115.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  57. Hanzhang Wang, Marouane Kessentini, and Ali Ouni. 2018. Interactive refactoring of Web service interfaces using computational search. IEEE Transactions on Services Computing (2018).Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Zhihua Wen and Vassilios Tzerpos. 2004. An effectiveness measure for software clustering algorithms. In International Workshop on Program Comprehension. 194--203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • 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

          Copyright © 2018 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

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

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!