Опубликован: 29.07.2008 | Уровень: специалист | Доступ: платный
Лекция 8:

Введение в службы Reporting Services

Аннотация: Прочитав эту лекцию, вы сможете: разобраться в системе создания отчета с точки зрения решения для технологии и бизнеса, разобраться в архитектуре служб Reporting Services, создать основной отчет с рядом дополнительных функций, добавить в отчет сводную информацию, настроить фильтр для данных отчета, создать в отчете возможности интерактивной настройки фильтрации и сортировки, добавить в отчет программный код

Главная задача пользовательского приложения базы данных - это управление реальными данными через добавление, изменение данных, удаление устаревших данных и т. д. Следовательно, вполне логично, что разработчики концентрируются главным образом на этих функциях. Однако у приложений есть еще одно важное свойство - обеспечить пользователей информацией, которая им нужна для длительного пользования. Эти долгосрочные задачи включают возможность перенести данные на бумагу и проанализировать сводные или архивные данные.

Разработчики приложений для обеспечения этих функций могут использовать традиционные методы, например, запросы, бизнес-объекты и сетки данных. Однако для сводной информации необходимы сложные макеты с версткой, промежуточными итогами и условным форматированием. Эти макеты не так просто разрабатывать и обслуживать с помощью классических инструментов разработки.

Кроме того, некоторые потребители данных, предоставляемых приложением, никогда не имеют дела с самим приложением. В такой ситуации часто оказываются менеджеры или сотрудники, работающие удаленно. Эта группа пользователей предпочитает получать данные приложения по электронной почте или на мобильные устройства по заранее составленному расписанию.

Поскольку эти требования встречаются довольно часто, некоторые издатели программного обеспечения предоставляют встроенные решения по созданию отчетов, в том числе, для предприятий. В этой лекции рассказывается о том, как отвечают этим требованиям службы Reporting Services в Microsoft SQL Server 2005.

Требования к решению создания отчетов

Вот некоторые из требований, которым должно отвечать решение для создания отчетов:

  • Обеспечение пользователей информацией длительного потребления
  • Возможность создания копии информации на бумаге
  • Возможность получения сводных, аналитических и архивных данных
  • Предоставление простого пользовательского интерфейса для создания сложных макетов отчета, включающих вложенные отчеты, промежуточные итоги и условное форматирование.
  • Обеспечение функции распределения отчетов по электронной почте, на мобильные устройства и другие электронные носители
  • Обеспечение планирования создания отчетов
  • Обеспечение средств администрирования системы создания отчетов
  • Возможность установки расширений встроенных функций

В следующих разделах подробно рассматриваются все эти функции служб Reporting Services.

Создание отчетов

Точно так же, как Excel или Word нуждаются в формате файла ( .xls или .doc ), который включает данные и информацию, относящиеся к работе этих приложений, решениям для создания отчетов нужен файл описания отчета. Службы Microsoft Reporting Services используют для этого файлы Report Definition Language (Языка описания отчетов) RDL. RDL-файлы - это XML-файлы, которые соответствуют открытой схеме.

Следовательно, все, что нам нужно для создания отчетов, совместимых с Reporting Services - это инструмент, позволяющий создавать XML (RDL)-файлы. При определенной настойчивости файл описания отчета можно создать даже в Блокноте. К счастью, этот способ обычно не используется для создания отчетов. Microsoft SQL Server 2005 позволяет создавать проекты отчетов в Microsoft SQL Server Business Intelligence Development Studio (BIDS) при помощи классического интерфейса макетирования.

Размещение отчетов

После создания описания отчета его следует разместить в таком месте, где он будет доступен для поиска и обработки приложением и/или пользователями. Службы Reporting Services включают инфраструктуру, необходимую для хранения отчетов в централизованном защищенном репозитории.

Размещение производится тремя различными методами: через интерфейс BIDS, посредством загрузки RDL-файлов из Report Manager (Диспетчера отчетов) или через создание сценария выполнения операции загрузки RDL-файла и использование утилиты rs.exe для выполнения этого сценария.

Доступ к отчетам

После размещения отчета определенный механизм должен обеспечить пользователю и/или приложениям возможность найти нужный отчет и запросить его обработку. Службы Reporting Services включают адаптированное к нуждам администраторов и интерактивных пользователей веб-приложение Report Manager (Диспетчер отчета). Для автоматического доступа через приложения службы Reporting Services имеют несколько интерфейсов прикладного программирования (API).

Доставка отчетов

По умолчанию, для вывода обработки отчета используется формат HTML 4.0. Для пользователей и/или приложений, которым нужен вывод в другом формате, предоставлена функция экспорта. Службы Reporting Services включают не требующую настройки поддержку для самых популярных форматов, таких, как Acrobat (PDF), Microsoft Excel и HTML. Кроме того, службы Reporting Services по умолчанию предоставляют возможность доставки готовых отчетов в файловые хранилища или отправки их по электронной почте.

Дополнительные возможности служб Reporting Services

Возможно, вы заметили, что в описании предыдущих функций присутствовали выражения "не требующие настройки" и "по умолчанию". Службы Reporting Services – это расширяемая платформа, которая допускает добавление пользовательского программного кода по нескольким направлениям: безопасность, доступ к источникам данных и доставка. Блоки пользовательского кода по сути представляют собой сборки .NET, которые должны быть зарегистрированы в службах Reporting Services.

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

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

Важным преимуществом корпоративной системы отчетности является возможность запланировать обработку отчетов. Эта функция позволяет администраторам решить, когда и с какой периодичностью проводить обработку отчетов. Например, администратор может запланировать создание определенных отчетов по завершении определенных процессов или не допустить обработки пользователями больших отчетов в рабочее время. Используя эту функцию Reporting Services, администратор может отрегулировать рабочую нагрузку системы отчетности в соответствии с требованиями бизнеса данного предприятия и реальными возможностями системы.

Упрощенные механизмы системы отчетности

К этому моменту вы уже должны понимать, что корпоративная система отчетности - это полнофункциональное, достаточно сложное бизнес-решение, которое предназначено для обеспечения решений в среде создания отчетов по требованию. Но что делать, если потребности в создании отчетов не такие масштабные, или приложение вообще не использует веб-сервер?

В Microsoft Visual Studio 2005 есть два элемента управления просмотром и обработкой отчетов, которые позволяют использовать ранее упомянутую инфраструктуру сервера и могут применяться для локального хранения, обработки и доставки отчетов. Обратите внимание на то, что эти элементы управления входят в состав Visual Studio 2005, а не в Microsoft SQL Server 2005.

Что следует учитывать при проектировании отчета

В этой книге надлежащее планирование проектирования отчетов не рассматривается, однако стоит отметить, что план должен быть составлен до начала создания отчета. План создания отчета используется для идентификации и анализа общих требований к отчету по нескольким направлениям, в том числе:

  • Содержание отчета.Просмотр каталога образцов отчетов даст вам достаточно глубокое представление обо всех необходимых функциях системы отчетов. Этот обзор поможет найти возможности оптимизации, например, объединение двух аналогичных отчетов в один отчет.
  • Форматирование.Подбор заголовков, колонтитулов, информации об управлении версиями, авторе, дате создания, и аналогичных элементов, которые следует включать во все отчеты.
  • Контроль исходного кода.Файлы определения отчета должны учитывать исходный код, поэтому рекомендуется использовать стратегию контроля исходного кода. Кроме того, поскольку отчет может воспроизводить в печатной или электронной форме документы, имеющие свой жизненный цикл, рекомендуется помещать версию отчета для создания документов на видном месте в каждом отчете, чтобы можно было легко определить, какая версия отчета была использована для получения результатов. Версии могут иметь большие или меньшие номера.
  • Источники данных и безопасность.Пользователи могут требовать, чтобы отчет отображал различные результаты, на основании которых актуально запрашивается обработка отчета. В процессе планирования следует собрать информацию о том, какой тип обеспечения безопасности должен применяться, и о деталях авторизации пользователя для просмотра, обработки и редактирования каждого отчета или пакета отчетов.
  • Жизненный цикл отчета.Следует знать определенные аспекты жизненного цикла каждого отчета, например, периодичность его обработки, количество пользователей, которым нужна результирующая информация и время, необходимое для обработки отчета. С помощью этой информации можно принимать обоснованные решения о проектах отчетов.
  • Каналы и форматы доставки отчетов.Проекты отчетов и упомянутые ранее характеристики будут зависеть от целевого формата доставки (text, RTF, PDF, Excel) и канала доставки (папка с файлами, протокол SMTP, просмотр через интернет, просмотр на карманном компьютере (PDA)). Если вы соберете эту информацию и учтете ее на этапе планирования, то получите определенные преимущества.

Архитектура служб Reporting Services

Службы Reporting Services состоят из нескольких функциональных блоков. Каждый блок выполняет одну или несколько задач, или имеет разные обязанности по отношению к целостному решению. Функции системы отчетов охватывают различные области, поэтому архитектура служб Reporting Services должна обладать достаточной гибкостью. Таким образом, компоненты распределены по различным областям сервера (или серверов) решения, как показано на рис. 8.1.

Архитектура служб Reporting Services в Microsoft SQL Server 2005

Рис. 8.1. Архитектура служб Reporting Services в Microsoft SQL Server 2005
Александр Сериков
Александр Сериков
Россия, Москва, МВТУ им. Баумана Н.Э.
Юлия Захария
Юлия Захария
Россия, Московский инженерно -физический университет, 2001