SharePoint Foundation 2010 中的 Business Connectivity Services

在 Microsoft SharePoint Foundation 2010 中,Microsoft Business Connectivity Services (BCS) 旨在用于从 SharePoint 中实现与外部系统的轻松交互。

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

适用范围: SharePoint Server 2010

本文内容
Business Data Connectivity (BDC) Service
BDC 连接器和连接器框架
外部列表
外部数据列

在 SharePoint Online 中提供

SharePoint Foundation 2010 中的 Business Connectivity Services 由下列功能组成:

  • Business Data Connectivity (BDC) Service

  • BDC 连接器及可插入连接器框架

  • 外部列表

  • 外部数据列

Business Data Connectivity (BDC) Service

Business Data Connectivity (BDC) Service 是在 Microsoft Office SharePoint Server 2007 中提供的新版本的业务数据目录。BDC(现在由 Microsoft SharePoint Foundation 2010 提供)作为共享服务来实现,并且仍依赖于元数据存储。利用 BDC 服务可以声明方式对外部系统建模,以便可以在 SharePoint Server 2010(对于 具有企业版客户端访问许可证的 Microsoft SharePoint Server 2010,也可以在 Microsoft Office 2010 应用程序中)公开外部数据。BDC 填补了 SharePoint 网站与业务应用程序之间的空白,使您可以将各种外部系统的关键数据引入到 SharePoint 列表(通过新的外部列表功能和外部数据列)、Web 部件、搜索、用户配置文件和自定义应用程序。

BDC 的核心功能是提供与各种外部系统的连接,它具有对连接至以下几种数据源的内置支持:

  • 数据库。

  • Windows Communication Foundation (WCF) 和 Web 服务。

  • Microsoft .NET Framework 程序集。

  • 自定义数据源。BDC 提供可插入连接器框架,开发人员可使用它插入用于新的外部系统类型的连接器,从而能够通过 BDC 访问这些新的数据源类型。

    下图显示了 BDC 的高级图。

    图 1. BDC 的概要视图

    BDC 的高级视图

BDC 旨在使您能够以声明方式从各种外部系统公开业务数据,并且几乎不需要进行编码。为了实现此目标,BDC 采用元数据模型,它可提供统一和简化的客户端对象模型,从而使用户可以对基础数据源进行同类访问。

BDC 连接器和连接器框架

Business Data Connectivity (BDC) Service 并不在外部系统上实际执行方法。它只是将客户端调用委派到数据库的相应 ADO.NET 提供程序、Web 服务和 WCF 端点的 WCF 适配器,以及 .NET Framework 程序集的 Microsoft .NET Framework DLL。为了与这些复杂组件通信,它为每个数据源类型提供其所支持的连接器。Business Connectivity Services 包含以下连接器:

  • ADO.NET 连接器,用于连接到数据库

  • WCF 连接器,用于连接到 Web 服务和 WCF 端点

  • .NET 程序集连接器,用于连接到 .NET Framework 连接程序集

另外,BDC 提供可插入连接器框架,开发人员可使用它插入用于新的外部系统类型的连接器,从而能够通过 BDC 访问这些新的数据源类型。

外部列表

外部列表是 Microsoft SharePoint Foundation 2010 中的一项新功能,它允许以访问 SharePoint 列表数据的相同方式访问外部系统中的数据。外部列表使用外部内容类型作为其数据源。借助外部列表,可以使用已定义的有关业务实体的元数据创建 SharePoint 列表,其中带有与任何其他 SharePoint 列表的外观和执行方式相同的外部数据。

图 2 显示用于罗斯文示例数据库中客户的外部列表。

图 2. 用于客户的外部列表

用于客户的外部列表

如果您拥有 具有企业版客户端访问许可证的 Microsoft SharePoint Server 2010,您也可以将外部列表与 Microsoft Outlook 2010 和 Microsoft SharePoint Workspace 2010 断开。这样您可以使用外部数据,就像您使用 Outlook 中的本机 Outlook 项目类型(如联系人、任务和公告)及 SharePoint Workspace 中的列表一样。它还在 Office 客户端应用程序中对外部数据实现了联机和脱机方案。

外部列表允许写回数据源(如果数据源允许这样做,并且在 BDC 中进行相应建模)。这表明用户可从 SharePoint 中直接编辑外部数据。会将对列表中项所做的任何更改与外部系统自动同步。而且,使用列表中的"刷新数据"按钮,可以自动从外部系统同步和获取更新的数据。

请注意,与其数据存储在 SharePoint 内容数据库中的 SharePoint 列表不同,外部列表中的数据只存储在外部系统中。在使用 BDC 导航到 SharePoint 列表时,外部数据将在运行时导入 SharePoint 列表。

备注

外部列表的架构依赖于模型,无法通过在 SharePoint 中添加新列进行扩展。而且在此版本中,外部列表并不提供典型 SharePoint 列表所提供的全部功能,例如工作流、内容类型、版本控制、签入和签出。

外部数据列

Microsoft Office SharePoint Server 2007 所提供的外部数据列表栏类型现在可供 Microsoft SharePoint Foundation 2010 中的所有 SharePoint 列表使用(外部列表除外)。业务数据列表栏类型现在重命名为外部数据列,用户利用它可以将数据从外部内容类型添加到标准 SharePoint 列表。与外部列表一样,外部数据列可以显示在 BDC 中建模的任何外部内容类型的数据。图 3 显示用客户外部内容类型中的外部数据列进行扩展的 SharePoint 列表。

图 3. 带有外部数据列的 SharePoint 列表

带有外部数据列的 SharePoint 列表

以下是使用外部数据列的三种方案:

  • **标记列表中的文档。**例如,可以在竞标 (RFP) 文档库中添加外部数据列,用发出竞标的客户来标记文档。这样,用户便可以查看客户的详细信息,并从文档库执行相关操作。

  • **注释(或扩展)外部系统中的数据,而无需更改外部系统。**例如,您可以在列表中添加一列来跟踪团队成员所引荐雇员的人数,即使外部系统并不跟踪该数据也是如此。

  • **从规范的值列表中选取值。**例如,您可以在列表中创建一个外部数据列,用户可通过该列选择城市的邮政编码,而无需手动进行输入。

备注

如果您拥有 具有企业版客户端访问许可证的 Microsoft SharePoint Server 2010,则可以在 Microsoft Word 中使用外部项内容控件在 Word 中显示外部数据列。这样您可以在 Word 文档中执行以上三种方案。

将外部数据列添加到列表中时,您可以选择从外部系统检索任意数量的字段并将其显示在列表中。例如,如果添加"产品"(外部内容类型)类型的列,可以在列表中显示其他列(如来自同一外部系统的 ID、名称、库存量和价格)。

包含外部数据列的列表支持标准 SharePoint 列表的所有其他功能,例如工作流、版本控制、签入和签出。此外,通过使用列表中的"刷新数据"按钮,您可以自动同步并从外部系统中获取更新后的数据。