Abstract
Like any other complex software system, Service Based Systems (SBSs) must evolve to fit new user requirements and execution contexts. The changes resulting from the evolution of SBSs may degrade their design and quality of service (QoS) and may often cause the appearance of common poor solutions, called Antipatterns. Antipatterns resulting from these changes also hinder the future maintenance and evolution of SBSs. The automatic detection of antipatterns is thus important to assess the design and QoS of SBSs and ease their maintenance and evolution. However, methods and techniques for the detection of antipatterns in SBSs are still in their infancy despite their importance. In this paper, we introduce a novel and innovative approach supported by a framework for specifying and detecting antipatterns in SBSs. Using our approach, we specify 10 well-known and common antipatterns, including Multi Service and Tiny Service, and we automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall on Home-Automation, an SBS developed independently. This validation demonstrates that our approach enables the specification and detection of SOA antipatterns with the precision of more than 90% and the recall of 100%.
Chapter PDF
Similar content being viewed by others
Keywords
References
Bart Du Bois, J.V., Demeyer, S.: Refactoring - Improving Coupling and Cohesion of Existing Code. In: Proceedings of the 11th IEEE Working Conference on Reverse Engineering, pp. 144–151 (2004)
Brown, W., Malveau, R., McCormick III, H., Mowbray, T.: Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley and Sons (1998)
Chambers, J., Cleveland, W., Tukey, P., Kleiner, B.: Graphical methods for data analysis. Wadsworth International (1983)
Cherbakov, L., Ibrahim, M., Ang, J.: SOA Antipatterns: The Obstacles to the Adoption and Successful Realization of Service-Oriented Architecture, www.ibm.com/developerworks/webservices/library/ws-antipatterns/
Consel, C., Marlet, R.: Architecturing Software Using a Methodology for Language Development. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 170–194. Springer, Heidelberg (1998)
Daigneau, R.: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison-Wesley (November 2011)
Dudney, B., Asbury, S., Krozak, J., Wittkopf, K.: J2EE AntiPatterns. John Wiley & Sons Inc. (2003)
Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR (2005)
Erl, T.: SOA Design Patterns. Prentice Hall PTR (2009)
Fowler, M.J., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (1999)
Frakes, W.B., Baeza-Yates, R.A. (eds.): Information Retrieval: Data Structures & Algorithms. Prentice-Hall (1992)
Galaxy INRIA: The French National Institute for Research in Computer Science and Control, http://galaxy.gforge.inria.fr
Jones, S.: SOA Anti-patterns, http://www.infoq.com/articles/SOA-anti-patterns
Kessentini, M., Vaucher, S., Sahraoui, H.: Deviance From Perfection is a Better Criterion Than Closeness To Evil When Identifying Risky Code. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE 2010, pp. 113–122. ACM, New York (2010)
Král, J., Žemlička, M.: Crucial Service-Oriented Antipatterns, vol. 2, pp. 160–171. International Academy, Research and Industry Association, IARIA (2008)
Lanza, M., Marinescu, R.: Object-Oriented Metrics in Practice. Springer (2006)
Modi, T.: SOA Management: SOA Antipatterns, http://www.ebizq.net/topics/soa_management/features/7238.html
Moha, N., Sen, S., Faucher, C., Barais, O., Jézéquel, J.M.: Evaluation of Kermeta for Solving Graph-based Problems. Journal on Software Tools for Technology Transfer 12(3-4), 273–285 (2010)
Munro, M.J.: Product Metrics for Automatic Identification of “Bad Smell” Design Problems in Java Source-Code. In: Proceedings of the 11th International Software Metrics Symposium. IEEE Computer Society Press (September 2005)
Open SOA: SCA Service Component Architecture - Assembly Model Specification, version 1.00 (March 2007), www.osoa.org
Parsons, T., Murphy, J.: Detecting Performance Antipatterns in Component Based Enterprise Systems. Journal of Object Technology 7(3), 55–90 (2008)
Rotem-Gal-Oz, A., Bruno, E., Dahan, U.: SOA Patterns. Manning Publications Co. (2012), to be published in Summer 2012
Seinturier, L., Merle, P., Fournier, D., Schiavoni, V., Demarey, C., Dolet, N., Petitprez, N.: FraSCAti - Open SCA Middleware Platform v1.4, http://frascati.ow2.org
Settas, D.L., Meditskos, G., Stamelos, I.G., Bassiliades, N.: SPARSE: A symptom-based antipattern retrieval knowledge-based system using Semantic Web technologies. Expert Systems with Applications 38(6), 7633–7646 (2011)
Simon, F., Steinbruckner, F., Lewerentz, C.: Metrics Based Refactoring. In: Proceedings of the 5th European Conference on Software Maintenance and Reengineering, pp. 14–16 (March 2001)
Trifu, A., Dragos, I.: Strategy-Based Elimination of Design Flaws in Object-Oriented Systems. In: Proceedings of the 4th International Workshop on Object-Oriented Reengineering. Universiteit Antwerpen (July 2003)
Wong, S., Aaron, M., Segall, J., Lynch, K., Mancoridis, S.: Reverse Engineering Utility Functions Using Genetic Programming to Detect Anomalous Behavior in Software. In: Proceedings of the 2010 17th Working Conference on Reverse Engineering, WCRE 2010, pp. 141–149. IEEE Computer Society, Washington, DC (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moha, N. et al. (2012). Specification and Detection of SOA Antipatterns. In: Liu, C., Ludwig, H., Toumani, F., Yu, Q. (eds) Service-Oriented Computing. ICSOC 2012. Lecture Notes in Computer Science, vol 7636. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34321-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-34321-6_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34320-9
Online ISBN: 978-3-642-34321-6
eBook Packages: Computer ScienceComputer Science (R0)