An extension is a .NET Assembly that is invoked by the Report Processor to perform certain processing functions. There are several types of extensions: Data Processing, Delivery, Rendering, Security (authentication and authorization), SemanticQuery, ModelGeneration, and EventProcessing. For an extension to be used by a report server, it has to be installed ( assuming default SSRS configuration) to the C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ ReportServer \bin directory and configured in C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\rsreportserver.config . The last part of an extension filename usually implies the extension's functionality. For example, the HTML rendering extension's filename is Microsoft.ReportingServices.HtmlRendering.dll . Custom extensions allow developers to add complementing functionality that is not available in SSRS "out-of-the-box." For example, a company can implement an extension that delivers reports to a phone or a fax. You can learn more about extensions in Chapter 26, "Writing Custom Reporting Services Extensions." Note This release of SSRS does not allow custom SemanticQuery, ModelGeneration, or EventProcessing extensions. Data-Processing ExtensionsData-processing extensions retrieve data from the report data source. Some of the tasks performed by data-processing extensions include open connection to a data source, analyze query and return field names , pass parameters, and retrieve and iterate data set. Table 3.1 outlines the data-processing extensions included and configured with SSRS. Table 3.1. Data-Processing Extensions Configured with SSRS
All extensions, which are installed with SSRS (except XML), leverage corresponding .NET data providers. Microsoft.ReportingServices.DataExtensions library provides wrapper classes that supply SSRS data-processing extension interfaces to .NET data providers. Developers can create additional custom data-processing extensions. Delivery ExtensionsDelivery extensions deliver reports to specific devices or formats. Extensions included with RS include email and file share delivery. The delivery method and, therefore, corresponding extension are selected when a user (or an administrator) creates a subscription. A sample of printer delivery extension is included with SQL Server samples and discussed in Chapter 26. Table 3.2 outlines the delivery extensions included and configured with SSRS. Table 3.2. Delivery Extensions Included with SSRS
Developers can create additional custom delivery extensions. Rendering ExtensionsReport Server Rendering extensions transform a report's layout and data into a device-specific format. Extensions included with RS include HTML (3.2 and 4.0), Microsoft Excel, Text/CSV, XML, Image (BMP, EMF, GIF, JPEG, PNG, TIFF, WMF), and PDF rendering. Note Unlike SSRS 2000, which rendered Excel files as an MHTML file carrying special Excel metatags , SSRS 2005 renders reports to Excel's native binary format. Because the final rendering phase is only loosely coupled with data processing, it enables users to choose different rendering options for the same report without the need to requery data sources. Developers can create additional custom rendering extensions. Security ExtensionsThis book frequently uses the term "security extension" as if it refers to a single unit. In actuality, there are two interrelated extensions:
SSRS includes a security extension based on Windows authentication. After a user's identity is established, an authorization process determines whether a Windows user (or a Windows group that contains a user) is configured to access a particular resource on a reporting server. Developers can create additional custom security extensions. An instance of SSRS can use only one security extension. In other words, either the Windows or a custom extension can be used, but not both at the same time. |