背景:Microsoft SharePoint Foundation 中的服务实体

上次修改时间: 2011年7月25日

适用范围: SharePoint Foundation 2010

本文内容
应用程序和服务
SharePoint Foundation 中的服务
部署示例

本主题介绍 Microsoft SharePoint Foundation 中的服务实体。这些实体由 SharePoint Foundation 对象模型的服务层次结构中较高级别的类建模。有关 SharePoint Foundation 部署中的物理实体和内容实体的背景信息,请参阅背景:Microsoft SharePoint Foundation 中的物理对象背景:Microsoft SharePoint Foundation 中的内容实体

应用程序和服务

术语"应用程序"和"服务"在软件中具有多种含义;但应用程序 最常见的含义是具有用户界面和各种功能的大型程序。这些功能的共同点通常只可以用非常宽泛的短语(如"字处理"或"电子表格分析")来表述。另外,应用程序还提供许多端到端功能。例如,字处理器可以帮助作者从空白页开始,编写连续草稿、设置格式、插入图形、管理审阅直至最终发布文件(比如,作为一个 XPS 文档)。电子表格应用程序可以支持从数据插入到数学函数构建再到最终报告发布的每一个阶段。

相比之下,服务 仅提供了非常少的功能,并且通常不包括本身有价值的端到端功能。但服务提供的功能作为各种应用程序的组成部分时很有用。一般来说,服务的运行情况是不可见的,并且服务只有少量用户界面或完全没有用户界面。在应用程序调用服务之前,这些服务将在内存中等待。Windows 打印后台处理程序就是一个服务示例,任何必须打印文件的应用程序都可以调用它。

Windows 服务 是指由操作系统承载、可供本地运行的应用程序使用的任何服务。Web 服务 是在网络服务器上承载的一种服务,可供在远程客户端上运行的应用程序(如浏览器)访问。IIS Web 服务 是本主题中称为 Windows Communication Foundation (WCF) 服务的一种服务,此服务既可以 实现 SharePoint Foundation 的服务应用程序框架也可以 在 IIS UI 中显示为 SharePoint Web Services IIS 网站的子"应用程序"。

SharePoint Foundation 中的服务

SharePoint Foundation 包括多种 Windows 服务、Web 服务、IIS Web 服务以及不属于这三类任何一类的一些配置服务。

  • **Web 服务   **

    • 内容发布   此服务使数据和网页可供浏览器访问。此服务在前端 Web 服务器上运行,它是 SharePoint Foundation 中最重要的服务。(有关前端 Web 服务器的详细信息,请参阅背景:Microsoft SharePoint Foundation 中的物理对象。)

      备注

      SharePoint Foundation 服务的名称以"SharePoint"开头,后跟此服务"所服务"的某类对象的名称。因此,就产生了"SharePoint 数据库"服务和"SharePoint Web 应用程序"服务。但请记住,"SharePoint 数据库"服务本身并不是一个数据库,而是一种提供数据库访问的服务。类似地,"SharePoint Web 应用程序"服务也不是一个 Web 应用程序,而是一种提供 Web 应用程序的内容发布的服务。

    • 管理中心   管理中心的内容是其自身的 Web 应用程序,因此它能够具有自己的进程以及自己的安全策略。(有关 Web 应用程序的详细信息,请参阅背景:Microsoft SharePoint Foundation 中的内容实体。)同样,此 Web 应用程序由其自身的 Web 服务提供支持。通常,此服务只在单服务器部署中才在前端 Web 服务器上运行。在其他部署中,此服务将在一台且仅在一台应用程序服务器上运行。(有关应用程序服务器的详细信息,请参阅背景:Microsoft SharePoint Foundation 中的物理对象。)

  • IIS Web 服务   这些服务是在服务应用程序框架上实现的 Windows Communication Foundation (WCF) 服务,同时其中一种服务为该框架提供支持。它们在 IIS UI 中显示为 SharePoint Web Services IIS 网站的子"应用程序"。

    • 安全令牌   该 Web 服务支持基于声明的安全性

    • 业务数据目录   该 Web 服务支持访问业务数据目录。

    • Application Discovery and Load Balancer   该 Web 服务通过发现配置的服务器场范围内的服务实例化 (CFSI) 并使其负载平衡来支持服务应用程序框架

  • 配置服务   SharePoint Foundation 还提供了几种不能完全归入 Windows 服务、Web 服务或 IIS Web 服务类别的服务。它们主要保存配置设置。

    • 诊断(也称作跟踪) 此服务支持跟踪统一日志记录服务 (ULS)。它在所有前端 Web 服务器和应用程序服务器上运行。有关 SharePoint Foundation 中的 ULS 的详细信息,请参阅 SharePoint 开发人员日志记录

    • 传入电子邮件   此服务通常只在一台应用程序服务器上运行,它使 SharePoint Foundation 网站能够接收电子邮件。这样做可以使用户得以通过电子邮件向列表中添加项。

    • 传出电子邮件   此服务通常只在一台应用程序服务器上运行,它使 SharePoint Foundation 具有电子邮件功能,例如,在列表发生更改时发出电子邮件通知。

    • 使用率   此服务可封装 SharePoint Foundation 部署中用于记录和处理使用率的设置。它将在所有前端 Web 服务器和应用程序服务器上运行。此外,它也可以实现 服务应用程序框架,虽然它不是 IIS Web 服务,而且在运行时代表此服务的对象也不是从 SPIisWebService 派生的对象(实现该框架的大多数内置 Web 服务中的对象都是派生对象)。

    • 工作流计时器   此服务使用定时工作流事件的配置设置对主要定时服务(见下文)进行补充。

    • 订阅设置   此服务支持网站订阅。由于它是 WCF Web 服务,因此具有一些与 IIS Web 服务相同的特征,并且在运行时代表此服务的对象是从 SPIisWebService 派生的对象。但是,它不能实现服务应用程序框架

  • Windows 服务   这些服务将在服务器的"控制面板"中的"服务"列表中出现。由于 SharePoint Foundation 的用户界面上显示了这些服务的状态,并且此类服务使用了 SharePoint Foundation 的对象模型,因此管理员和开发人员无需使用"控制面板"即可启动、停止和管理这些服务。

    • 管理   在服务器场部署中,SharePoint Foundation 使用此特殊服务代表服务器场中的所有前端 Web 服务器和应用程序服务器上的管理员执行特权操作。(此服务由不是派生自 SPService 的内部类表示。它以名称"SharePoint 服务"出现在服务器场的每个前端 Web 服务器和应用程序服务器的"服务"列表中。)

    • 定时   利用此服务,管理员能够将作业设置为在指定时间运行。它将在所有前端 Web 服务器和应用程序服务器上运行。

    • 搜索   利用此服务,可在 SharePoint Foundation 部署中搜索内容。在包含多台服务器的服务器场中,此服务将在一台或多台应用程序服务器上运行。

    • 用户代码   此服务可为管理 SharePoint Foundation 中的用户代码基础结构提供集中设置。它将在所有前端 Web 服务器上运行。

    • 数据库   此服务实际上是对已安装的 SQL Server Windows 服务进行的包装。它使 SharePoint Foundation 对象能够访问内容数据库和配置数据库。在多服务器 SharePoint Foundation 部署中,此服务通常只在承载数据库的服务器上运行。

服务应用程序框架

某些服务可实现 SharePoint Foundation 的服务应用程序框架。这些服务可拆分为多个配置的服务器场范围内的实例 (CFSI)。其中每个实例都可提供此服务的功能,但各自有各自的单独权限和设置。CFSI 不是特定服务器上实际运行的进程。同一 CFSI 可在多台服务器上运行,但它与完全抽象的服务又并不相同。运行 CFSI 的每台服务器都有自己的实际 CFSI 实例(运行进程)。此外,给定服务的多个 CFSI 可在相同的服务器上运行。因此,该框架提供了一种同时提供同一基本服务的不同版本的方法。前端 Web 服务器上的消费型应用程序可以特定 CFSI 为目标。

想要使用某服务的特定 CFSI 的应用程序可借助代理来实现这一目的。承载该应用程序的前端 Web 服务器具有一个代表该服务本身的代理和一个代表目标 CFSI 的代理。

可扩展性

可以创建新的 Windows 服务和 Web 服务。例如,对于 SharePoint Foundation 部署而言,用于对文档进行病毒扫描的 Windows 服务将是很好的补充。有关 Windows 服务开发的详细信息,请参阅 Windows 服务应用程序简介(该链接可能指向英文页面)。有关使用 SharePoint Foundation 服务应用程序框架进行 Web 服务开发的信息,请参阅服务应用程序框架

每项服务(Windows 管理服务除外)均由派生自 SPService 的类进行建模,而每个 CFSI 均由派生自 SPServiceApplication 的类中的对象表示。给定服务器上的每个服务实例由派生自 SPServiceInstance 的类进行建模。(SharePoint 搜索服务实际上有两种实例。一种是服务本身的实例,另一种是搜索索引的实例。)如果此服务可实现服务应用程序框架,则该实例也可被视为特定 CFSI 的实例。服务的使用者代理由 SPServiceProxy 对象表示,而 CFSI 的代理由 SPServiceApplicationProxy 对象表示。

部署示例

以下是 SharePoint Foundation 部署的一些具体示例。首先,图 1 显示的是在单一服务器上刚安装 SharePoint Foundation 之后的 SharePoint Foundation 对象模型层次结构中的主要对象。请注意图中的以下内容:

  • 可实现服务应用程序框架的 Web 服务用虚线框表示。在初始安装时,每个服务都有一个 CFSI,有时称为"服务应用程序"。

  • 虽然服务代理属于服务器场,但每个 CFSI 代理(也称作"服务应用程序代理")属于 Web 应用程序。内容发布 Web 应用程序和管理中心 Web 应用程序各自有各自的业务数据目录 CFSI 代理,并且各自有各自的使用率和运行状况数据 CFSI 代理。它们在初始安装时都没有订阅或 Application Discovery and Load Balancer CFSI 代理。

图 1. 新的单服务器部署中的服务、CFSI、服务实例和 Web 应用程序

新的单服务器部署中的管理对象

图 2 显示的是假设包含 10 台服务器的服务器场中的服务、CFSI 和服务实例。请注意与此示例相关的以下几点:

  • 半透明的矩形表示服务。这些服务将在 SharePoint Foundation 对象模型中使用 SP*Service 类进行建模。

  • 不透明的矩形表示 CFSI("服务应用程序"),它们将在 SharePoint Foundation 对象模型中使用 SP*ServiceApplication 类建模。

  • 较小的实心矩形表示服务的实例,这些服务将在 SharePoint Foundation 对象模型中使用 SP*ServiceInstance 类建模。

  • 由于诊断服务在所有服务器(专用数据库服务器除外)上都运行有实例,但对象模型没有 SPDiagnosticServiceInstance 类(因为 SharePoint Foundation 中不需要此类),因此没有表示这些实例的实心矩形。

  • 管理服务、定时服务、诊断服务、应用程序发现服务、安全令牌服务和使用率服务将在除专用数据库服务器之外的所有服务器上运行(必须如此)。

  • 只有五台前端 Web 服务器运行 Web 应用程序服务。

  • 有一台专用搜索服务器。

  • 有两台专用 BDC 服务器。

  • BDC 服务有两个 CFSI(服务应用程序)。一个在每台专用 BDC 服务器上有一个实例,另一个仅在其中一台服务器上运行。前端 Web 服务器必须对这两个不同的 CFSI 分别使用单独的服务应用程序代理。

  • 第四台多用途应用程序服务器将运行管理中心、电子邮件服务和订阅服务。由于管理中心 Web 服务将承载管理中心 Web 应用程序,因此,如果该服务需要使用用于实现服务应用程序框架的任何服务,则该服务器应具有在其上运行的服务应用程序代理。对于该框架中的使用者代理在前端 Web 服务器上运行这一惯例,此情况是一个例外。

  • 当 SharePoint Foundation 数据库位于专用服务器上时(如本例中所示),将无需在该服务器上安装 SharePoint Foundation。数据库服务只不过是数据库服务器上运行的 SQL Server 服务的包装。因此,SharePoint Foundation 代码不会在专用数据库服务器上运行。此服务及其实例将在图中出现,这是因为它在对象模型中用 SPDatabaseServiceSPDatabaseServiceInstance 类表示。

图 2. 包含 10 台服务器的典型服务器场中的服务和服务实例

10 个服务器 SharePoint Foundation 服务对象

请参阅

引用

SPService

SPServiceInstance

概念

服务器和网站体系结构:对象模型概述

使用列表对象和集合

概述:使用对象模型自定义管理

代码示例:使用管理对象模型

Microsoft SharePoint Foundation 的内容层次结构

背景:Microsoft SharePoint Foundation 中的内容实体

Microsoft SharePoint Foundation 的物理对象层次结构

背景:Microsoft SharePoint Foundation 中的物理对象

Microsoft SharePoint Foundation 的服务层次结构

其他资源

SharePoint Foundation 管理

SharePoint Foundation 管理资源中心(该链接可能指向英文页面)