After reviewing my last post on this topic and reflecting a bit, I realized that my demo app sure sounds a lot like a customer relationship management application. That prompted me to look into our customer relationship management product (MSCRM 3.0) and research how it might be applied. I was impressed by what I found, and thus will be using MSCRM for the basis of much of what I described.
I won't repeat here the major features of a CRM application - there are many sources that do this much better that I could. So, presuming that you're familar with the basic concepts and features offered to a CRM user, here's some of what MSCRM 3.0 offers you as a developer:
- Robust base set of CRM entities (customers, contacts, leads, incidents, etc.)
- Support for extension with your own entities
- Web service API for accessing server functionality
- Extensible rich clent nicely integrated with Outlook
- Extensible web client pages
- Integration points for custom business logic and reports
- Many many more things
This certainly seems like a good base on which to build, so I'm going to define some of the custom entities I discussed in my previous post in MSCRM 3.0 and then snowflake out to a custom database if I start to push things a little to far for my comfort. From there, I'll then attempt to use the MSCRM 3.0 web services and SQL Server database I've defined as a basis to explore WPF and Atlas.
In my next post on this topic, I'll describe my experiences with the MSCRM 3.0 SDK, and I'll be document my composite data model for reference. Then, it's off to the races with WinFx.