Datasheet
24
❘
CHAPTER 1 BUSINESS REPORTING PARADIGMS
Windows service. These classes expose properties and methods that the WMI service makes available
to administrative applications.
The first of the two classes registered by Reporting Services, MSReportServer_Instance, provides basic
information about the Reporting Services installation, including edition, version, and mode.
The second class, MSReportServer_ConfigurationSetting, provides access to many of the settings in the
RSReportServer.config configuration file and exposes a host of methods supporting critical adminis-
trative tasks. Administrative interfaces such as the Reporting Services Configuration tool leverage this
provider for their functionality.
A Remote Procedure Call (RPC) interface provided by the Reporting Services service acts as a bridge
between the WMI and Reporting Services Windows services. Through this bridge, calls against the
registered classes received by the WMI service are relayed to Reporting Services.
All server functionality is exposed through the Reporting Services Windows service endpoints. The
service’s core processing features were introduced as an application domain whose functionality is pro-
vided through a collection of components. You will now explore those components to gain a deeper
understanding of just how Reporting Services delivers its primary functionality and where that func-
tionality can be extended.
Before jumping into the specific components, you should be aware of the difference between extensions
and processors. Processors are the coordinators and facilitators in Reporting Services’ component
architecture. They are responsible for calling the extensions as needed and providing mechanisms for
data exchange between them. Although configuration settings may alter their behavior, the processors
cannot be extended through custom code.
Extensions are components registered with Reporting Services to provide specific functionality.
They expose standardized interfaces, which provide the mechanism by which Reporting Services
engages them.
Report Caching
When a report is initially rendered, a session is established. Requests from a specific user are made
within the context of a specific session until that session expires.
During a session, users will often request that the same report be rendered multiple times, possibly in
differing formats. Reporting Services anticipates this by storing the intermediate format report in its
Session cache. The cached copy is recorded with Session identifiers so that when an end-user repeats
a request for a report as part of his or her session, the cached copy can be leveraged. This feature of
Reporting Services, known as report session caching, is always enabled.
If a deployed report is configured for instance caching, and data is retrieved using the requestor’s cre-
dentials, the report may contain data only appropriate for that specific user. The intermediate report
contains this data so that if it is cached and made available to another requestor, that user may be
exposed to data that he or she otherwise should not see.
For this reason, only reports that do not use the requestor’s credentials to retrieve data from exter-
nal data sources can be configured for report execution caching. With report execution caching, the