Project – Classic ASP to ASP.NET Migration

ASP.NET Web Application for one of California Workforce Investment Board

Summary

This is a recap of a project migrating very old classic ASP website to ASP.NET modern line of business application. This project started with my friend and colleague asking me to help her migrate her old classic ASP application to a more modern platform. She was the one of the original authors of the ASP application and thankfully knew all of the associated business rules and application logic flows. Once my other project ended, I agreed to help her.

Project Details

This project was all about migrating an exiting classic ASP Web Application to more modern platform. As part of the migration we also had to add some long needed functionality upgrades. This project was not very complicated other than the scope of the work involved; regular line of business web application with MS SQL backend.

ASP.NET MVC or ASP.NET MVC Core ?

When I first reviewed this web application I was surprised it was still running on classic ASP. It must have been in production for about 20 years. So, when it came to upgrade I asked the client: Do you hope to upgrade this Web application now and then not touch it for as long as possible? Client’s answer was a resounding yes. This led me to carefully review ASP.NET and ASP.NET Core End of Life dates.

Microsoft’s .NET Core comes with LTS (Long Term Support) for each even number. Each LTS version has around 3 years of life before end of all support – pretty short lifecycle if you ask me:

https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core

Compare that to Microsoft’s .NET version 4.8 – this version of legacy .NET is built into Windows Server 2022 and therefore is supported by Microsoft for the entire lifespan of Windows Server 2022:

https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2022

So the choice was simple use ASP.NET MVC so the platform will be getting required security updates until October 2031 at least 🙂

Website UI Elements

Website starts with the listing of all WIB Application Form. This was an ASP.NET MVC Grid control with optimized SQL backend to provide easy paging, sorting and filtering of data:

By far the biggest part of the effort was the UI’s Application Page. User wanted to have the Application process be in the same page, so I chose a tabbed design, using Accordion controls, each collapsible independently to allow easier time filling the form. I have to admit this design would not be my first choice by customer is always right. In the end I think the design of the form and it’s popup in a separate window was very usable and liked by the users:

Application Form – All Sections Collapsed
Application Form – All Sections Expanded

Another challenging page – CRITA page; something only a government bureaucratic would dream up!

Project Completion

This project was very satisfying – I learned a lot about government regulations and sometimes about complicated bureaucratic processes. Overall, people were very nice and the development process was very smooth thanks to them. I think in the end users were pretty happy 🙂

Please let me know if you have any questions or comments.

Sincerely,
Vardan Mkrtchyan
The Developer Guy.