BDC 模型基础结构

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

适用范围: SharePoint Server 2010

本文内容
什么是元数据?
BDC 元数据模型
BDC 模型的基础知识
最佳做法

设计 Business Data Connectivity (BDC) Service 的主要目的是,使您能够通过执行最少的编码工作,从各种外部系统(例如,CRM、ERP 以及 Microsoft Office 2010 应用程序和 Microsoft SharePoint Server 2010 中的数据库)公开数据。为实现此目标,BDC 通过一个声明性 BDC 元数据模型(该模型提供了一致的简化客户端对象模型)来提供对基础数据源的同类访问。

在此模型中,有经验的用户或开发人员通过使用工具(例如 SharePoint Designer 或 Visual Studio)将有关外部系统的信息输入元数据目录中。然后,用户、业务分析师以及应用程序开发人员通过使用 Microsoft Business Connectivity Services (BCS) 功能和对象模型间接与此组件进行交互。

SharePoint 2010 SDK 的本节内容演示了元数据对象包容层次结构,描述了成员,并提供了成员使用示例。

什么是元数据?

元数据是有关外部系统的 API 的数据。对于每个外部系统,元数据定义了应用程序与之交互的业务实体和该应用程序中可用的方法。高级用户和开发人员通过使用 SharePoint Designer 或 Visual Studio 定义元数据。BDC 将元数据存储在 BDC 元数据存储中。

元数据是有关外部系统的数据,而非外部数据本身。仅外部系统中存在外部数据(虽然在外部列表处于脱机状态时缓存副本将位于 BCS 客户端缓存中)。

BDC 元数据模型

BDC 元数据模型(BDC 模型)是 BDC 的核心。类似于 Entity(外部内容类型)和用于提取有关外部系统的复杂详细信息的 Method 的数据结构统称为 MetadataObjects,并包含 BDC 模型。外部系统的 BDC 模型实际上是一个 XML 文件,它是当您在 SharePoint Designer 中创建外部内容类型时自动生成的。在创建一个模型并将该模型上载到运行 SharePoint Server 的服务器上的 BDC 元数据存储之后,可随时在 SharePoint Server 中和 Microsoft Office 应用程序(例如,Microsoft Outlook、Microsoft SharePoint Workspace 和 Microsoft Word)中使用该模型中定义的外部内容类型,以使用 Business Connectivity Services 的演示功能和自定义解决方案根据上下文显示外部数据。

下图演示元数据对象的层次结构。

图 1. 元数据对象的层次结构

元数据对象的层次结构

可使用 SharePoint Server 管理中心内的"BDC 应用程序服务"页中的"导出"选项,或使用 SharePoint Designer 中的外部内容类型的"导出"选项随时查看 BDC 模型。

LobSystem

LOBSystem 表示一个外部服务或软件系统,它通常包含对数据执行的一些业务逻辑(数据可位于关系存储或任何其他持久性数据存储媒体中)。通过 API 的外观来表示业务逻辑。这些 API 定义了允许的操作和预定义约束。

在 BDC 模型中,LobSystem 元素通常包含有关如何连接到外部系统的特定 Type 的信息,与同一外部系统关联的 Entities(外部内容类型)集以及如何针对外部系统执行操作并包含从外部系统返回的值的定义。

LobSystemInstance

LobSystemInstance 是给定 LobSystem 的特定实现。例如,描述特定 WSDL 的 Web 服务是一个 LobSystem,尽管它承载于的 URL 是该 LobSystem 的一个实例。LobSystemInstance 的概念有助于为给定 LobSystem 对象的多个宿主实例进行建模。

Entity

Entity(它表示一个外部内容类型)介绍了业务实体的结构。从概念上说,该结构将映射到实际业务对象(如客户、订单和商机)。一个 Entity 对应于 Business Connectivity Services 中的一个外部内容类型。BDC 实体类型包含至少一个或多个方法。实体的字段(在 BDC 模型中称作 TypeDescriptors)由从一个或多个外部系统方法返回的一组复杂类型定义。因此,一个 BDC 实体包含一组方法,并且在运行时,该实体实例的结构由从一个或多个后端方法返回的值确定。在大多数情况下,一个实体类型具有一个标识,即一组标量,其值将唯一标识实体实例集中的实体实例。将作为实体标识的一部分的每个标量值称作 Identifier。实体的字段可为简单类型或复杂类型。SimpleType 表示标量(或原子)类型(例如,integer 和 string),而 ComplexType 表示结构化字段(如 Address)。一个 ComplexType 包含零个或多个字段,这些字段可以是标量或复杂类型。支持每个 BDC 元数据对象级别的自定义属性;每个属性均包含多个名称/值对,应用程序可使用这些名称/值对来扩展模型。

Methods 和 MethodInstances

元数据模型中的 Methods 是针对后端 API 的抽象描述。它们是不可执行的元素,而 MethodInstances 表示 Methods 的可执行实例。BDC 在运行时采用模型中定义的默认值和应用程序中的相应输入,并基于 Method 和 MethodInstance 确定后端 API,然后执行该 API。将 MethodInstances 构造型为预定义的 BDC 操作,例如 Create、Update、ReadSingle(称作 SpecificFinder)、ReadMultiple(称作 Finder)、Delete 等。BDC 定义了 20 种构造型。所有这些构造型都基于系统中使用的非常著名的数据变体模式(例如,数据库和 Web 服务)。构造型存在的主要原因是,为不了解有关后端系统的复杂详细信息的人员提供域中性和后端中性数据访问接口。通过使用默认值和构造型,人员可非常轻松地为不需要了解有关复杂系统的详细信息的典型信息工作人员调用丰富且复杂的后端 API。

Associations

BDC 中的 Associations 表示实体(外部内容类型)之间的关系。但由于 BDC 旨在提供跨各种后端系统的统一接口,因此无法像对关系数据库关系一样对 Association 进行建模。BDC 中的 Association 指向后端系统(该系统采用一组实体实例并返回另一类实体的实例集)上的特定业务逻辑(或 API)。与关系数据库不同,BDC 无法确保引用完整性,这是因为 BDC 不控制关系逻辑(它是由外部系统显式控制的)。

BDC 模型的基础知识

浏览本节中的以下主题以了解 BDC 模型的基础知识。

最佳做法

在 Microsoft SharePoint Server 2010 中的元数据存储中存储的元数据描述外部系统的结构。所有用户都可使用元数据来启用发现和与外部系统的连接。由于元数据通常都会用到,并且它可从 SharePoint Server 中下载并在客户端计算机上进行存档,因此最好是限制元数据中的信息量。例如,对于数据库外部系统,您应避免在元数据中使用内联 SQL 语句,因为它们可能会提供与数据库结构有关的信息。相反,建议数据库外部系统的元数据使用存储过程。

请参阅

其他资源

BDCMetadata 架构

BDC Model Basics