BizTalk Server 2006 适配器 for MS CRM 3.0






4.43/5 (3投票s)
本文档介绍了如何使用和利用 MS CRM 适配器来集成 CRM 系统与 BizTalk。
概述
BizTalk 使用适配器与外部世界进行通信,这有助于加快 IT 基础设施的实施过程。适配器执行远程系统所需的任何通信语义或协议。适配器不执行任何转换或翻译,它们只是将数据传入 BizTalk 系统。Microsoft 开发了 Dynamics CRM 系统,以满足有效的 CRM 系统的需求。CRM 系统的主要功能是关注客户和前台,为他们提供增值服务。它有助于他们最大化投资回报率,提高客户满意度,确保更高的收入,从而带来健康的利润。随着 CRM 变得越来越重要,它必须涵盖企业内更多的功能领域。这带来了高集成需求,这意味着 CRM 必须与更多系统集成。Microsoft BizTalk CRM 适配器满足了这一需求。我们将讨论 Dynamics CRM 提供的集成解决方案,使用 Microsoft BizTalk Server CRM 适配器将其与其他业务应用程序集成。我们将带您了解 Microsoft BizTalk Dynamics CRM 适配器的所有方面,从集成需求、CRM 基础知识、适配器安装和配置,到 CRM 开发 SDK 以及一些开箱即用的功能。
Dynamics CRM 的集成解决方案
Microsoft Dynamics,例如 Great Plains,满足了应收账款、库存和财务及其他功能管理的需求。Dynamics CRM 用于管理与客户的关系、交叉销售和追加销售。因此,需要 Dynamics CRM 和 ERP 系统(如 Dynamics Great Plains)之间的集成,以满足实时信息可用性、数据一致性以及两个独立业务应用程序之间的业务流程协作的需求。以下集成解决方案将与 Dynamics CRM 一起提供。
Web 服务
Dynamics CRM 提供了 Web 服务框架,用于将数据传入和传出 BizTalk。您可以使用 Dynamics CRM 提供的丰富 SDK 来扩展它,从而进行服务器端和客户端编程,这有助于开发人员编写集成模块,将 Dynamics CRM 与网页集成。有关 Web 服务,请参阅以下链接:
- http://msdn2.microsoft.com/en-us/library/aa682250.aspx
- http://msdn2.microsoft.com/en-us/library/aa680673.aspx
实时集成框架
Microsoft 提供了 RTIF 框架,以便 Dynamics ERP 系统和 Dynamics CRM 能够相互通信。这会将 Microsoft Dynamics CRM 与其他 Microsoft Dynamics ERP(Dynamics GP、Dynamics Ax 和 Dynamics Nav)集成。有关产品详情,请参阅:
BizTalk Server 2006 适配器 for Dynamics CRM
使用 BizTalk Server 2006 适配器 for Dynamics CRM,您将能够集成任何类型的业务应用程序集成,但我们建议将其用于确保业务应用程序之间的业务流程协作。因此,使用它,您将能够将 SAP 等 ERP 系统与 Dynamics CRM 集成。如果您选择此集成解决方案来确保数据一致性,则编写自己的链接管理代码将需要更多的开发成本。如果您需要 Dynamics CRM 和非 Microsoft ERP 之间的 B2B 或 EAI 集成,则可以使用它。
CRM 系统基础知识
CRM 系统分为多个子系统,例如销售、营销和服务等。这些子系统中的每一个都维护一系列信息,例如“服务”子系统维护案例(客户升级)、客户、联系人和产品等。这些子系统之间存在关联/关系。这些实体中的每一个都遵循一个模式,其中包含其类型信息。因此,在处理 CRM 时,我们处理这些实体和属性。如果需要,还可以创建自定义实体。我们创建、更新或删除这些实体的实例。为了理解 CRM 实体、它们的模式、与其他实体的关系等,请转到 **“设置 >> 自定义 >> 自定义实体”**。您将看到 CRM 系统中可用的实体列表。列表显示名称、模式名称、类型和描述。您可以创建自己的新自定义实体或修改现有实体。双击现有条目将显示用于填充 CRM 系统中这些实体的属性、窗体/视图以及关系。当您检查实体的“属性”时,您将看到属性模式名称、显示名称、类型和描述。属性模式名称和类型是关键信息,因为 BizTalk CRM 适配器是基于 CRM 系统中的模式名称和类型信息生成模式的。
安装和配置 BizTalk CRM 适配器
以下是安装和使用指南的关键点:
- 安装简单且基于设置。为此,请下载 .msi 文件。
- 您还需要阅读随适配器提供的安装指南,其中讨论了 BizTalk 主机服务帐户与 CRM 系统帐户不同的场景。如果您的 Host 帐户没有 CRM 系统的访问权限,那么您需要创建一个新的主机,并使用具有适当 CRM 访问权限的帐户。在此之后,您需要在 BizTalk 下创建的 CRM 主机下创建一个发送处理程序,然后在新的处理程序下创建相关的端口。有关更多详细信息,请参阅安装指南。
- 安装指南还讨论了创建端口和为操作及实体生成模式。请务必查看一下。
- 建议安装 MS Dynamics CRM SDK 3.0,其中包含大量代码示例和信息。
如何使用 BizTalk CRM 适配器执行操作
如前所述,Dynamics CRM 适配器使用 Web 服务进行集成。此适配器是请求-响应适配器。您可以使用 BizTalk CRM 适配器执行基本操作,如查询数据、创建数据、更新数据、删除数据、执行操作、检索数据等,以及复杂操作,如选择列表、查找和自定义实体/属性。这些操作可以在“添加适配器向导”的 Microsoft Dynamics CRM 操作节点下找到。通常,您会发现 Web 服务 URL 为:
上面显示的图表显示了一个场景,其中使用 CRM 适配器为 BizTalk 生成了一个实体,并将 CRM 的响应保存在 XML 文件中。要与 CRM 集成,需要准备 URL、域、用户、代码以及(如果需要)代理等信息。
以下是关于对 CRM 系统执行的各种操作的讨论。
对 CRM 系统的查询是获取 XML 并返回结果。请确保 Web 服务 URL 设置为 http://<CRM-Server>/mscrmservices/2006 而不是 http://<CRM-Server>/MSCRMServices/2006/CrmService.asmx,因为我们需要为 Web 服务虚拟目录提供 URL。在通过“添加适配器元数据”选项中的“添加已生成项”生成模式时,当提示输入用户名和密码时,请确保用户名和密码具有足够的权限从 CRM 系统中获取实体及其模式信息。选择您需要处理的实体。对于查询,您需要将操作设置为“Execute Fetch”。在创建的多个模式中,您只需关注请求和响应。“ExecuteFetch_ExecuteFetchRequest.xsd”用于请求模式。对于响应模式,您需要使用位于 “C:\Program Files\BizTalkAdapter\Schemas\” 的 Response.xsd。在创建 XML 请求时,请相应地将 crm_action
属性值设置为“execute
”。**使用 CRM 适配器创建数据允许您在 CRM 系统中创建实体,如客户、联系人、案例、产品等。除了执行上述步骤外,您还需要检查,例如,选择列表和查找类型属性、必需字段以及实体之间的关系。**现在,在创建 XML 请求时,请将“crm_action
”属性设置为“create
”。关于设置“crm_action
”属性的一些说明。在执行创建操作时,提供“create
”作为“crm_action
”属性的值始终是安全且良好的做法。但是,如果未提供“crm_action
”值,它将使用以下逻辑来做出决定:
- 如果 XML 中不存在实体的 (在此情况下为
contactid
) 主键节点,或者该节点的值为空,则适配器假定这是一个“create
”操作。 - 如果实体的(在此情况下为
contactid
)主键节点具有有效的GUID
值,则适配器假定操作为“update
”。
使用删除操作,您可以删除某个实体的实例。始终建议在执行删除操作时检查依赖的活动并制定处理它们的逻辑。其余事项与查询部分讨论的类似。
“Update
”操作几乎与“Create
”操作相似。在使用生成的模式发布实体数据时,您需要知道该实体是否已存在于 CRM 中。您可以创建一个 .NET 程序集,该程序集通过 CRM Web 服务执行相同的查询。这样做的优点是可以将其通过 BizTalk Expression 形状或通过调用。一旦它已经存在,您就可以获取其 GUID 主键并将其设置在您将传递给适配器的消息的相应节点上。现在,您只需发送您希望更新的那些属性的值。
最后但同样重要的是与 PickList
和 Look Up 相关的操作。在 CRM 中,您将有两种类型的“查找”。
- 选择列表(Pick Lists):这是一个
string
值,带有在自定义过程中添加的整数主键。选择列表仅存在于特定实体类型中。“选择列表
”类似于选项/组合控件,用户可以从现有值集中选择一个值。例如,客户实体的“地址类型”字段是“选择列表
”类型,选项值为“账单地址”、“送货地址”、“主要”和“其他”。选择列表
类型字段可以在实体表单上显示为组合框或单选按钮。 - 查找(Lookups):它们是实体之间存在的外部键链接。它们包含一个 GUID 主键以及在实体设计过程中添加的任何自定义属性。“
查找
”字段用于链接两个实体。例如,当我们创建一个客户时,我们将客户实体实例链接到一个联系人实体实例,其中联系人是客户的主要联系人。在这种情况下,“查找
”类型字段用于链接客户和联系人实体。当您查看客户实体详细信息和屏幕时,您会发现“主要联系人”字段是“查找
”类型。
您需要创建一个标准的 .NET 程序集,该程序集将调用 CRM Web 服务并检索数据。然后,在 BizTalk 映射中使用脚本函数调用此程序集,并传入各种值以确定要评估哪个选择列表/查找类型。这样做的优点是可以从映射中执行这些“查找”解析,从而允许在单个转换形状中将完整源消息映射到 CRM 消息。根据您是解析选择列表还是查找,将决定您调用哪个 Web 服务以及返回什么结果。要查询(并缓存)选择列表,您需要调用 MetaDataService
Web 服务,而您调用 CrmService
Web 服务来解析查找。
摘要
BizTalk Server 中的 BizTalk MS CRM 3.0 适配器为使用 BizTalk Server 消息传递的不同系统带来了 MS CRM 通信的灵活性。CRM 适配器使得定义具有广泛操作的发送端口成为可能。CRM 适配器与 CRM Web 服务的结合使用,可以轻松地与您的其他应用程序集成。CRM 适配器提供了丰富的功能集,易于访问和配置的对话框。它们提供了关于消息、MS Dynamics CRM 实体、MS Dynamics CRM 实体和安全性、错误处理和日志记录的众多选项,为新的分布式集成场景打开了大门,使 BizTalk 更加便捷。CRM 适配器标志着 BizTalk Server 的一个重要里程碑,是在当今面向服务的格局中的成熟度。随着产品的不断发展,您可能会看到 MS CRM 系统与 BizTalk Server 产品之间更深入的集成。
历史
- 2009 年 2 月 5 日:初始发布