Abstract
A common strategy for modernizing legacy systems is to migrate them to service-oriented architecture (SOA). A key step in the migration process is the identification of reusable functionalities in the system that qualify as candidate services in the target architecture. We propose ServiceMiner, a bottom-up service identification approach that relies on source code analysis, because other sources of information may be unavailable or out of sync with the actual code. Our bottom-up, code-based approach uses service-type specific functional-clustering criteria. We use a categorization of service types that builds on published service taxonomies and describes the code-level patterns characterizing types of services. We evaluate ServiceMiner on an open-source, enterprise-scale legacy ERP system and compare our results to those of two state-of-the-art approaches. We show that ServiceMiner automates one of the main labor-intensive steps for migrating legacy systems to SOA. It identifies architecturally-significant services with 77.9% of precision, 66.4% of recall, and 71.7% of F-measure. Also, we show that it could be used to assist practitioners in the identification of candidate services in existing systems and thus to support the migration process of legacy systems to SOA.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Lewis, G., Morris, E., O’Brien, L., Smith, D., Wrage, L.: SMART: the service-oriented migration and reuse technique. Technical report, DTIC Document (2005)
Erl, T.: SOA Principles of Service Design. Prentice Hall PTR, Upper Saddle River (2007)
Khadka, R., Saeidi, A., Jansen, S., Hage, J.: A structured legacy to SOA migration process and its evaluation in practice. In: MESOCA, pp. 2–11 (2013)
Canfora, G., Fasolino, A.R., Frattolillo, G., Tramontana, P.: Migrating interactive legacy systems to web services. In: CSMR, p. 10 (2006)
Gysel, M., Kölbener, L., Giersche, W., Zimmermann, O.: Service cutter: a systematic approach to service decomposition. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 185–200. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-44482-6_12
Rodríguez-Echeverría, R., Maclas, F., Pavón, V.M., Conejero, J.M., Sánchez-Figueroa, F.: Generating a REST service layer from a legacy system. In: Escalona, M.J., Aragón, G., Linger, H., Lang, M., Barry, C., Schneider, C. (eds.) Information System Development, pp. 433–444. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07215-9_35
Jain, H., Zhao, H., Chinta, N.R.: A spanning tree based approach to identifying web services. Int. J. Web Serv. Res. 1(1), 1 (2004)
Adjoyan, S., Seriai, A., Shatnawi, A.: Service identification based on quality metrics object-oriented legacy system migration towards SOA. In: SEKE, pp. 1–6 (2014)
Amiri, M.J., Parsa, S., Lajevardi, A.M.: Multifaceted service identification: process, requirement and data. ComSIS 13, 335–358 (2016)
Zhang, Z., Yang, H., Chu, W.C.: Extracting reusable object-oriented legacy code segments with combined formal concept analysis and slicing techniques for service integration. In: QRS, pp. 385–392 (2006)
Abdellatif, M., Hecht, G., Mili, H., Elboussaidi, G., Moha, N., Shatnawi, A., Privat, J., Guéhéneuc, Y.-G.: State of the practice in service identification for SOA migration in industry. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q. (eds.) ICSOC 2018. LNCS, vol. 11236, pp. 634–650. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03596-9_46
Alahmari, S., Zaluska, E., De Roure, D.: A service identification framework for legacy system migration into SOA. In: SCC, pp. 614–617. IEEE (2010)
Marchetto, A., Ricca, F.: From objects to services: toward a stepwise migration approach for java applications. STTT 11(6), 427 (2009)
Fuhr, A., Horn, T., Riediger, V.: Using dynamic analysis and clustering for implementing services by reusing legacy code. In: WCRE, pp. 275–279. IEEE (2011)
Huergo, R.S., Pires, P.F., Delicato, F.C.: MDCSIM: a method and a tool to identify services. IT Converg. Pract. 2(4), 1–27 (2014)
Grieger, M., Sauer, S., Klenke, M.: Architectural restructuring by semi-automatic clustering to facilitate migration towards a service-oriented architecture. Softwaretechnik-Trends 34(2) (2014)
Souza, E., Moreira, A., De Faveri, C.: An approach to align business and it perspectives during the SOA services identification. In: ICCSA, pp. 1–7 (2017)
Sneed, H.M., Verhoef, C., Sneed, S.H.: Reusing existing object-oriented code as web services in a SOA. In: MESOCA. IEEE, pp. 31–39 (2013)
Huergo, R.S., Pires, P.F., Delicato, F.C.: A method to identify services using master data and artifact-centric modeling approach. In: ACM SAC, pp. 1225–1230 (2014)
Selmadji, A., Seriai, A.-D., Bouziane, H.L., Mahamane, R.O., Zaragoza, P., Dony, C.: From monolithic architecture style to microservice one based on a semi-automatic approach. In: ICSA, pp. 157–168. IEEE (2020)
Saidani, I., Ouni, A., Mkaouer, M.W., Saied, A.: Towards automated microservices extraction using muti-objective evolutionary search. In: Yangui, S., Bouassida Rodriguez, I., Drira, K., Tari, Z. (eds.) ICSOC 2019. LNCS, vol. 11895, pp. 58–63. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-33702-5_5
Djeloul, M.: Locating services in legacy software: information retrieval techniques, ontology and FCA based approach. In: WSEAS Transactions on Computers (Greece) (2012)
Chenghao, G., Min, W., Xiaoming, Z.: A wrapping approach and tool for migrating legacy components to web services. In: ICNDC, pp. 94–98 (2010)
Cohen, S.: Ontology and taxonomy of services in a service-oriented architecture. Arch. J. 11(11), 30–35 (2007)
OpenGroup: The open group SOA reference architecture. Accessed 1 June 2020
Boussaidi, G.E., Belle, A.B., Vaucher, S., Mili, H.: Reconstructing architectural views from legacy systems. In: WCRE (2012)
Bruneliere, H., Cabot, J., Dupé, G., Madiot, F.: MoDisco: a model driven reverse engineering framework. IST 56(8), 1012–1032 (2014)
Kruskal, J.B.: On the shortest spanning subtree of a graph and the traveling salesman problem. Proc. Am. Math. Soc. 7(1), 48–50 (1956)
Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524–531. IEEE (2017)
Newman, M.E., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004)
Raghavan, U.N., Albert, R., Kumara, S.: Near linear time algorithm to detect community structures in large-scale networks. Phys. Rev. E 76(3), 036106 (2007)
Wen, Z., Tzerpos, V.: An effectiveness measure for software clustering algorithms. In: Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004, pp. 194–203. IEEE (2004)
Garcia, J., Ivkovic, I., Medvidovic, N.: A comparative analysis of software architecture recovery techniques. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp. 486–496. IEEE Press (2013)
Newman, S.: Building Microservices: Designing Fine-grained Systems. O’Reilly Media, Inc., Sebastopol (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Abdellatif, M. et al. (2020). A Type-Sensitive Service Identification Approach for Legacy-to-SOA Migration. In: Kafeza, E., Benatallah, B., Martinelli, F., Hacid, H., Bouguettaya, A., Motahari, H. (eds) Service-Oriented Computing. ICSOC 2020. Lecture Notes in Computer Science(), vol 12571. Springer, Cham. https://doi.org/10.1007/978-3-030-65310-1_34
Download citation
DOI: https://doi.org/10.1007/978-3-030-65310-1_34
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-65309-5
Online ISBN: 978-3-030-65310-1
eBook Packages: Computer ScienceComputer Science (R0)