I’ve been quite fun of code automation (aka removing repetitive and extremely boring tasks from your day-by-day, leaving your neurons free for evolution and creativity) for some time now. Thanks to an ex-colleague – Mário Romano - that opened my horizons about 5 year ago.
In those days, CodeSmith was the code generator and some custom made scripts were developed that generated the 3 tier application for managing data. Mainly Mario’s work and some contribution from me and Bruno Valente, we ported the Oracle flavour to SQL Server and had a powerful tool that wowed a lot of fellow developers. Code was .net 1.1 only.
With the event of .net 2.0, we had some hard brainstorms about upgrading the scripts to the new framework but after some time we came to the conclusion that it would be too expensive to port and maintain and went for nettiers templates. Worked great, had some intermediate layers, but had a very simple presentation layer where the most of the time consuming was done.
Well its that time again. I need to generate a simple yet useful back office solution. After some research I came across “ASP.NET Dynamic Data“. I did some prototyping and it looks simply great. How much time for a complete back office for a database (doesn’t matter how large it is)? 5 minutes.. TOPS!
What do you get?
- Lists with add, remove, select controls
- Referential relationships with filtering combos
- Inline editing with validation for type, mandatory and length
- Master -> detail
- Simple and very clean presentation layer that you can customize through masterpage and css
- Site structure ready for running
Does it look good? Yes
How flexible? Well I suggest you take 16 min to watch this screen cast - Introduction to ASP.NET Dynamic Data – and answer that for yourself…
What you need:
Some resources I’ve collected so far (I’ll keep this updated):
Conclusion:
Dynamic data is powerful, fast yet extremely flexible and extensible. I’ve been in code generation for some time now and I’m convinced that this will be the way to go for next technological quantum leap. I will use Dynamic Data for my next project, so you can expect some updates o this topic.
[UPDATE]
The project moved to a SOA approach, thus leaving ASP Dynamic Data out of scope. I will use MVC (part of the .net 3.5 extensions) as the presentation layer, consuming a WCF support layer. Some links to the current extensions: