Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way to upgrade my Classic ASP WebApp? Advice and Opinions Needed

Tags:

asp-classic

I am currently maintaining an in-house business tool for our company's timesheets and project information. I need some general advice regarding web languages and best practices.

Details:

  • Runs on Windows Small Business Server 2008
  • Combination of Classic ASP, JavaScript, CSS and Javascript
  • Access database backend
  • Large system, containing around 135 pages, of 2.3 MB total

Objectives:

  • Extend functionality in small ways
  • Possibly move to different languages to ease maintenance (AJAX?)
  • Separate code from HTML structure (currently VERY messy)

1) Given that I don't have a lot of time to entirely rewrite the system, is it sensible to keep going with ASP and JavaScript?

2) I've had a look at some AJAX and it seems like it would be an easy leap to include it in the page, is this an avenue worth pursuing?

3) Is it worth investigating an MVC framework? If so, does this need to be done formally with some kind of library, or are there best practices I can follow to implement MVC functionality using ASP?

4) How difficult might it be to upgrade to a 'real' DBMS such as MySQL and port the database? Is it worth doing? (Feel free to smack-talk Access)

Sorry for the length, I'm just a little lost in the giant multitude of Web standards, languages and practices.

like image 757
David Edwards Avatar asked Feb 24 '23 09:02

David Edwards


2 Answers

1) For the javascript part take a look at Jquery. Normally this cuts down old javascript code to 1/10 of size and a better separation of ASP/HTML Code and JS Code. Ajax comes for free and it has a really good plugin ecosystem.

3) From my experience porting such a big system is not a good idea. ASP Classic runs smoothly under IIS 7.5 ans IIS Express so you can take the good parts like Url Rewrite and other IIS plugins. If you need more power in your ASP classic pages simply combine them with ASP.NET pages. It is no problem to run them side by side, I usually use ASP.NET generic handler (.ashx) if I need the power of the .NET Framework to complete tasks like dynamically generated Zip files for example.

4) Upgrade to Sql Server Express.

Microsoft SQL Server Migration Assistant (SSMA) will help you to convert the Access DB to SQL Server. I've done this before with a 1 GB (no binary data) 200+ tables database and migrated the old ASP system in a week to SQL Server.

With Jquery, IIS 7.5 or IIS Express, .Net Framework 4.0 and Sql Server 2008 Express you can "pimp" your system in much less time than porting it completely.

like image 94
Yots Avatar answered Apr 27 '23 05:04

Yots


Seriously, if the thing works and performs for you as is, then I'd "extend the functionality in small ways" and possibly add in some Ajax, if you think it would offer enough value given you limited time.

I'd certainly not consider porting a 135 page application just for the sake of porting it.

Access has its issues, but if you're not running in to them, I wouldn't take the time now to convert it.

like image 36
Will Hartung Avatar answered Apr 27 '23 07:04

Will Hartung