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.
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Peter M. Chisnall. 1993. Questionnaire design, interviewing and attitude measurement. Journal of the Market Research Society 35, 4 (1993), 392--393.Google Scholar
- 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 Scholar
Cross Ref
- Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions.Psychological Bulletin 114, 3 (1993), 494.Google Scholar
- Jacob Cohen. 1988. Statistical power analysis for the behavioral sciences. Academic press.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Janez Demšar. 2006. Statistical comparisons of classifiers over multiple data sets. The Journal of Machine Learning Research 7 (2006), 1--30. Google Scholar
Digital Library
- Bill Dudney, Joseph Krozak, Kevin Wittkopf, Stephen Asbury, and David Osborne. 2003. J2EE Antipatterns. John Wiley and Sons, Inc. 624 pages. Google Scholar
Digital Library
- Joseph L. Fleiss. 1971. Measuring nominal scale agreement among many raters.Psychological Bulletin 76, 5 (1971), 378.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Richard Landis and Gary G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics 33, 1 (1977), 159--174.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- Arnon Rotem-Gal-Oz. 2012. SOA Patterns. Manning Publications.Google Scholar
- Munindar P. Singh and Michael N. Huhns. 2005. Service-oriented computing—Semantics, processes, agents. John Wiley 8 Sons. 1--549.Google Scholar
- Harry M. Sneed. 2010. Measuring Web service interfaces. In Proceedings of the International Symposium on Web Systems Evolution. 111--115.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- Hanzhang Wang, Marouane Kessentini, and Ali Ouni. 2018. Interactive refactoring of Web service interfaces using computational search. IEEE Transactions on Services Computing (2018).Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Zhihua Wen and Vassilios Tzerpos. 2004. An effectiveness measure for software clustering algorithms. In International Workshop on Program Comprehension. 194--203. Google Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A Hybrid Approach for Improving the Design Quality of Web Service Interfaces
Recommendations
Workflow composition of service level agreements for web services
Service-oriented architecture enables an environment where businesses can expose services for use by their collaborators and their peer organizations. In this dynamic environment, organizations require the use of service level agreements (SLAs) to ...
Quality of Security Service for Web Services within SOA
SERVICES '09: Proceedings of the 2009 Congress on Services - IService-Oriented Architecture (SOA) is a paradigm for creating and encapsulating business processes in the form of loose-coupling, autonomous and abstracted services. Managing the non-functional requirements of SOA such as security, is an overarching ...
Predicting web service maintainability via object-oriented metrics: a statistics-based approach
ICCSA'12: Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IVThe Service-Oriented Computing paradigm enables the construction of distributed systems by assembling loosely coupled pieces of software called services, which have clear interfaces to their functionalities. Service interface descriptions have many ...






Comments