For the last year, I swore off ASP (MicroShaft) and took up the LAMP (Linux/Apache/ModPerl) and swore I’d never look back. Never say never I guess.
Well, the time has finally arrived to try and make an informed educated unbiased decision about the future if the ecommerce site I maintain as part of my day job.
The site is currently built using ASP/VB/MTS/MSSQL. So far, it’s served us well if I do say so myself.
However, the time has come to look towards the future and start planning for a major overhaul.
So with all fairness in mind, here are some of the design requirements that come to mind:
Model-View-Controller (MVC)
True separation of code, logic, and content. Allow the page creators to create pages without having to touch a line of code.
Allow the programmers to work on new functionality without touching the pages, or the look and feel. Allow the artists to develop new page layouts and styles
without touching any code.
Flexible Output Mechanism
Ability to repurpose page into many forms (HTML4, Text, XHTML, PDF, WAP) without altering any page logic or module code.
WYSIWYG Friendly Design Workflow
The ability to edit the Model or View stages in non-text editors without them munging the format of the page.
Pre/Post Request Chain Processing
Ability to tap into the request chain to create custom pre and post page processors for custom url or session munging or custom output caching.
Personally, I would love to move to Unix/Apache/ModPerl/AxKit. But I also need to find the right tool for the right job. Even though it is old this article on Building a Large-scale E-commerce Site with Apache and mod_perl still intrigues me. The performance stats alone on that setup make my mind boggle compared to IIS/ASP.
Reverse Proxy Caching will almost certainly be part of a major redesign, but that still leaves the language/platform open to quandary. If both Apache/ModPerl/AxKit and IIS/ASP.NET can do the same things close to the same way, then it’s going to come down to performance, price and development time.
Price is a no brainer. I’m willing to bet on performance, but proper side by side tests will tell the tail. As for development time, I could knock out an AxKit based site, XML/XSLT/Perl and all pretty quickly. Dot
NET is going to take some serious learning. Nothing impossible, but I’m definitely out of the loop.