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. 速效性: 大批量"推"(Push)数据时候性能 --单位时间内倒入记录数.这个在部署上线前要倒入百万条记录时候尤显重要。 2. 实时性: 比如库存管理方面的信息通常存在ERP系统中, 销售人员使用CRM作订单时候要用到库存信息,比如某个产品现在还有多少库存。 另外价格体系也通常在ERP系统里维护的。 3. 经济性- 维护成本 1. 使用CRM 4.0 数据迁移管理器(Data Migration Manager)     优点: 4.0 自带不需要额外开发,可以处理特殊数据类型比如Picklist, Lookup。适用于首次上线前批量数据倒入。     缺点: 不能用来更新已有的数据记录,比如你要批量更新1000个已有客户的电话区号使用DMM无法做到     资料:   演示参看 John O'Donnell 演示使用DMM,使用技巧和性能优化参看Data Migration Manager Tips and Tricks 2. 使用CRM 4.0 Web页面的批量倒入(Bulk Import)工具     优点: 4.0 自带不需要额外开发,适用于上线后小批量数据倒入。可以更新已有的数据记录。     缺点: Bulk Import可以看作DMM的一个轻量级版本,所以功能有限。无法处理特殊类型的数据比如lookup, Picklist等,出现错误时候返回的错误信息对一般的使用用户来说比较难以理解等等;一次只能更新同种类型的记录;倒入自定义类型实体有限等缺点。     资料:   演示参看 批量更新已有数据记录The Power of Bulk Import使用技巧和常见问题参看3.0批量倒入常见问题 3. 使用CRM SDK写自己的管理器 优点: 最大的灵活性 缺点: 维护成本高,需要有开发经验。 资料: 方案1. 开发.NET程序调用CRM SDK 4.0批量更新数据3.0批量倒入数据 这两个例子都有源代码供你参考。里面提到了编程需要注意的问题和性能上的提高。用户可以根据需要把程序发布成Windows Service或者普通程序按需运行。 方案2. 借助SQL Server的数据集成服务SSIS包调用CRM SDK 这个是个不错的选项,可以充分发挥SSIS在整合不同数据源的威力! 微软的MVP Darren Liu提供了两个很好的演示案例,大家可重点关注SQL2005那篇文章评论段很多客户实际实施的反馈意见. 演示案例: SQL2005: Integrating CRM using SQL Integration Services SQL2008: Data Integration/Migration using SQL Integration Services 4. CRM提供了一些Accelarators/Add-ons 主要是针对Great Plains CRM Connector for Microsoft Dynamics GP, BizTalk Microsoft BizTalk Server 2006 Adapter for CRM 和Siebel Siebel Accelerator 5. 使用CRM SDK开发Plugin 这个最适用于那些需要从第三方系统实时”拉”数据比如价格/产品库存等给CRM系统使用的情况。Plugin要注册为同步执行(Synchronous). 演示参看Plug-ins, Part 1: The Big PicturePlug-ins, Part 2: Development and Deployment 例子参看 Plugin development and samples for Microsoft Dynamics CRM 4.0 VS.NET有个模板(template) Microsoft Dynamics CRM Plug-in Template for Visual Studio
pull (“拉”) 从CRM系统”拉”数据给第三方系统 1. 数据的安全性   CRM系统根据用户安全角色决定把哪些数据开放出来。实现时候只能访问Filter Views,否则可能会有数据开放给不适合的用户 2. 对CRM服务器性能的影响   不建议实时查询CRM数据库,对于实时性要求不高或者趋势类查询,推荐上BI项目解决方案。 3. 经济性- 维护成本 1. CRM提供了一些Accelarators/Add-ons 原理上说这些都是调用CRM的webservice来实现的。     SharePoint: 参看 CRM和SharePoint的集成    2. 和Office系统集成比如Excel使用Export To Excel功能,但只限于读数据,不能更新数据。如需更新数据请参看合作伙伴EBAX for Microsoft CRM 3. 直接写程序调用CRM的SDK web service

 

下一次介绍数据集成方案中为什么不能直接使用SQL的查询更新语句( SELECT/UPDATE/INSERT/DELETE)修改CRM数据库。

 

thanks

Clifford  (张立岩)