Tuesday, August 24, 2010

Swiss Army Knife of ASP.NET MVC apps (Part 1)

My company has a couple of departments with sometimes conflicting goals and objectives. Let's call them BBU Ostrich and BBU Peacock. (BBU is an acronym for Battlin' Business Unit, a term coined by the Dilbert comic strip.)

Alteration of the code will allow each BBU to do what they want with the information without interfering with the other one's processes. It will also allow one of the BBU Ostrich's current processes to continue unchanged while adding new features and capabilities. There is also an issue with reaching consensus between the two business units that prevents progress regarding a unified solution.

Meeting these various needs has been much easier than I had expected and I have been able to use a wide variety of technologies.
ASP.NET MVC 2
Entity Framework 4
WCF RIA Services
XHTML
jQuery
WCF
SQL Server 2008 R2
Ninject
Automapper
Moq
Spark View Engine

It might seem to the casual observer that some of the items above might have been used purely for the sake of using every cool current .NET technology, but they actually each play a role. Here are a few usage examples:

WCF RIA Services exposes a JSON endpoint to a site built on the LAMP stack.
XHTML is exposed so that our site can be efficiently scraped.
I was initially using Ninject while waiting for a database to become available, but it was so easy to work with that I expanded its usage.
Automapper is used for easy data transfer across layers.
I had a couple of partial views had become tag soup disasters so I turned to the Spark View Engine. Spark restored order and maintainability.

There's also a Silverlight 4.0 administrative tool based on the MVVM Light Toolkit involved. It also uses WCF RIA Services, Automapper, and Ninject. Automapper is available for Silverlight version 3 but not 4, so I had to compile the source code for Silverlight 4. I'm going to cover that in a future post because of a couple of issues that I encountered.

No comments:

Post a Comment