A Genetic Algorithm to Find the Adequate Granularity for Service Interfaces

The relevance of the service interfaces' granularity and its architectural impact have been widely investigated in literature. Existing studies show that the granularity of a service interface, in terms of exposed operations, should reflect their clients' usage. This idea has been formalized in the Consumer-Driven Contracts pattern (CDC). However, to the best of our knowledge, no studies propose techniques to assist providers in finding the right granularity and in easing the adoption of the CDC pattern. In this paper, we propose a genetic algorithm that mines the clients' usage of service operations and suggests Façade services whose granularity reflect the usage of each different type of clients. These services can be deployed on top of the original service and they become contracts for the different types of clients satisfying the CDC pattern. A first study shows that the genetic algorithm is capable of finding Façade services and outperforms a random search approach.

[1]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[2]  Robert Daigneau,et al.  Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services , 2011 .

[3]  Marouane Kessentini,et al.  Model Refactoring Using Interactive Genetic Algorithm , 2013, SSBSE.

[4]  Daniele Romano,et al.  Analyzing the Evolution of Web Services Using Fine-Grained Changes , 2012, 2012 IEEE 19th International Conference on Web Services.

[5]  Monique Snoeck,et al.  On the Definition of Service Granularity and Its Architectural Impact , 2008, CAiSE.

[6]  Tao Xie,et al.  Inferring dependency constraints on parameters for web services , 2013, WWW.

[7]  Vishal Dwivedi,et al.  The Role of Service Granularity in a Successful SOA Realization A Case Study , 2008, 2008 IEEE Congress on Services - Part I.

[8]  S. N. Sivanandam,et al.  Introduction to genetic algorithms , 2007 .

[9]  Guangwen Yang,et al.  Making Service Granularity Right: An Assistant Approach Based on Business Process Analysis , 2011, 2011 Sixth Annual Chinagrid Conference.

[10]  Stephan Murer,et al.  Managed Evolution: A Strategy for Very Large Information Systems , 2010 .

[11]  Emanuel Falkenauer,et al.  Genetic Algorithms and Grouping Problems , 1998 .

[12]  Zibin Zheng,et al.  WSExpress: A QoS-aware Search Engine for Web Services , 2010, 2010 IEEE International Conference on Web Services.

[13]  Bobby Woolf,et al.  Enterprise Integration Patterns , 2003 .

[14]  Mel Ó Cinnéide,et al.  Improving Software Security Using Search-Based Refactoring , 2012, SSBSE.

[15]  Eyhab Al-Masri,et al.  Investigating web services on the world wide web , 2008, WWW.

[16]  Angelika Mueller,et al.  Enterprise Soa Service Oriented Architecture Best Practices , 2016 .

[17]  Omar Al Jadaan,et al.  IMPROVED SELECTION OPERATOR FOR GA 1 , 2008 .

[18]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[19]  John Holland,et al.  Adaptation in Natural and Artificial Sys-tems: An Introductory Analysis with Applications to Biology , 1975 .

[20]  Alex Alves Freitas,et al.  A Survey of Evolutionary Algorithms for Clustering , 2009, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[21]  Fereidoon Shams Aliee,et al.  Towards a Metrics Suite for Measuring Composite Service Granularity Level Appropriateness , 2010, 2010 6th World Congress on Services.

[22]  David De Roure,et al.  A Metrics Framework for Evaluating SOA Service Granularity , 2011, 2011 IEEE International Conference on Services Computing.

[23]  Mark Kent O'Keeffe,et al.  Search-based refactoring for software maintenance , 2008, J. Syst. Softw..