Layered Architecture Sample 4.0

I have made available a stable beta release of the Layered Architecture Sample 4.0 for public preview. After many nights of upgrading the sample (and no XBOX), I am glad that I can finally release it.

I had initially wanted to migrate the January 2009 release to Windows Azure but as it was near completion, I had encountered some problems with Workflow Persistence on SQL Azure. Therefore, I had to abandon that initiate and work on upgrading the sample to .NET 4.0 instead.

New in this release is a WPF client. Yup! I finally found the time to do it after procastinating for so many releases. I only developed the client for the Submitter and omitted the Approver because I wanted to get it out quick. I also removed some functionality such as Reseting the demo database and auto refresh in the WPF client.

The one that got a major overhaul was the Workflow Service. I had to unlearn all the WF3.5 that is in me and relearn WF4.0. It was the most challenging task in the entire exercise. I have yet to discover how to synchronize the persistence store (now called instance store) with the ExpenseSample database. I hope there are some APIs that I can call.

The Business Entities also got revamped as I have always hated the fact that I need to reference System.Data.Entity in every project. Fortunately now, ADO.NET Entity Framework 4 allows us to do POCO, so all Business Entities are now POCOs and the Data Context have been moved to the Data Layer (where it should have been in the first place!).

The Web client UI has also been updated to use the out-of-the-box ASP.NET Web Application project template provided by Visual Studio. Saves me trouble from defining my own theme. I also AJAX-ed them so that they can auto refresh. Now they feel closer to their WinForm counterparts.

Lastly, I played around with the Architecture Explorer and drawn a Layer Diagram for the sample. Because of all the arrows flying around, I have decided to draw the Business Entities slightly different from the standard layer diagram. I hope nobody gets upset with it :p


Anyway, I hope you find the sample useful. I felt a little guilty for not updating it for 18 months. Do help me spread the word, blog, facebook and tell your friends about it. Also, pay attention to my blog for the release of a cloud version of the sample.

Here's a snapshot on what's on my mind for the next release (if I have the time to research and develop them):
  • Duplex WCF calls to replace auto refresh
  • Synchronizing the Expense Sample DB with the Instance Store
  • A Silverlight client (requires lots of learning for me)
  • An ASP.NET MVC client (requires lots of learning for me)
  • May be some UML diagrams in the model ;)
  • Bring back the message queue code
Download Layered Architecture Sample 4.0 here

No comments:

Post a Comment

Popular Post