CRM 4.0 集成整合 – 1- 数据 (Data Integration)

计划整理分享关于4.0集成整合(integration)方面的资料:  ERP系统, E-Mail系统, Phone 电话系统, 传真Fax系统… 这个是第一部分,介绍CRM系统和其它第三方系统通用的数据集成整合选项。   数据整合的由来和必要性 按照是否需要和客户打交道,一个公司简单来说分为两个功能系统:前台 (front office) 和后台 (back office).  前台是需要和客户(client/customer/lead)打交道,销售服务(service)或者产品(product). Service和Product主要是后台(back office)提供的。前台通常包括Sales, Marketing, Support/consultant; 后台通常就是人力资源部门(HR),财务部门(Finanace&Accounting),法务部 (Legal),管理部门 (leading and management),生产部门 (manufacturing) 等等.   在IT方案里我们用CRM系统管理前台–和客户直接相关的所有数据;后台的系统就是通常的ERP系统 –当然CRM属于大的ERP概念的一部分。为了方便讨论我们这里把它分开。CRM和后台的ERP系统的联系有如下情况:     1. 通常一个公司的ERP系统可能已经存在很多年了,积累了很多的客户记录(客户名称,联系人,购买产品服务记录等)。初次实现单独的CRM系统的时候大批量的数据都需要从ERP里导出,推(push)给CRM     2. 和产品服务相关的数据(product & service)比如生产系统的库存量,价格体系等通常还是在ERP系统里统一维护的,这类信息CRM需要实时的从ERP里面”拉”出来.     3. 一些第三方程序需要”读”CRM系统中数据,比如报表(report),商务智能(Business Intelligence)和数据挖掘(data mining)应用,公司门户网站(Sharepoint Portal)   通用数据集成(Data Integration)方案 方法 需要考虑关注的问题 可能的解决方案 push (“推”) 从第三方数据源获得数据”推”给CRM系统 1. 速效性:…


为什么不能把DMM和CRM 4.0 application server安装到同一台机器上?

DMM = Microsoft Dynamics CRM 4.0 Data Migration Manager 数据迁移管理器,是4.0里用来整合不同的数据源把数据倒入到CRM数据库中的组件。DMM的一些使用技巧可以在下面链接找到: Data Migration Manager Tips and Tricks   我们在CRM 4.0的安装文档中指出不要把DMM安装在CRM 服务器上(当然如果你要安装 DMM并没有警告信息弹出),这背后的一个技术原因是:   DMM 依赖的某个别DLL的名字是和CRM server程序一样的,这些DLl DMM组件是发布到.NET 的GAC中去的;但是CRM Server程序的这些DLL是发布到自身的目录下 (c:\program files\Microsoft Dynamics CRM). 如果你在同一机器上同时安装了DMM和服务器,那么服务器程序就会从.NET 的GAC目录读取那些DLL而不是从自己本地目录。如下图所示,CRM的补丁是分DMM和 Server的,如果你没有意识到这点,可能会碰到打的Server的补丁没有生效 (因为它实际去读取了DMM发布到GAC里的DLL).     Thanks Clifford


数据重复检测(Duplication Detection)

FAQ 1: 我已经设置了数据重复检测功能,为什么数据录入有时候没法捕捉到重复数据呢? 原因: CRM 4.0中的Duplication Detection功能部分要依赖Async Service在后台异步执行, 本质上不完全是实时执行的。下面是个大致的原理: 步骤1. 当你从CRM界面的Rule Editor上(Settings –> Data Management –> Duplicate Detection Rules)编辑建立并发布一个rule以后,后台SQL数据库里发生如下动作: 1)    插入rule/conditions的定义到两张表DuplicateRuleBase, DuplicateRuleConditionBase; 2)    在AsyncOperationBase中插入一个循环的工作job (GenerateMatchCode Job),用来根据定义的Duplication Rule对相应的entity的每条记录定期扫描生成对应的matchcode (默认下扫描周期为每5分钟). 3)   生成用来存储matchcode的SQL表格供步骤2使用,名字类似MatchCodeXXX. 该SQL表格也会被DuplicateRuleBase表格引用。 步骤2:GenerateMatchCode Job开始在后台循环运行,默认下每5分钟运转一次. 该Job的主要目的是扫描对应的实体记录,生成MatchCode放到MatchCodeXXXXX表格中供后续的数据重复检测用:   步骤3: 用户在数据录入时候要求检测数据重复性。这个是通过DuplicatePlugin来做的,你可以通过下面的界面来决定是否在数据录入时候挂接该Plugin:   DuplicatePlugin依赖查询比较MatchCode表来判断是否有数据重复,使用类似如下的查询语句: SELECT M.ObjectId FROM dbo.MatchCode328d3b54e64541dbb2946f5895e3aa76 As M WHERE M.MatchCode = test@microsoft.com ‘ AND M.MatchCode IS NOT NULL….