服务体系结构 (Reporting Services)

在 Reporting Services 中,报表服务器是作为一个 Windows 服务来实现的,它由运行在单独的应用程序域中的不同功能范围组成。该服务承载报表管理器、报表服务器 Web 服务和后台处理功能范围。本主题将介绍该服务的组成,以便您在决定启用哪些功能、如何对出现的任何问题进行故障排除时作出明智的选择。

体系结构关系图

下图显示了 Reporting Services 的服务体系结构。

服务体系结构关系图

注意注意

并非所有报表服务器功能都反映在该体系结构关系图中。例如,初始化和可逆加密是很关键的服务器操作,它们在该图中所示的三个功能范围之外。

服务和基础结构

报表服务器 Windows 服务是一组合并在一起的应用程序,它们使用单个帐户在单个进程中运行,可以访问单个报表服务器数据库和一组配置文件。整个服务的配置设置存储在 RSeportServer.config、ReportServerServices.exe.config 和报表服务器数据库中。

在该服务中,报表管理器、Web 服务和后台处理运行在单独的应用程序域中。尽管默认情况下会启用所有这三个功能,您还是可以配置在任何给定时间该服务的哪些部分处于可用状态。例如,如果您不需要支持按需运行报表或交互报表,则可以关闭 Web 服务。

虽然服务器功能范围被隔离到单独的应用程序域,但仍然针对服务将内存管理和进程运行状况作为一个整体来进行管理。内存阈值是为整个服务进行配置的。报表服务器将回收操作作为内部操作来处理。您不能根据需要回收服务的个别部分。但是,您可以指定配置设置,这些设置指定持久连接在多长时间内保持打开状态。

如果您将服务的功能范围分隔在多个实例中(例如,在一个实例中启用报表管理器,在第二个实例中启用 Web 服务,在第三个实例中启用后台处理),则内存和配置设置将划分到在该特定实例中运行的应用程序。注意,即使您分隔服务的功能范围,它们在某种程度上仍然是相互依赖的。一个完整的报表服务器安装通常使用所有这三个功能范围。有关详细信息,请参阅如何打开或关闭 Reporting Services 功能

HTTP 侦听器

Reporting Services 包括 HTTP 侦听器,它监视在本地计算机的特定端口上定向到 HTTP.SYS 的传入请求。当您配置服务器时,会针对 URL 保留项指定主机名称和端口。根据您使用的操作系统,所指定的端口可以与其他应用程序共享。

HTTP 侦听器可实现 HTTP 1.1 协议。它将使用内置在操作系统中的 HTTP.SYS 功能。由于这个原因,Reporting Services 需要将 HTTP.SYS 作为内部组件包括在内的操作系统。

当 HTTP 侦听器处理请求时,它将请求转发到身份验证层,以验证用户身份。对请求进行身份验证后,将调用报表服务器 Web 服务。

HTTP 侦听器使用 1.0 版本的 HTTP 服务器 API。有关详细信息,请参阅 MSDN 上的 HTTP Server API(HTTP 服务器 API)。

身份验证层

Reporting Services 包括一个身份验证层,用于验证发出请求的用户或应用程序的身份。支持以下身份验证类型:Windows 集成安全性、NTLM 身份验证、基本身份验证、窗体或自定义身份验证和匿名访问。默认情况下,Reporting Services 使用 Windows 集成安全性和 NTLM 身份验证,但您可以在配置文件中指定其他身份验证类型。每个报表服务器实例只能针对一种身份验证类型进行配置。如果您具有扩展部署扩展配置,则环境中的每个节点必须使用相同的身份验证类型。

报表服务器身份验证在您的网络安全设置和客户端应用程序的上下文中运行。能否成功使用特定的身份验证类型取决于浏览器和网络安全功能。例如,使用 Windows 集成安全性时,要求您使用 Internet Explorer、具有 Kerberos 网络身份验证并启用模拟。而且,如果您要对报表数据源连接使用集成安全性,还必须启用委托,从而实现到远程数据源的后续连接。

有关 Reporting Services 中的身份验证的详细信息,请参阅在 Reporting Services 中配置身份验证

报表管理器

报表管理器是零需求的客户端,它提供对报表服务器 Web 服务的 Web 前端访问。它是用于查看和管理报表服务器内容和操作的即时可用工具。

默认情况下,它提供对运行在同一个服务器实例中的 Web 服务的前端访问。如果没有在服务器实例中启用该 Web 服务,您可以通过在配置文件中设置 URL,使报表管理器指向另一个实例或计算机中的报表服务器 Web 服务。

报表管理器运行在客户端计算机上的浏览器会话中。客户端上未存储任何应用程序文件或设置。只要浏览器窗口打开,就会一直保持会话状态。用户特定设置将保存到报表服务器数据库,并在用户连接到报表管理器时重用。

报表管理器可以在订阅定义页中提供自定义传递扩展插件设置。如果您创建和部署自定义传递扩展插件,报表管理器可以为该插件动态地提供选项和显示文本。

若要使用报表管理器,您必须定义一个指向应用程序的 URL。只要不首先创建该 URL,就可以有效地禁用报表管理器。如果在默认配置中安装了 Reporting Services,那么该 URL 就已经创建了,如果您决定关闭该应用程序,就必须将其删除。

如果您将报表服务器配置为在 SharePoint 集成模式下运行,则报表管理器关闭。您不能在运行于 SharePoint 集成模式下的报表服务器上使用报表管理器,即使以前配置了 URL。

有关报表管理器的详细信息,请参阅报表管理器如何配置报表管理器

报表服务器 Web 服务

报表服务器 Web 服务是所有按需运行报表以及由用户或应用程序实时启动的模型处理请求(包括定向到报表管理器以及从报表管理器定向的大多数请求)的核心引擎。

报表服务器 Web 服务对按需运行的报表执行端对端处理。为了支持交互处理,Web 服务在处理请求之前,将对用户进行身份验证,并将检查授权规则。Web 服务支持默认的 Windows 安全扩展插件和自定义身份验证扩展插件。

Web 服务还是与报表服务器集成的自定义应用程序的主要编程接口。如果您提供自定义用户接口,则可以在没有报表管理器的情况下使用 Web 服务。

有关详细信息,请参阅报表服务器 Web 服务

后台处理

后台处理指在后台运行、由报表服务器启动的操作。大多数后台处理由计划报表处理和订阅传递组成,但同时还包括报表服务器数据库维护任务。

用于计划、订阅和传递的后台处理是可配置的,并可通过 Management Studio 中基于策略的管理的 Reporting Services 的外围应用配置器方面关闭。如果您关闭那些操作,则计划报表或模型处理将在当前服务实例中不可用。数据库维护是核心任务,不能关闭,因为它使服务器保持在工作状态。

后台处理操作依赖前端应用程序或 Web 服务进行定义。具体来说,计划和订阅是在报表管理器的应用程序页中创建的,或者,如果报表服务器针对 SharePoint 集成进行了配置,则在 SharePoint 站点上创建,然后再转发到 Web 服务,Web 服务可在报表服务器数据库中创建和存储定义。

如果您提供需要对后端处理进行编程访问的自定义代码,请使用 Reporting Services WMI 提供程序。有关详细信息,请参阅 Reporting Services WMI 提供程序。若要了解有关计划和传递处理功能的详细信息,请参阅计划和传递处理器

后台处理的身份验证和内存管理

如服务体系结构关系图所示,后台处理对身份验证和内存管理的处理方式不同于报表管理器和 Web 服务。后台进程使用 Authz.dll 来验证用于创建订阅的用户帐户是否仍具有查看报表的正确权限。这项检查可确保即将接收报表的用户是域中的有效 Windows 用户。对作为后台进程运行的所有其他报表和模型处理的请求都是在无人参与的执行帐户的身份下发出的。