Monday, August 20, 2007

Building a Smart Client application using CAB / SCSF

I am building a smart client application using free tools from Microsoft's patterns & practices team. The primary toolset is the Smart Client Software Factory, referred to as "SCSF", which is an integrated set of architecture guidance, templates and Visual Studio 2005 "recipes" that both makes the job easier (perhaps an oxymoron as you'll see) and gives you a solid framework to build a robust, scalable, professional-quality application. My aim is to document and share key points along the way.
The application I'm building is a membership system used to manage and engage members of a group or organization. Key features it has are:
  • Flexible design enabling use by a variety of audiences.
  • Easy to use, familiar user interface.
  • Enable distributed management of data.
  • Enough features to provide a compelling reason to use it.
I am doing this for two reasons - to build a low cost (free) application that my church can use to manage its membership and to satisfy my geek nature by building a serious application that others can use.
My wife is the administrative assistant for our church and when she took over the position she inherited a variety of "data sources" - a church directory consisting of names, addresses, telephone numbers and email addresses in an MS Word document, other assorted membership lists in their own MS Word documents, Excel spreadsheets used to track attendance and an Outlook Express address book used for email communication. Our situation is more common than you may realize even in today's electronic age. Non-profits operate on very low (or no!) budgets and volunteers who donate some time and effort. What started out for us as small organized lists has grown over time to become unmanageable and even outdated. Information has to be manually synchronized across multiple documents and inevitably things get missed and forgotten.
Here are the posts which document this journey:
  1. Introduction (this post)
  2. Background
  3. Overall Design
  4. Data Layer
  5. Business Module
  6. Work Items
  7. Views
  8. Services
  9. Deployment Packaging
Original post

No comments:

Post a Comment