SharePoint Foundation 中的 Business Connectivity Services 功能

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

适用范围: SharePoint Foundation 2010

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

在 Microsoft SharePoint Foundation 2010 中,可通过 Microsoft Business Connectivity Services (BCS) 轻松从 SharePoint 2010 中与外部系统进行交互。SharePoint Foundation 2010 中的 Business Connectivity Services 包括以下功能:

  • Business Data Connectivity (BDC) Service

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

  • 外部列表

  • 外部数据列

Business Data Connectivity (BDC) Service

BDC 是以前在 Microsoft Office SharePoint Server 2007 中提供的新版本的业务数据目录。现在,在 SharePoint Foundation 2010 中仍提供该服务。BDC 是作为 SharePoint Foundation 2010 中的共享服务实现的,并且仍然依赖元数据存储。通过 BDC 服务,您能够以声明的方式对外部系统建模,以便能够在 SharePoint Server 2010 中(以及通过 Business Connectivity Services 富客户端组件,在 Microsoft Office 2010 应用程序中)公开外部数据。BDC 可桥接 SharePoint 网站和业务应用程序之间的间隙,使您能够将各种外部系统中的关键数据导入 SharePoint 列表(通过新外部列表功能和 外部数据列)、Web 部件、搜索、用户配置文件和自定义应用程序。

BDC 的核心功能是向各种类型的外部系统提供连接,它可为连接到以下类型的数据源提供内置支持:

  • 数据库

  • Windows Communication Foundation (WCF) 和 Web 服务

  • Microsoft .NET Framework 程序集

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

    图 1 是 BDC 的概要图。

    图 1. BDC 的概要视图

    BDC 的高级视图

BDC 的主要设计目标是使您能够以声明的方式通过极少量编码公开各种外部系统中的业务数据。为实现此目标,BDC 提供了通过元数据模型对基础数据源进行同类访问的功能,该元数据模型可提供一致且简化的客户端对象模型。

BDC 连接器和连接器框架

BDC 不对外部系统或后端管道执行实际方法。它只将客户端调用委派给数据库的相应 ADO.NET 提供程序、Web 服务和 WCF 端点的 WCF 适配器以及 .NET Framework 程序集的 .NET Framework DLL。为与这些复杂组件进行通信,它为它所支持的每种数据源类型提供了连接器。Business Connectivity Services 包括以下连接器:

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

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

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

此外,BDC 还提供可插入连接器框架,开发人员可使用它插入适用于新外部系统类型的连接器,以便通过 BDC 访问这些新数据源类型。

外部列表

外部列表是 SharePoint Foundation 2010 中的一项新功能,它允许用户采用访问 SharePoint 列表数据的方式来访问外部系统中的数据。外部列表将外部内容类型用作其数据源。通过外部列表,您可以使用有关外部内容类型的已定义元数据来创建包含外部数据的 SharePoint 列表,该列表的外观和执行方式与任何其他 SharePoint 列表一样。

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

图 2. 客户的外部列表

用于客户的外部列表

如果您有 BCS 富客户端组件,则还可使外部列表从 Microsoft Outlook 2010 和 Microsoft SharePoint Workspace 2010 脱机。这样,您便可像使用 Outlook 中的本机 Outlook 项目类型(如"联系人"、"任务"和"文章")和 SharePoint Workspace 中的列表一样使用外部数据。并且,可在联机和脱机的情况下使用 Office 客户端应用程序中的外部数据。

外部列表支持写回数据源(如果数据源允许,并且可在 BDC 中相应地对其建模)。这表明用户可直接从 Microsoft SharePoint Foundation 2010 编辑外部数据。对列表项所进行的任何更改都会自动与外部系统同步。此外,通过使用列表中的"刷新数据"按钮,您还可以自动从外部系统同步和获取更新的数据。

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

备注

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

外部数据列

Office SharePoint Server 2007 提供现在可用于 SharePoint Foundation 2010 中所有 SharePoint 列表(外部列表除外)的外部数据列表栏类型。业务数据列表栏类型现在重命名为外部数据列,它使用户能够将外部内容类型中的数据添加到标准 SharePoint 列表中。与外部列表一样,外部数据列可显示在 BDC 中建模的任意外部内容类型中的数据。图 3 显示一个已扩展的 SharePoint 列表,该列表包含"客户"外部内容类型中的外部数据列。

图 3. 包含外部数据列的 SharePoint 列表

带有外部数据列的 SharePoint 列表

下面是使用外部数据列的三种情形:

  • 标记列表中的文档   例如,在"招标书"(RFP) 文档库中,可添加外部数据列以便为招标文档添加进行招标的客户的相关标记。这样,用户便可查看客户的详细信息,并从文档库执行与其相关的操作。

  • 标注(或扩展)外部系统中的数据,而不更改外部系统   例如,可在列表中添加一列,以跟踪团队中员工的雇用数,即使外部系统不跟踪该数据也是如此。

  • 从标准值列表中选择值   例如,可在列表中使用外部数据列,以便用户能够选择城市的邮政编码,而不是手动输入邮政编码。

如果具有 Business Connectivity Services 富客户端组件,则可使用 Microsoft Word 中的外部项内容控件在 Word 中显示外部数据列。这样,您便可在 Word 文档中执行以上三项操作。

在将外部数据列添加到列表中时,可选择要从外部系统检索的任意数目的字段,并将其显示在列表中。例如,在添加类型为"产品"(外部内容类型)的列时,可在列表中显示多个字段(如 ID、名称、QtyInStock 和价格)。

外部数据列可提供 SharePoint Foundation 2010 列表的所有其他功能,如工作流、版本控制、签入和签出。此外,通过使用列表中的"刷新数据"按钮,可自动从外部系统同步和获取更新的数据。