Abstract
This chapter presents an overview of the work on migration of legacy systems towards Service-Oriented Architectures that is taking place within the Sensoria project. In this context, a general methodology for software reengineering was developed and instantiated in two dimensions to allow service components to be extracted from legacy applications. The main goal of this work is to provide a systematic way of addressing such reengineering projects with a high degree of automation while being largely independent of the programming language. The approach is based on a combination of techniques such as source code analysis, graph transformation, and code transformation. The focus in this text is on the description of the methodology, its dimensions for SOA, a prototype implementation and preliminary results and conclusions.
This work has been partially sponsored by the project Sensoria , IST-2005-016004.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abrams, C., Schulte, R.W.: Service-oriented architecture overview and guide to SOA research. Technical Report G00154463, Gartner Research (January 2008)
Natis, Y.V., Pezzini, M., Schulte, R.W., Iijima, K.: Predicts 2007: SOA advances. Technical Report G00144445, Gartner Research (November 2006)
Kazman, R., Woods, S., Carrière, J.: Requirements for integrating software architecture and reengineering models: CORUM II. In: Proceedings of Working Conference on Reverse Engineering (WCRE), pp. 154–163. IEEE Computer Society, Washington, DC (1998)
Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River (2005)
Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour preserving program transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 286–301. Springer, Heidelberg (2002)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)
Heckel, R., Correia, R., Matos, C., El-Ramly, M., Koutsoukos, G., Andrade, L.: Architectural Transformations: From Legacy to Three-tier and Services. In: Software Evolution, pp. 139–170. Springer, Heidelberg (2008)
Correia, R., Matos, C., Heckel, R., El-Ramly, M.: Architecture migration driven by code categorization. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 115–122. Springer, Heidelberg (2007)
Koschke, R., Girard, J.F.: An intermediate representation for reverse engineering analyses. In: Proceedings of Working Conference on Reverse Engineering (WCRE), pp. 241–250 (1998)
Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.I.: An information retrieval approach to concept location in source code. In: Proceedings of Working Conference on Reverse Engineering (WCRE), pp. 214–223. IEEE Computer Society, Washington (2004)
Antoniol, G., Gueheneuc, Y.G.: Feature identification: A novel approach and a case study. In: Proceedings of International Conference Software Maintenance (ICSM), pp. 357–366. IEEE Computer Society, Washington (2005)
W3C: XPath specification, http://www.w3.org/TR/xpath
Marin, M., van Deursen, A., Moonen, L.: Identifying aspects using fan-in analysis. In: Proceedings of Working Conference on Reverse Engineering (WCRE), pp. 132–141. IEEE Computer Society, Washington (2004)
Eclipse: Eclipse Modeling Framework, http://www.eclipse.org/emf/
Tiger EMF Transformer, http://tfs.cs.tu-berlin.de/emftrans/
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Transactions on Software Engineering 29(3), 210–224 (2003)
Jakobac, V., Egyed, A., Medvidovíc, N.: Improving system understanding via interactive, tailorable, source code analysis. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 253–268. Springer, Heidelberg (2005)
Cremer, K., Marburger, A., Westfechtel, B.: Graph-based tools for re-engineering. Journal of Software Maintenance 14(4), 257–292 (2002)
Haase, T.: Model-driven service development for a-posteriori application integration. In: Proc. of International Conference on e-Business Engineering (ICEBE), pp. 649–656. IEEE Computer Society, Washington (2007)
Ivkovic, I., Kontogiannis, K.: A framework for software architecture refactoring using model transformations and semantic annotations. In: Proceedings of European Conference on Software Maintenance and Reengineering (CSMR), pp. 135–144. IEEE Computer Society, Washington (2006)
Fahmy, H., Holt, R.C., Cordy, J.R.: Wins and losses of algebraic transformations of software architectures. In: Proceedings of International Conference on Automated Software Engineering (ASE), pp. 51–60. IEEE Computer Society, Washington (2001)
Kiesel, N., Klein, P., Nagl, M., Schmidt, V.: Verteilung in betriebswirtschaftlichen anwendungen: Einige bemerkungen von seiten der softwarearchitektur. In: Jhnichen, S. (ed.) Online 1994 Congress VI, pp. C.620.01–C.620.29 (1994)
Sneed, H.: Integrating legacy software into a service oriented architecture. In: Proceedings of European Conference on Software Maintenance and Reengineering (CSMR), pp. 3–14. IEEE Computer Society, Los Alamitos (2006)
Canfora, G., Fasolino, A.R., Frattolillo, G., Tramontana, P.: Migrating interactive legacy systems to web services. In: Proceedings of European Conference on Software Maintenance and Reengineering (CSMR), pp. 24–36. IEEE Computer Society, Washington (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Matos, C., Heckel, R. (2011). Legacy Transformations for Extracting Service Components. In: Wirsing, M., Hölzl, M. (eds) Rigorous Software Engineering for Service-Oriented Systems. Lecture Notes in Computer Science, vol 6582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20401-2_29
Download citation
DOI: https://doi.org/10.1007/978-3-642-20401-2_29
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20400-5
Online ISBN: 978-3-642-20401-2
eBook Packages: Computer ScienceComputer Science (R0)