可使用 BCS 创建的解决方案的类型

上次修改时间: 2015年3月9日

适用范围: SharePoint Server 2010

本文内容
简单解决方案
中间声明性解决方案
基于代码的高级解决方案

可使用 Microsoft Business Connectivity Services (BCS) 构建各种解决方案,其范围从依赖于具有少量自定义或不具有自定义的本机功能的简单解决方案,到涉及 SharePoint 2010 和 Office 2010 中的自定义功能的中间解决方案,再到支持扩展 SharePoint 2010 和 Office 2010 提供的功能的复杂方案和丰富应用程序的高级解决方案。请注意,高级解决方案涉及通过 Visual Studio 编写代码,它可以是完整的端到端解决方案或可包含在中间解决方案中的基于代码的可重用组件。

通过提供此开发方法,Business Connectivity Services 使业务用户能够使用浏览器和 Office 客户端快速而轻松地满足各种外部数据需求。这些用户可使用 Business Connectivity Services 功能(例如,外部列表和外部数据列)和可重用的 Business Connectivity Services 组件(这些组件包含在 Office 客户端应用程序和 SharePoint 网站中,它们由开发人员创建并由 IT 专业人员批准)来构建复合解决方案,而无需编写代码。利用这些解决方案,业务用户(及其团队)可像使用 SharePoint 数据一样轻松使用外部数据,不管是在脱机或连接状态下使用,还是直接在 Microsoft Office 丰富体验下使用都是如此。

IT 专业人员可管理这些无代码用户解决方案,并定义对服务器体系结构上的资源消耗的资源限制控制,以便 SharePoint 可确保解决方案不超过预定义限制。这将使 IT 专业人员能够保持操作洞察力并维护稳定平台。

开发人员有更多的机会创建可重用的 Business Connectivity Services 组件,并专注于创建丰富而复杂的端到端解决方案。

解决方案类型

说明

示例

是否需要代码

创建解决方案的角色

简单解决方案

利用 Business Connectivity Services、SharePoint 2010 和 Office 2010 应用程序的本机功能。

信息工作者通过使用 SharePoint 和 Office 的本机功能(例如,外部列表和 SharePoint 列表中的外部数据)来构建简单解决方案。

不需要。但是,可使用由具有经验的或"高级"用户和开发人员创建的可重用的 Business Connectivity Services 组件。

信息工作者

中间声明性解决方案

使用由 SharePoint 和 Office 应用程序提供的无代码工具以及 Business Connectivity Services、SharePoint 2010 和 Office 2010 的丰富的自定义功能来创建功能更加强大且自定义级别更高的解决方案。

通过使用 SharePoint 和 Office 的本机功能并利用开发人员已创建的可重用的 Business Connectivity Services 组件,来构建和自定义复合解决方案。

在不编写代码的情况下创建 Microsoft Outlook 解决方案。

不需要。但是,可使用由高级用户和开发人员创建的可重用的 Business Connectivity Services 组件。

高级用户和开发人员

基于代码的高级解决方案

使用 Microsoft Visual Studio 2010 创建基于代码的各种解决方案。这些解决方案还使用由 Visual Studio 2010 提供的丰富的项目模板来创建 Office 应用程序加载项和 BDC 模型。

创建可用于构建简单和中间复合解决方案的可重用组件(例如,外部内容类型、外部数据部件、Web 部件、工作流活动、代码操作和自定义字段类型)。

使用 Office、SharePoint 和 Business Connectivity Services 对象模型创建端到端解决方案。

需要。

开发人员

由于以下两个原因,无需编写代码即可创建的解决方案非常重要:

  • 大大增加可构建这些类型的解决方案的用户数,使开发人员和 IT 组织能够腾出资源来解决其他问题。

  • 中央 IT 维持对这些解决方案的用途的控制,这将减少管理问题,并能够更轻松地将解决方案"转换"为支持中央 IT 的应用程序,稍后可将这些应用程序提供给大型受众。此轻松转换通过使用一组标准功能和工具来创建和自定义解决方案实现。

高级类别是一类完全基于代码的类别,它将 Visual Studio 用作环境来构建并发布可重用的组件或整个端到端应用程序。

以下是可使用 Business Connectivity Services 构建的解决方案的类型的表示形式。以下各节中提供了有关每类解决方案的详细信息:

BCS 解决方案的类型

  • 简单解决方案

  • 中间声明性解决方案

  • 基于代码的高级解决方案

简单解决方案

在 SharePoint 2010 中,可通过业务数据 Web 部件或图表 Web 部件来显示外部列表中或 Web 部件页上的外部数据。通过使用 SharePoint 用户界面来显示数据的筛选视图和自定义视图,可轻松自定义这些外部列表和 Web 部件页。

还可向标准 SharePoint 列表或文档库添加外部数据列。然后,可将该列作为 Microsoft Word 中的文档部件(也称作内容控件)公开。

如果您有具有企业版客户端访问许可证的 Microsoft SharePoint Server 2010,则可在 Outlook 2010 中脱机使用外部列表,并允许用户与 Outlook 中的外部数据交互。用户会看到与常规 Outlook 项目相同的格式(联系人、约会、任务或公告),并像与常规 Outlook 项目进行交互一样与这些格式交互。用户还可为包含 Outlook 中的外部数据的文件夹创建自定义视图以按不同的方式查看数据。此类解决方案在本机 Business Connectivity ServicesOutlook 加载项下运行,该加载项与 Office 2010 一起安装并在启动 Outlook 时加载。

如果您有具有企业版客户端访问许可证的 Microsoft SharePoint Server 2010,也可在 Microsoft SharePoint Workspace 2010 中脱机使用外部列表,并允许用户与 SharePoint Workspace 中的外部数据进行交互。Business Connectivity Services 不提供可扩展的编程模型来扩展此类简单解决方案。但是,您可将 Microsoft InfoPath 表单与该外部列表关联,然后可自定义该表单并在服务器和 SharePoint Workspace 中的客户端上同时呈现它。

在 Outlook 和 SharePoint Workspace 中,用户可选择以自动方式(默认情况下是每三个小时一次)或通过显式单击某个操作,直接将数据与外部系统同步。用户还可检查外部列表的更新;例如,针对外部列表的结构、其表单或其视图的更新。用户还可创建配置文件页,当用户在 SharePoint 网站中搜索外部数据时,搜索结果中将显示这些页。

工具支持

在高级用户或开发人员创建外部内容类型,然后 IT 专业人员将这些类型添加到目录后,业务用户可使用浏览器或 SharePoint Designer 创建外部列表。这些用户单击服务器功能区中的按钮,以将该列表连接到 Outlook 或 SharePoint Workspace。可使用浏览器或 SharePoint Designer 创建 Web 部件页和外部数据列。

摘要

通过使用 Business Connectivity Services,无需编写代码即可创建简单解决方案。以下是一些示例:

中间声明性解决方案

有两类中间声明性解决方案;增强型简单解决方案和声明性 Outlook 解决方案。

增强型简单解决方案

中间解决方案的最常见类型是自定义为通过使用工具(如 SharePoint Designer、InfoPath 表单设计器和浏览器)在不编写代码的情况下添加功能的简单解决方案。其他功能包括 InfoPath 表单、SharePoint 工作流和 SharePoint Web 部件页。

InfoPath 表单

可通过更改外观、添加声明性规则或业务逻辑或添加代码隐藏来自定义显示外部数据的 InfoPath 表单。后一种情况要求将该表单作为管理员部署的表单发布到服务器。有关这些功能的详细信息,以及有关使用这些功能的演练和示例,请参阅 MSDN 上的 InfoPath 2010 文档。

SharePoint 工作流

还可按以下方式通过 SharePoint Designer 创建功能或将功能添加到 SharePoint 工作流:

  • 通过配置 SharePoint 列表活动以在外部列表读取或写入数据。

  • 通过重用 Visual Studio 中构建的(并发布到 SharePoint 的)自定义工作流活动,它将与外部列表或 Business Data Connectivity (BDC) Service 运行时对象模型进行交互。

Web 部件页和配置文件页

可创建使用本机 Web 部件(外部数据项、列表、相关列表、操作、项生成器、筛选器以及图表 Web 部件)的 Web 部件页,并(可选)配置部件到部件的连接以在它们之间发送数据。通过在 Web 部件工具窗格中编辑每个部件的 XSLT,可自定义这些部件的外观。还可以按照自定义任何 Web 部件页的方式来自定义配置文件页。

Outlook 表单

通过更改外观,可以自定义 Outlook 表单和显示外部数据的表单区域。有关表单自定义、演练和示例的详细信息,请参阅 MSDN 上的 Outlook 2010 文档。

Word 文档模板

可创建一个使用 SharePoint 列表或文档库中的外部数据列的 Word 文档模板,然后上载此模板以使列表或库用户能够轻松创作文档。

声明性 Outlook 解决方案

另一个类型的中间自定义设置涉及 Outlook 2010 中的外部数据。常见的情况是,当用户打开业务联系人检查器时,将会在自定义任务窗格中显示相关订单信息。

从基本 Outlook 元素开始,可以自定义外部数据文件夹的视图。通过在 Outlook 中打开该文件夹并使用标准命令以生成并保存新视图,可完成此操作。Business Connectivity Services 将提供一个命令,以将该自定义视图保存到 SharePoint,并将其放置在外部列表的子文件夹中,以供将该列表连接到 Outlook 的将来用户使用。

某些 Outlook 自定义项比其他中间自定义项稍微复杂一些,并需要创建 XML 文件(例如,BDC 模型、解决方案清单 (Oir.config)、订阅、功能区和布局文件),然后通过使用 MSDN 代码库中可用的 BCS 解决方案打包工具(该链接可能指向英文页面)来创建 ClickOnce 包。然后,用户可通过安装 ClickOnce 包在 Outlook 中部署该解决方案。在此类解决方案中,可通过任务窗格中承载的外部数据部件(SharePoint 或基于代码的自定义部件附带的外部数据部件),来定义自定义任务窗格并将外部数据呈现给用户。还可以定义功能区文件和自定义操作(在功能区或外部数据部件中公开的),这些操作可触发代码或启动指向 URL 的浏览器。最后,可通过打开由 Business Connectivity Services 提供的自动生成表单,编辑这些表单,然后保存或导出文件来自定义 Outlook 表单。这些自定义项使用 Business Connectivity Services 丰富客户端运行时(包括 Business Connectivity ServicesOutlook 加载项),这将在运行时显示 XML 文件中定义的元素。

工具支持

可使用多种工具来构建中间解决方案。这些工具包括 InfoPath Designer(用于表单)、SharePoint Designer(用于工作流)、浏览器(用于 SharePoint Web 部件页)以及 Outlook(用于自定义表单和视图)。

若要为 Outlook 声明性解决方案创建所需的 XML文件,可以使用任何 XML 编辑器。Visual Studio 会提供 IntelliSense 功能,此功能在创建这些 XML 文件时很有用。已将入门示例作为此 SDK 的一部分提供。可使用 MSDN 代码库上的 BCS 解决方案打包工具(该链接可能指向英文页面)轻松创建 Outlook 声明性解决方案的 ClickOnce 包。

摘要

通过增强简单解决方案即可创建中间解决方案,而无需编写代码。以下是一些示例:

在声明性 Outlook 解决方案中,可包含以下功能和自定义项:

基于代码的高级解决方案

基于代码的高级解决方案可涉及创建可重用的 Business Connectivity Services 组件,例如:

基于代码的高级解决方案还会涉及创建使用公共 Business Connectivity Services 对象模型的完整端到端解决方案。

在工具(例如,Visual Studio)中创建的基于代码的端到端 .NET Framework 解决方案可使用公共 BCS 对象模型的任何元素,并可允许用户与外部数据进行交互。可使用 BDC 对象模型在 SharePoint、Office 2010 应用程序(例如,Microsoft Excel)或自定义应用程序中呈现数据,以将该解决方案注册到 BDC 服务。此对象模型与 Microsoft SharePoint Foundation 2010、SharePoint Server 2010 或 Office 2010 一起安装。可以在连接时直接从外部系统检索外部数据,也可以在外部数据可用时(通常情况下,通过在 SharePoint Workspace 或 Outlook 中脱机使用外部列表,或使用仅数据解决方案来达到此目的)从 BCS 丰富客户端缓存检索外部数据。可使用此类解决方案将 Business Connectivity Services 扩展到未为其提供内置支持的 Office 应用程序(例如,Excel 或 PowerPoint)。

在基于代码的端到端解决方案中,开发人员将控制所有用户界面、打包和部署。此类解决方案无法使用 BCS 客户端运行时,该运行时仅供简单解决方案和中间解决方案用来将数据集成到 Office 应用程序中。

工具支持

基于代码的解决方案是在工具(例如,Visual Studio 2010)中开发的。可利用 BDC 项目类型来加快创建 .NET 连接程序集。特定于应用程序的 Office 加载项项目模板可用于快速创建 Office 加载项。

请参阅

概念

Business Connectivity Services:示例 XML 和代码示例

Business Connectivity Services:操作方法和演练