Microsoft Dynamics CRM作为软件开发平台?

时间:2009-07-07 19:30:45

标签: dynamics-crm

我的组织正处于获取CRM 4.0的最后阶段,用作通用软件开发平台。向我们销售产品的公司已经说服了高层管理人员,CRM将解决我们所有的生产力问题,并使软件开发像点击一样简单。 (他们不读布鲁克斯。)

由于我不能阻止CRM被强加给我们的开发人员这一事实,我一直在研究如何管理大规模CRM开发的复杂性。

到目前为止,我发现了以下需要解决的复杂问题:

  1. CRM似乎与基本配置管理实践完全不兼容。
  2. 保持黑匣子CRM数据库与外部LOB系统的双向同步对项目的成功非常困难和关键。
  3. 构建大型CRM应用程序时,我必须考虑哪些其他复杂因素?

    CRM作为开发平台有哪些限制?

    修改topic提供了额外的见解。

3 个答案:

答案 0 :(得分:5)

我使用的是MS CRM 3.0,现在是4.0,这是我的看法:

  1. 尽可能关注标准的最佳做法。不要过分担心CRM正在做什么或希望你做什么。

  2. 不要害怕打破MS“支持”的内容。关于两个主要因素的一些注意事项 - 贵公司是否会让您开箱即用以解决问题并进行非官方支持的定制/集成? - 你是否对.Net,SQL,javascript等感到满意,以编织代码并实现你需要的东西?

    我有时会让我头疼100次尝试以“支持”的方式做某事,在这里对js文件进行一次小调整或者在那里进行小的数据库修改后,我就得到了我需要的东西。

  3. 如果与其他LOB应用程序的持续数据集成至关重要,您应该考虑像Scribe(http://www.scribesoft.com/)这样的第三方工具。它并不便宜,但在与其他LOB应用程序集成时,基本上可以获得90%的支持。

  4. 作为一般规则,MS CRM非常适合联系人管理 - 执行跟踪约会,进行邮件合并等操作。您是否可以将其用作核心人力资源系统?财务系统 - 可能有点困难。您可以进一步了解其执行联系人管理的核心能力,您需要做的定制工作越多。如果MS CRM是解决该问题的正确解决方案,您需要做的定制工作越多,您应该考虑的越多。

答案 1 :(得分:4)

我知道您可能正在进行Dynamics CRM的部署,但只是一些快速提示:

  • 我完全避免进行不受支持的更改,因为最终很难跟踪更改。由于Dynamics CRM允许开发人员制作C#插件并访问Web服务,因此通常不必对任何非平凡的事情进行不受支持的更改。另外,如果你必须打电话给他们的支持,你必须隐藏MS的变化。我知道很多人会包含外部javascript文件(jquery等)以及其他有些良性的变化,但是当不受支持的编辑涉及任何非可视化时,请尝试在精神上停止自己。

  • 查看Microsoft Dynamics Xrm这一短语,有几本关于这个主题的书非常出色,http://www.thecrmbook.com/特别好,因为它附带了一些很好的自定义代码可用于您的CRM。

  • 来源控制您的自定义xml并且不要让人们触摸数据库,Google Halan CRM工具,并使用它来编写CRM自定义和javascript文件的脚本。比编写自定义PowerShell脚本更容易做同样的工作。

答案 2 :(得分:2)

交易支持

如果您的应用程序需要来自底层平台的事务支持,则Dynamics CRM不是正确的选择。原因是目前Dynamics CRM SDK Web服务不支持事务。

参考线程在这里:Does MSCRM web-service support database transactions?

由于您希望将Dynamics CRM用作平台,这意味着所有业务逻辑都应将Dynamics CRM SDK Web服务用作数据访问层。但是想象一下,如果没有事务支持,并且您将一系列Web服务调用作为一个工作单元调用,并且其中一个Web服务调用失败。这意味着您可能会遇到数据完整性问题。

<强>配置

通常我会创建一个名为Configuration的自定义实体,它将存储当前CRM应用程序的所有必要相关配置。创建后,您可以使用Dynamics CRM SDK Web服务从配置自定义实体

中读取所有必要的配置