Refactoring Legacy Software for Layer Separation
dc.contributor.author | Khalilipour, Alireza | |
dc.contributor.author | Challenger, Moharram | |
dc.contributor.author | Onat, Mehmet | |
dc.contributor.author | Gezgen, Hale | |
dc.contributor.author | Kardas, Geylani | |
dc.date.accessioned | 2021-05-03T20:27:54Z | |
dc.date.available | 2021-05-03T20:27:54Z | |
dc.date.issued | 2021 | |
dc.department | Ege Üniversitesi | en_US |
dc.description.abstract | One of the main aims in the layered software architecture is to divide the code into different layers so that each layer contains related modules and serves its upper layers. Although layered software architecture is matured now; many legacy information systems do not benefit from the advantages of this architecture and their code for the process/business and data access are mostly in a single layer. in many legacy systems, due to the integration of the code in one layer, changes to the software and its maintenance are mostly difficult. in addition, the big size of a single layer causes the load concentration and turns the server into a bottleneck where all requests must be executed on it. in order to eliminate these deficiencies, this paper presents a refactoring mechanism for the automatic separation of the business and data access layers by detecting the data access code based on a series of patterns in the input code and transferring it to a new layer. For this purpose, we introduce a code scanner which detects the target points based on these patterns and hence automatically makes the changes required for the layered architecture. According to the experimental evaluation results, the performance of the system is increased for the layer separated software using the proposed approach. Furthermore, it is examined that the application of the proposed approach provides additional benefits considering the qualitative criteria such as loosely coupling and tightly coherency. | en_US |
dc.description.sponsorship | KocSistem Information and Communication Services Inc.; Scientific and Technological Research Council of Turkey (TUBITAK) under European Union EUREKA ITEA labeled (ITEA project)Turkiye Bilimsel ve Teknolojik Arastirma Kurumu (TUBITAK) [14014]; Scientific and Technological Research Council of Turkey (TUBITAK) under European Union R&D project ASSUME (TUBITAK)Turkiye Bilimsel ve Teknolojik Arastirma Kurumu (TUBITAK) [9150181]; KocSistem Information and Communication Services Inc; Sama Technical and Vocational Training College | en_US |
dc.description.sponsorship | Mehmet Onat, Hale Gezgen and Geylani Kardas are funded by KocSistem Information and Communication Services Inc. and the Scientific and Technological Research Council of Turkey (TUBITAK) under European Union EUREKA ITEA labeled (ITEA project no: 14014) R&D project ASSUME (TUBITAK Grant no: 9150181). Alireza Khalilipour and Moharram Challenger would also like to thank KocSistem Information and Communication Services Inc for their funding and supporting the study. Finally, Alireza Khalilipour would like to thank "Sama Technical and Vocational Training College" for their support during this study. | en_US |
dc.identifier.doi | 10.1142/S0218194021500066 | |
dc.identifier.endpage | 247 | en_US |
dc.identifier.issn | 0218-1940 | |
dc.identifier.issn | 1793-6403 | |
dc.identifier.issn | 0218-1940 | en_US |
dc.identifier.issn | 1793-6403 | en_US |
dc.identifier.issue | 02 | en_US |
dc.identifier.scopus | 2-s2.0-85101979655 | en_US |
dc.identifier.scopusquality | Q3 | en_US |
dc.identifier.startpage | 217 | en_US |
dc.identifier.uri | https://doi.org/10.1142/S0218194021500066 | |
dc.identifier.uri | https://hdl.handle.net/11454/69683 | |
dc.identifier.volume | 31 | en_US |
dc.identifier.wos | WOS:000624545700004 | en_US |
dc.identifier.wosquality | Q4 | en_US |
dc.indekslendigikaynak | Web of Science | en_US |
dc.indekslendigikaynak | Scopus | en_US |
dc.language.iso | en | en_US |
dc.publisher | World Scientific Publ Co Pte Ltd | en_US |
dc.relation.ispartof | International Journal of Software Engineering and Knowledge Engineering | en_US |
dc.relation.publicationcategory | Makale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanı | en_US |
dc.rights | info:eu-repo/semantics/closedAccess | en_US |
dc.subject | Layered software architecture | en_US |
dc.subject | code refactoring | en_US |
dc.subject | software layers separation | en_US |
dc.subject | software modernization | en_US |
dc.subject | data access layer | en_US |
dc.subject | business layer | en_US |
dc.title | Refactoring Legacy Software for Layer Separation | en_US |
dc.type | Article | en_US |