I know, I know.. I’ve been extremely lazy lately, at least when it comes to sharing knowledge with you guys. I guess the main reason for that is that I’m currently on parental leave which means that my days are not really spent researching, architecting and developing as much as they are spent entertaining Miranda…
Anyway, as you may have realized by my previous posts on the subject, I’ve been diving into the big swamp of ASP.NET once again. Somtime mid-last year I was tasked with creating a new plattform for the web sites at Thomas Cook Northern Europe (like ving.se, spies.dk, tjaereborg.dk and ving.no). The platform that is currently running all our sites is quite powerful but was designed with .NET Framework 1.1 in mind which makes it a bit clumsier than it has to be.
At the time, the only web site framework on offer from Microsoft was the Web Client Software Factory. I really liked the ideas and patterns that drive the architecture of the WCSF (in pattern-talk I guess you would describe it as Model-View-Presenter combined with Application Controllers). However, it simply wasn’t enough for our needs. The major problem was that the Views/Presenters are to coarse. They are designed with entire pages in mind instead of being designed for User Controls (which is what we need). I also didn’t like the fact that the flow engine they used couldn’t handle multiple flows and states per session/user. A quite common scenario for us is that a user opens up several browser windows to compare different alternative trips – something that often leads to corrupt state.
In the end I decided to create a framework from scratch with much of the ideas from the WCSF intact, but extended to fit our needs. Some notable features:
- Based on the Model-View-Presenter and Application Controller patterns.
- Independent modules for each area of the web site which makes it possible to develop and deploy parts of the web site without affecting the other parts.
- No .aspx files – pages are built up dynamically.
- Multiple flows per user
- Fully integrated URL Rewriting
Well, if you’re interested I’ll blog some more about this. But at least now I’ve given you an update on what I’m doing..
Funny, the day after I wrote this entry, Microsoft Sweden published a “success story” about the project (although the story focuses more on the way we are using TFS and VS 2008 rather than the framework itself). I had no idea this article was being written, but I guess that’s what happens when you’re on parental leave..
Also, you might be asking yourself “How on earth do you make sure that things are going in the right direction if your not in the office?”. Well, luckily I’ve been able to hand over the framework in the very good hands of my colleague Håkan (who also gave me a lot of great advice during the first stages of the project). If you’ve read this far, you’ll certainly find his blog even more interesting, and as a bonus it’s available in English and Swedish.