BDC 基本功能

上次修改时间: 2010年4月15日

适用范围: SharePoint Server 2010

本文内容
与各种外部系统的连接
可扩展提供程序模型
写回外部系统
无需编写代码即可连接外部系统
批量操作支持
对称的服务器和客户端运行时
构造型操作
直接访问本机类型
读取 Blob
读取和写回复杂类型
安全服务
丰富的 API 集和可扩展性

Microsoft Business Connectivity Services (BCS) 中的 Business Data Connectivity (BDC) Service 是 Microsoft SharePoint Foundation 2010 平台的基础框架,Business Connectivity Services 是在此框架之上构建的。BDC 简化了 SharePoint 应用程序和 Office 应用程序与外部系统的声明性集成,因此使您能够在 SharePoint Server 和具有读/写功能的丰富客户端 Microsoft Office 应用程序中显示外部数据。Business Connectivity Services 的大多数其他功能都是围绕 BDC 构建的。

BDC 部署为 SharePoint 场中的共享服务。BDC 运行时在客户端和服务器上存在。

BDC 提供下列功能。

与各种外部系统的连接

BDC 的核心功能是为以下类型的外部系统提供连接支持:

  • 数据库

  • Web/WCF 服务

  • .NET 连接程序集

  • 通过下述可扩展提供程序模型的自定义数据源。

可扩展提供程序模型

除了由 BDC 提供的前一数据源列表的连接器外,BDC 还提供可插入框架,开发人员通过该框架可以插入新外部系统类型的连接器。这样便可通过 BDC 访问那些新数据源类型。

写回外部系统

BDC 目前提供到外部系统的写回功能。

无需编写代码即可连接外部系统

BDC 的主要设计目标之一是使您能够以声明方式显示各种外部系统中的业务数据,并将代码编写工作量降到最低。为实现此目标,BDC 通过元数据模型(提供一致且简化的客户端对象模型)提供对基础数据源的同类访问。

使用 SharePoint Designer 或 Visual Studio,开发人员可以通过声明方式描述外部系统并告知 SharePoint Server 他(或她)需要何种数据。只要 BDC 本身支持数据源类型,开发人员不必编写代码即可开发后端系统(如 ERP)的接口。

批量操作支持

在 Office SharePoint Server 2007 中,BDC 只支持单项目操作,如搜索。BDC 现在可提供批量操作支持,这使您能够通过一次调用读取多个项目,从而大大减少到后端的往返次数。

对称的服务器和客户端运行时

在 2007 Microsoft Office system 中,仅 Microsoft Office SharePoint Server 2007 Enterprise CAL 提供 BDC。在 Microsoft Office 2010 和 SharePoint 2010 中,包括有 BDC 以提供对称的客户端服务器方案。客户端存在的主要原因是在 Office 客户端应用程序(例如 Microsoft Outlook 2010、Microsoft SharePoint Workspace 2010 和 Microsoft SharePoint Workspace 2010)上启用外部数据集成方案。在客户端计算机上,Microsoft SQL Server Compact Edition 数据库用于缓存外部数据以在无网络连接时提供一致的脱机体验。BDC 支持两种从客户端到外部系统的数据路径:

  • 客户端到外部系统,直接连接(称为联机连接模式)

  • BDC 客户端从本地缓存提取数据(称为缓存连接模式)

构造型操作

BDC 运行时对象模型提供编程接口,该接口可以统一化针对多变后端系统的编程体验。通过以编程方式将方法调用转换为构造型、规范化的操作可实现此目的,应用程序在进行特定于后端业务应用程序的调用时会请求这些操作。BDC 将业务线 (LOB) 系统接口定义转换为针对实体的规范化、构造型操作,例如"Create-An-Entity-Instance"、"Read-Entity-Instances"和"Check-Entity-Instance-Permissions"。假设基础后端系统公开创建、读取、更新、删除、查询 (CRUDQ) 接口并相应地在 BDC 中进行建模,则运行时对象模型提供执行这些操作的功能,而无需有关基础系统的详细信息。有关详细信息,请参阅 BDC 支持的构造型操作

直接访问本机类型

除了构造型操作的上一列表外,BDC 还能够通过 GenericInvoker 方法实例类型直接访问外部系统中的本机基础类型。

读取 Blob

BDC 现在支持读取 Blob 数据类型。这对于从外部系统流式传输 Blob 数据非常有用。

读取和写回复杂类型

BDC 现在支持在字段名称中使用点标记,因此允许您读取和写入复杂类型。

安全服务

BDC 包括一组用于身份验证和授权的安全服务,这些服务为以声明方式建模如何连接和对系统进行身份验证提供了极大的灵活性。它还提供一个集中位置,从中可以管理用户以及他们可对这些外部系统执行的操作。有关详细信息,请参阅 Business Connectivity Services 安全性概述 (SharePoint Server 2010)Business Connectivity Services 安全性概述 (SharePoint Foundation 2010)

丰富的 API 集和可扩展性

开发人员可以使用 BDC 运行时对象模型,通过将构造型 API 用作构建基块来编写泛型应用程序。然后,即可确保此类泛型应用程序可用于任何外部系统,包括那些之前已经存在和尚未构建的外部系统。

开发人员还可以编写对抽象实体模型作出假设(这些应用程序公开的字段以及字段类型)的特定应用程序。

此外,通过 .NET 程序集连接器、自定义连接器和可插入的安全存储提供程序,它还为软件开发人员提供了丰富的扩展机制。