Общие сведения о модулях доставки
Службы SQL Server Reporting Services позволяют пользователям создавать и публиковать отчеты, которые после создания и публикации можно доставлять в различные расположения. Кроме того, службы Reporting Services включают несколько расширений доставки и API доставки, которые позволяют разработчикам создавать дополнительные расширения доставки для дальнейшего расширения функциональности доставки в службах Reporting Services.
В следующей таблице перечислены модули доставки, входящие в состав Reporting Services.
Модуль доставки | Description |
---|---|
Электронная почта сервера отчетов | Отправляет отчеты отдельным пользователям или группам пользователей по электронной почте через SMTP-сервер. |
Общая папка сервера отчетов | Используется для распространения отчетов по организации с использованием сетевых общих папок. Позволяет автоматически скопировать отчет в общую папку по указанному расписанию. |
Архитектура расширения доставки служб 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.