Tuesday, March 24, 2009

Chris Trainning Days 1 and 2 (Guidance Package Framework)

So one of the tasks of software development I hate is setting up new projects.  This task is tedious and repetative.  When setting up a multi-tiered application, that includes, an AOP Framework, an ORM framework, a ioc framwework, and then some type of web or forms package, not to mention build scripts and maybe a data migrations package, you could kill a whole day or more.  

Throw on top of this that a lot of times there are tasks throughout a project that you do over and over.  For example, creating a data access class, you need to create the class, an interface for the class, an NHibernate mapping hbm file, a unit test class to unit test the data access class, and probably some model class to transfer the data around.  

So there is a lot of time wasted doing trivial things when with this time we should be spending it on the real business problems we are trying to solve.  If only some of the trival tasks could be automated.

So the first thing I did was look at a few offerings.  The first one was S#arp Architecture.  Well I really did not look at it but Dan Miser did and he then held a Spider Thursdy on it.  It seemed really cool.  Thought for sure this was the answer but like all tools, it had some failures.  

The next project I looked at was Sculptured.Net.  This is an MDD tool.  What is interesting it has an idea of molds that you can use to create different applications using different frameworks. For example you could create a silverlight mold, with a Nhibernate mold, and a service library mold, then using the same model, you could import it to a project using a mvc mold, a LINQ mold and a WCF mold and they the apps would work the same.  You could also create your own molds.  Well like other tools it looks great on the basic examples but as you start making more complex models the tool starts to break down.  I do want to look into making my own molds though and see if this process is easier.

That brings me to Guidance Package Framwework from Microsoft.  I was excited about this because I have seen what it could do from using some of the Pattern and Practices Team factories.  I just did not know how poorly the documentation was wrritten.  also the waas a lack of blog posts or other articles on how to use the framework.

Well after messing with it for a day I really did not get anything to work.  Yes I could get it to register my packages and when I used my package to create my solution it tried to but errored out. I was really frustrated, so I sat down and re-looked at the help that comes with the framework.  Then all of a sudden some things started clicking.  My day 2 with the framework was much better.

My next blog post will talk about the steps I took to create a basic guidance package.  It will contain code samples and hopefully give direction for those who are starting to look at using guidance packages.

No comments: