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

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

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

Модуль доставки Description
Электронная почта сервера отчетов Отправляет отчеты отдельным пользователям или группам пользователей по электронной почте через SMTP-сервер.
Общая папка сервера отчетов Используется для распространения отчетов по организации с использованием сетевых общих папок. Позволяет автоматически скопировать отчет в общую папку по указанному расписанию.

Screenshot of the Reporting Services delivery extension architecture.

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

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

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

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

Подписки и расширения доставки

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

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

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

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

  • компьютер для разработки с установленной Microsoft Visual Studio 2008 или более поздней версии или пакетом средств разработки программного обеспечения (SDK) Microsoft .NET Framework;

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

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

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