Microsoft Dynamics CRM: a development platform?

Dynamics CRM 3.0 is the Microsoft solution for customer management. It relies on Microsoft Server platform, it’s a web based application licensed per-user and tightly intergrated with Office.

It supports customization in varioius way: from the simplest, as the workspace that every user can personalize or the web forms that can be edited, to the more sophisticated like the modifications that can be done to the business logic throught a relative easy-to-use graphical interface: you can edit native entities (such as Contact, Account, Case, etc…) by adding/modifyng fields and relations between entities and create your custom enties.
Substantially Microsoft CRM offers you a complete and powerful O/R Mapper with web based interface for entities editing plus a totally automated generation process of the web forms the will operate on to complete their tasks.

Further more CRM exposes a web service to support software interaction: basically it allows CRUD operations to be accomplished against the appllication datasource. The great thing here is that entities you design via the application web interface are immediately exposed by the web service: the WSDL contains all the entities definitions and, if you work with Visual Studio, you can, in seconds, obtain classes representing the entities in your application domain.

In some cases (take a look here) these features lead to the assumption that Microsoft CRM can be a development platform, or, at least, part of it; and Microsoft it’s self is supporting the idea. Is this a valid assumption? I think it may be. But if you are involved into the planning/design/development of an Enterprise Application, you must carefully evaluate what it can and what it cannot do. Some of its limits, in fact, make clear that it was not designed to be a development platform, and that this conviction emerged after it was released. I’m not saying that adopting Microsoft CRM as a development platform isn’t possible. May be is it in some cases. In making your choice you have to carefully match your requirements with what Microsoft offers and don’t offes.

Details like no transaction support, web service as the only channel for CRUD operations when interacting via software (only read can be run directly against the db) and the lack of a smart notifications/events system can assume, in a large application like an Enteprise one, great importance.

I will dedicate my next posts to analyze these limits and present my solutions to some of these.

Share this post:Email it! | to! | digg it! | reddit! | Furl it! | To any service


~ by Matteo on August 12, 2006.

4 Responses to “Microsoft Dynamics CRM: a development platform?”

  1. Hi,
    I’m currently investigating the feasability of implementing MS Dynamics CRM for a client and would love to know a bit more concerning the boundaries of CRM (pitfalls, best practices, what it does well, what it does poorly).

    Just wondering whether you are still planning to post up CRM limits and your solutions to them?


  2. Yes, I will. A recently restarted my activities on CRM and I’m working on a huge project with it being the core.

  3. pingback from

  4. OK, it’s Jan 2009 and I’ve just stumbled across your blog post …

    “no transaction support, web service as the only channel for CRUD operations”

    … and being bitten by these limitations for CRM 4.0.

    “I will dedicate my next posts to analyze these limits and present my solutions to some of these.”

    is it’s safe to assume that, at the end of the day, there really isn’t any worthwhile solutions to get around these limitations?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: