The Benefits and Challenges of Classic ASP to ASP.NET Migration
5 min read
ASP, or Active Server Pages, was Microsoft's first server-side scripting language and engine. It was first released in December of 1996, initially as an add-on to Internet Information Services or IIS. It used scripting on the server to create content that would then be sent to a client's web browser, and it enjoyed a tremendous amount of success in its time as a result.
Classic ASP, however, is no longer being developed by Microsoft at all - it has long since been replaced by ASP.NET in 2002, a newer alternative. Because of that, businesses with these applications must rewrite them using a modern technology like ASP.NET not only for the purposes of supportability, but to also enjoy the scalability and the security that Classic ASP always notably lacked.
Why Convert Classic ASP to ASP.NET?
At this point, Classic ASP is 20-year-old technology - and it wasn't necessarily an ideal solution in the first place for a lot of organizations. There are a lot of limitations with Classic ASP that, at this point, have thankfully been fixed by ASP.NET. The story goes that Bill Gates was caught off guard by the internet in the mid-1990s. But as soon as he realized the earth-shattering implications of the internet, it was all hands-on deck and Microsoft rushed Classic ASP into production even though it was less than stellar. Even in the early days of Classic ASP, Microsoft understood its weaknesses and immediately started working on its replacement, ASP.NET.
Classic ASP was not a compiled scripting language, for example, and instead was interpreted. This means it runs slowly and risks breaking if there is a syntax error somewhere in the code. It also lacked debug support, meaning that debugging was always something you had to do via trial and error.
Finally, there was no clear separation between the code and the developer user interface - something that brought with it its fair share of challenges in its own right.
How to Convert Classic ASP to ASP.NET
The process of converting a Classic ASP application to ASP.NET isn't necessarily difficult, but it does require you to keep a few key things in mind. For starters, understand that you'll be dealing with a complete rewrite of the application from the ground up, there is no “conversion utility”. You can use the old Classic ASP application as a model for the functionality of your newer equivalent, then model the capabilities and use cases by user in the new application.
All throughout this process, you'll be able to take advantage of the new and improved features that ASP.NET has become known for.
The Challenges with Upgrading a Classic ASP Application to ASP.NET
Of course, this process is not without its fair share of challenges - chief among them being the fact that doing any type of migration from one platform to another requires you to identify all the business rules that were written into the older application.
If the application in question was written over a number of years, for example, it will often be quite large and therefore difficult to identify every one of those business rules. However, you always want to make sure you get all the business rules identified so that you can document them and review them with the client.
Sometimes, the client will be able to identify changes in their process that have occurred over time - thus simplifying their rules and allowing for greater productivity when their team begins to use the new application moving forward. What used to be a priority simply will not be in the present day - such is the nature of business. By capitalizing on these opportunities to streamline things, you can generate enormous productivity benefits as a result. But more often than not, with 20-year-old technology, the original person who wrote it has long since moved on and accurately documenting all of the business rules can be challenging.
The Advantages of Using ASP.NET Versus Other Development Environments
Migrating from Classic ASP to ASP.NET also brings with it its fair share of benefits, all of which are more than worth a closer look.
If the original database design is of a high enough quality, for example, you can actually swap out the front-end of the system with ASP.NET and continue to use the same database. ASP.NET is already optimized to work very efficiently with SQL Server, for example, much to the benefit of developers everywhere. This dramatically reduces the amount of work you need to perform on the project initially, all while making it easier to get a superior quality product into the hands of your end users.
Likewise, tasks that may have literally taken hundreds of lines of code in Classic ASP can now be replaced with ASP.NET by way of a single built-in web user control. A good example of this is the process you would have to go through to display data in a grid format. In Classic ASP, the programmer would have to actually build the grid while populating it with data from the database. With an ASP.NET grid view control, the programmer simply drags the control onto the web page then configures it and binds it to a database query. This can all be done with only a few lines of code.
Additionally, you can also purchase third party tool kits (with Telerik being one example) to dramatically enhance the user interface, thus letting you capitalize on pre-built programming widgets. Spreadsheet controls, date pickers, scheduling controls, text editors and others would be great examples of this idea in action. All told, you can use up to 70 more Telerik widgets during your migration, helping things move along as easily as possible.
Finally, the new system that you end up with will be much more supportable by its nature because it is built on top of a technology that is still being supported by Microsoft. Because of that, it will be easily updated as business needs continue to grow and evolve - allowing your application to change right along with them.
The Risks of Not Migrating a Classic ASP to ASP.NET
At some point, you may (understandably) start to question whether or not all of this effort is worth it in the first place. But what you need to keep in mind is that the only people who were experts on Classic ASP were experts a full two decades ago. Flash forward to today, and it is incredibly difficult (if not impossible) to find any developer who is willing to get involved in a Classic ASP project because it does nothing to advance their career.
Along the same lines, security is a significant risk for any platform built on Classic ASP as it is no longer being supported by the source vendor. As vulnerabilities continue to be discovered (and rest assured, they will be) they will go unaddressed - exposing your organization to an unending amount of harm.
But more than anything, it is simply far too difficult to maintain such an environment - to say nothing of how hard it is to integrate with all of your other IT applications because it was never really designed to do that in the first place. Because Classic ASP is so old, even something as seemingly simple as cross-browser support is endlessly complicated. Developers will need to build the application to function correctly in EVERY browser and then test it on EVERY browser and mobile device configuration and manually implement fixes, all so that the application renders properly. The amount of time you'll save by eliminating this issue alone is more than worth the investment for most people.
In the end, remember that upgrading older technology to its newer counterpart is always a requirement of any successful IT organization. If you neglect to properly maintain and upgrade your critical business systems, you always run the risk of generating significant operational issues - often in unexpected and expensive ways. Therefore, it is always a good idea to plan on the upgrade of any Classic ASP applications - and sooner rather than later.
At this point, that natural upgrade path is clear - it involves ASP.NET and that is only going to get truer as time goes on. The longer you let this situation fester, the worse the problem will get - which is why it is absolutely in your best interest to do something about this as soon as you can.
To learn more about Legacy Business Application Modernization Techniques, download our eBook titled "Legacy System Modernization 101 - Your Guide for Success.