Общие сведения о модулях доставки

SQL Server Службы Reporting Services позволяют пользователям создавать и публиковать отчеты, которые после создания и публикации могут доставлять в различные места. Кроме того, службы Reporting Services содержат несколько модулей доставки и API-интерфейс доставки, который позволяет разработчикам создавать дополнительные модули доставки, расширяя возможности доставки в службах Reporting Services.

В следующей таблице перечислены модули доставки, входящие в состав служб Reporting Services.

Модуль доставки

Description

Электронная почта сервера отчетов

Отправляет отчеты отдельным пользователям или группам пользователей по электронной почте через SMTP-сервер.

Общая папка сервера отчетов

Используется для распространения отчетов по организации с использованием сетевых общих папок. Дает возможность автоматически копировать отчет в общую папку по заданному расписанию.

Архитектура модуля доставки служб Reporting Services

Архитектура модуля доставки служб Reporting Services

Подпискам ставятся в соответствие модули доставки. При создании подписки, чтобы определить порядок доставки отчета, пользователь может выбрать один из доступных модулей доставки. В службах Reporting Services подписки располагаются в базе данных сервера отчетов. Когда происходит событие, службы Reporting Services проверяет событие по подпискам, содержащимся в базе данных сервера отчетов. Для каждой подписки, сопоставленной с событием, сервер отчетов создает уведомление. Для управляемых данными подписок уведомление создается для каждого получателя. После создания уведомления сервер отчетов вызывает определенный модуль доставки и передает для параметров модуля значения, указанные в уведомлении. Модуль доставки отправляет уведомление пользователю, как указано в выбранном модуле доставки.

В модулях доставки реализуется API-интерфейс модулей доставки служб Reporting Services. За счет поддержки API-интерфейса модулей доставки служб Reporting Services модули доставки имеют возможность получать уведомления от сервера отчетов и указывать состояние уведомления.

Сервер отчетов не управляет назначением доставки для уведомлений и отчетов. Сбор сведений о назначении выполняется кодом, который включается в модуль доставки.

Подписки и модули доставки

Клиентские приложения создают подписки, использующие модули доставки, с помощью двух методов веб-службы сервера отчетов: CreateSubscription и CreateDataDrivenSubscription. Для изменения существующих подписок используются методы SetSubscriptionProperties и SetDataDrivenSubscriptionProperties. Во время создания подписки пользователь также выбирает для нее модуль доставки и вводит значения для необходимых параметров модуля. Когда пользователь сохраняет подписку, она записывается в базу данных сервера отчетов. Подписки создают уведомления по расписанию или в результате некоторых событий. Когда начинается доставка, выбранный модуль доставки сначала загружает данные конфигурации из файла конфигурации. Затем получаются параметры модуля для подписки и задаются их значения. Наконец, вызывается метод Deliver и отправляется уведомление.

Требования для разработки

Для разработки модуля доставки служб Reporting Services необходимо:

  • компьютер для развертывания с установленным сервером отчетов;

  • Компьютер для разработки с установленной средой Microsoft Visual Studio 2005 или пакетом SDK для платформы Microsoft.NET Framework.

  • полное представление о функциях и возможностях служб Reporting Services, в особенности относящихся к подписке и доставке;

  • полное представление о ASP.NET и веб-элементах управления, если планируется реализация собственного пользовательского интерфейса подписки для диспетчера отчетов;

  • Опыт разработки на языке .NET Framework, например Microsoft Visual C# или MicrosoftVisual Basic .NET.