LayerSample.for.NET.3.5

I have just released a work-in-progress version of my Layered Architecture Sample for .NET 3.5. I have been toying with the .NET 3.5 technologies such as the new WorkflowServices and LINQ for quite a while, so I guessed it is time to push something out to the public. You can grab the source code here.

Be reminded that I'm still working on it. There are many bits that are incomplete, particularly with the client applications. I was working on a WPF client earlier on but was distracted by work to do something else. Recently, I was learning the Smart Client Software Factory (SCSF) and needed a base for my experiments. So, I developed a SCSF client for the sample just for the kicks.

It made me realized that there is another dimension that I could cover which is demonstrating how to integrate those published software factories with the Layered Architecture. If time permits, I may look at the Web Client Software Factory next.

I know some of you may be confused as to what is this Layered Architecture Sample thing. It is not a framework like my previous project - Paladin. That's history as far as I'm concern with the emergence of LINQ and I kinda gave up on building anymore frameworks for now.

Layered Architecture Sample, as the name implies is just a sample application with the emphasis on 'Layered Architecture' which means how we separate all our code into layers (like onions). Although it takes the form of an Expense application, the jewels are actually in the code and design (so don't bother about the functionality of the sample).

With so many .NET technologies available today (and many more little add-ons coming along), how are we supposed to know how to hack-up all of them into our enterprise applications? How are we supposed to upgrade to newer stuff without killing our existing applications?

Most of the samples I find out there are technology centric. They usually demonstrate all the capabilities and strong points of a particular technology i.e. User experience samples will move in with jazzy-snazzy front-ends but weak back-ends, web-services samples will go into an SOA over-drive (SOAP this, WSDL that) and O/RM samples will demo its own thing and etc. Now I'm not sure about you, when I see all these I either go into fits or give a blank DuH!

So, in my quest to explore how to put all these technologies together (little by little), I started the Layered Architecture Sample project and made it public to share with everyone. By layering my application, I can easily place and replace pieces of my code as new technologies are introduced.

The 3.5 preview release is a good example of how I could ripped out Enterprise Library from my data layer and replace it with LINQ without affecting my application. I converted my workflow without killing my client applications. And I also build a SCSF client on top of my application without breaking my workflows, business components, data components and so on. All the changes were isolated (to some extend). I also get the chance to experience what works with what.

So, that's what Layered Architecture Sample is all about. :)

No comments:

Post a Comment

Popular Post