Revitalizing Legacy Software: The Conversion of a Monolithic VB.NET Application to Modern and Modularized C#
Heikkinen, Riku (2023)
Heikkinen, Riku
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023060117190
https://urn.fi/URN:NBN:fi:amk-2023060117190
Tiivistelmä
The purpose of this study was to provide insight into what it entails when a company modernizes their legacy software application by converting it from older technologies to newer ones. This thesis includes research on the history of Microsoft's ASP.NET framework and legacy languages such as VB.NET, and the work required to convert an application from these technologies to more modern ones with the language C# and a separated frontend with Microsoft's Blazor. The conversion process is documented in a diary-based format, with the development being tracked by weekly entries discussing both the progress made and the challenges faced along the way.
One of the main objectives in this thesis was to capture the workflow of modernizing legacy software. The work done includes both backend and frontend work, with the frontend using Microsoft's still newly released Blazor, and the backend using .NET 6 with C#. The weekly diary inputs track the progress of developing the application and include research on different software engineering concepts, which are demonstrated in different examples throughout. The application did not get finished during this thesis, however with the progress achieved and fully converting some parts of the application to the new technologies, a clear image can be gained of what it means to re-write an entire application.
One of the main objectives in this thesis was to capture the workflow of modernizing legacy software. The work done includes both backend and frontend work, with the frontend using Microsoft's still newly released Blazor, and the backend using .NET 6 with C#. The weekly diary inputs track the progress of developing the application and include research on different software engineering concepts, which are demonstrated in different examples throughout. The application did not get finished during this thesis, however with the progress achieved and fully converting some parts of the application to the new technologies, a clear image can be gained of what it means to re-write an entire application.