Introducing Delivery Extensions

SQL Server Reporting Services enables users to create and publish reports that, once created and published, can be delivered to various locations. In addition, Reporting Services includes several delivery extensions and a delivery API that enable developers to create additional delivery extensions to further extend the functionality of delivery in Reporting Services.

The following table lists the delivery extensions included with Reporting Services.

Delivery extension Description

Report Server E-Mail

Uses an SMTP server to e-mail reports to individual users or groups.

Report Server File Share

Used to distribute reports within your organization to network file shares. Provides the ability to automatically copy a report to a file share on a designated schedule.

Reporting Services delivery extension architecture

Reporting Services delivery extension architecture

Delivery extensions are paired with subscriptions. When creating a subscription, a user can choose one of the available delivery extensions to determine how the report is delivered. In Reporting Services, subscriptions are located in the report server database. When an event occurs, Reporting Services matches the event against subscriptions contained in the report server database. For each subscription tied to the event, the report server creates a notification. For data-driven subscriptions, a notification is created for each recipient. Once a notification is created, the report server invokes a particular delivery extension and passes in values for the extensions settings specified in the notification. The delivery extension sends the notification to the user as specified by the selected delivery extension.

Delivery extensions implement the Reporting Services delivery extension API. By supporting the Reporting Services delivery extension API, delivery extensions are able to receive notifications from the report server and provide status of the notification.

The report server does not manage delivery destinations for notifications and reports. Gathering destination information is accomplished through the code you write in your delivery extension.

Subscriptions and Delivery Extensions

Client applications create subscriptions that use delivery extensions using two methods of the Report Server Web service: CreateSubscription and CreateDataDrivenSubscription. For modifying subscriptions that already exist, the SetSubscriptionProperties and SetDataDrivenSubscriptionProperties methods are used. When creating a subscription, the user also selects a delivery extension for the subscription and enters values for the required extension settings. When a user saves a subscription, it is stored in the report server database. Subscriptions create notifications based on a schedule or an event. When a delivery begins, the selected delivery extension first loads any configuration data from the configuration file. Next, the extension settings for the subscription are retrieved, and values are set. Finally, the Deliver method is called, and the notification is sent.

See Also

Reference

Reporting Services Extension Library

Other Resources

Getting Started with a Delivery Extension Implementation
Implementing a Delivery Extension

Help and Information

Getting SQL Server 2005 Assistance