Опубликован: 29.07.2008 | Доступ: свободный | Студентов: 1264 / 144 | Оценка: 4.49 / 4.15 | Длительность: 17:53:00
Лекция 8:

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

Компоненты сервера

Службы Reporting Services - это серверный продукт, следовательно, большая часть компонентов этой службы размещается на сервере.

  • Базы данных служб Reporting Services.Базы данных служб Reporting Services хранят метаданные решений, сохраненные отчеты, информацию, имеющую отношению к сеансам и все, что необходимо для обслуживания состояния сервера. Службы Reporting Services управляют двумя базами данных: ReportServer, которая включает всю постоянную информацию, и ReportServerTempDB, которая содержит всю временную информацию. Эти базы данных можно найти в каталоге баз данных SQL Server, как любые обычные базы данных.
  • Сервер отчетов.Этот виртуальный компонент отвечает за обработку отчетов, используя поддержку всех блоков расширений. Он реализован в виде двух больших блоков:

    • Служба Windows сервера отчетов.Служба Windows сервера отчетов отвечает за инициализацию и обслуживание серверов, а также за вывод процессов планирования и доставки, с помощью доступных расширений доставки.
    • Веб-служба сервера отчетов.Службы Reporting Services взаимодействуют с внешним миром, главным образом, через интерфейс веб-службы. Действительно, именно этот интерфейс использует Диспетчер отчетов для выполнения своих обязанностей. Доступны две веб-службы: ReportingServices2005 (для управления) и ReportExecutionService (для выполнения отчетов).

    Эти два блока зависят от некоторых функциональных модулей, в том числе, от различных обработчиков и расширений.

  • Обработчик сервера отчетов.Этот модуль делает всю основную работу по синтаксическому анализу определения отчета, запросу данных от расширения обработки данных, выполнения вычислений и отправке вывода на расширение интерпретации для форматирования вывода при необходимости.
  • Обработчик планирования и доставки.Отвечает за запуск и обслуживание всех запланированных и завершившихся процессов, а также за передачу вывода соответствующему расширению доставки. Модуль взаимодействует с обработчиком сервера отчетов и службой Агент SQL Server.
  • Расширение проверки подлинности.Этот модуль отвечает за проверку подлинности и авторизацию пользователей, обращающихся к службам Reporting Services. Для использования пользовательских или неподдерживаемых механизмов проверки подлинности необходимо создать и зарегистрировать пользовательские сборки.
  • Расширение обработки данных.Данный модуль отвечает за обработку взаимодействия с источниками данных. Источники данных, которые не требуют дополнительной настройки - это SQL Server, службы Analysis Services, Oracle, OLE DB, ODBC, поставщики данных ADO.NET и XML. Для доступа к неподдерживаемым базам данных необходимо создать и зарегистрировать пользовательские сборки.
  • Расширение интерпретации.Службы Reporting Services используют это расширение для формирования окончательной интерпретации отчета в выбранном формате. В Reporting Services имеется несколько расширений подготовки. HTML, PDF, Excel, текст с разделителями "запятая" (CSV), XML, и Image. Чтобы перевести отчеты в дополнительные форматы, следует создать и зарегистрировать пользовательские сборки.
  • Служба Агент SQL Server.Службы Reporting Services используют Агент SQL Server для обработки всех задач, связанных с планированием. Службы Reporting Services создают и удаляют задания Агента SQL Server в определенной им последовательности. Имена заданий, которые генерируются службами Reporting Services, начинаются с GUID, и могут быть использованы в списке заданий Агента SQL Server.

    Эти задания выполняют очень простую работу: они вставляют в базу данных службы Reporting Services строку "schedule fired". Вставка этой строки инициирует на Сервере отчетов действия, связанные с расписанием.

  • Конфигурационные файлы.Хотя в большинстве случаев эту работу выполняют службы Reporting Services и инструменты настройки конфигурации SQL Server, вам следует знать о существовании нескольких файлов конфигурации (.NET-файлов *.config) а также о том, что изменить некоторые параметры можно только прямым редактированием таких конфигурационных файлов.
  • Дополнительные компоненты.Некоторые задачи, связанные с созданием отчетов, например, проверка подлинности или доставка, при выполнении своих обязанностей зависят от приложений сторонних разработчиков или серверов. Например, доставка по электронной почте потребует участия SMTP-сервера, а проверка подлинности - доступности определенных видов полномочий проверки подлинности. Следовательно, установка системы отчетов может быть нарушена, если нарушена связь с этими элементами,

Клиентские компоненты

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

  • Диспетчер отчетов.Хотя этот модуль в действительности выполняется на сервере, потому что является приложением ASP.NET, он включен в этот раздел, потому что действует в качестве клиента. Диспетчер отчетов позволяет конечным пользователям обращаться к отчетам и управлять ими в соответствии с набором полномочий, которыми они обладают. Диспетчер отчетов управляет веб-приложением для администраторов служб Reporting Services.
  • Диспетчер конфигурации служб Reporting Services.Как уже говорилось, конфигурация представляет собой критически важный аспект работы служб Reporting Services. Помимо непосредственного редактирования конфигурационных файлов, для централизованного редактирования большей части параметров конфигурации можно использовать Reporting Services Configuration Manager (Диспетчер конфигурации служб Reporting Services).
  • Диспетчер конфигурации SQL Server.С помощью этого инструмента вы сможете запустить и остановить службу Windows Reporting Service и осуществить доступ к Диспетчеру конфигурации служб Reporting Service.
  • SQL Server Management Studio.SQL Server Management Studio позволяет работать с некоторыми аспектами служб Reporting Services, например, хранением информации о пользователях, которым разрешен доступ к службам Reporting Services, ролях, совместно используемых расписаниях, папках и объектах служб Reporting Services, а также генерацией моделей отчетов SMDL (Semantic Model Definition Language, языка определения семантических моделей). SQL Server Management Studio следует рассматривать как альтернативу Диспетчеру отчетов для администраторов.
    Дополнительная информация Дополнительную информацию о каждом из этих компонентов можно найти в теме "Обзор компонентов Reporting Services" Электронной документации по SQL Server 2005.

Масштабируемость

Хотя подробное описание того, как масштабировать установку Reporting Services с одного сервера до полномасштабной установки, в данной книге не приводится, стоит рассказать здесь о возможностях масштабирования.

Службы Reporting Services встроены в такие стандартные технологии Microsoft, как базы данных SQL Server, ASP.NET и Internet Information Server (IIS), об этом мы рассказывали в предыдущих разделах. Таким образом, службы Reporting Services могут использовать возможности масштабирования, предоставляемые этими технологиями.

Не вдаваясь в детали, можно считать, что службы Reporting Services можно расширить до веб-фермы, так же, как любую установку IIS, или оставить кластер SQL Server, как и в любой корпоративной установке.

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

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

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

Настройка отчета

Для создания отчета требуется выполнить несколько действий, диктуемых здравым смыслом: сначала мы создаем проект SQL Server Business Intelligence Development Studio (BIDS), который будет содержать связанные файлы, затем инструктируем BIDS о том, какие данные необходимо показать в отчете. После этого, мы определим, какие данные действительно нужны для отчета и, напоследок, хотя это имеет не последнее значение, создадим макет, протестируем и выполним развертывание нашего отчета.

Дополнительная информация Развертывание отчетов можно выполнить через Диспетчер отчетов. Дополнительную информацию об этом можно найти в Электронной документации по SQL Server 2005, тема "Развертывание отчетов с помощью Диспетчера отчетов".
Создаем проект отчета
  1. В меню Start (Пуск) выберите All Programs,. Microsoft SQL Server 2005, SQL Server Business Intelligence Development Studio (Все программы, Microsoft SQL Server 2005, Среда разработки SQL Server Business Intelligence Development Studio). В меню File (Файл) выберите команду New (Создать), затем Project (Проект).
  2. Откроется диалоговое окно New Project (Создание проекта). В панели Project Types (Типы проектов) выберите Business Intelligence Projects (Проекты бизнес-аналитики). В панели Templates выделите Report Server Project (Проект сервера отчетов). Выберите имя для этого проекта и папку назначения. Для данного проекта мы выбрали, соответственно, имена BasicReport и папку SQL2005StepByStep_Reports. Диалоговое окно должно выглядеть следующим образом:

    Предупреждение. В этой процедуре мы не будем использовать другой тип проектов отчета: Report Server Project Wizard (Мастер проекта сервера отчетов). Этот тип проекта выбирать не следует. Если вы все же выберете его, то после нажатия на кнопку ОК откроется окно Report Wizard (Мастера отчетов). В таком случае отмените процесс и начните снова. Мастер отчетов сокращает процесс создания отчетов и частично скрывает от вас подробности создания. Это замечательно для простых отчетов, но в нашем примере мы показываем способ, который обычно используют на практике профессионалы. Вот почему мастер отчетов здесь не рассматривается.
  3. Нажмите кнопку ОК, чтобы создать проект.
  4. Поскольку проект отчета не слишком сложен, в панели Solution Explorer (Обозреватель решения) почти ничего не отображается. Не беспокойтесь, именно так и должно быть. Увидеть Solution Explorer (Обозреватель решений) можно после выбора из меню View (Вид) команды Solution Explorer (Обозреватель решений).
  5. Теперь мы добавим наш первый новый отчет, щелкнув правой кнопкой мыши на папке Reports (Отчеты) в Solution Explorer (Обозревателе решений) и выбрав из контекстного меню команды Add, New (Добавить, Создать элемент).

    Примечание. Можно также начать создание отчета с команды меню Add New Report (Добавить отчет), однако при этом вместо добавления к проекту нового отчета запустится Мастер отчетов.
  6. Откроется показанное на следующем рисунке диалоговое окно Add New Item (Добавление нового элемента). Здесь нужно выбрать в панели Templates (Шаблоны) Report (Отчет) и ввести в качестве имени этого отчета BasicReport v1 (см. рис. вверху следующей страницы).

  7. Нажмите кнопку Add (Добавить) для подтверждения решения.. BIDS отобразит чистый, только что созданный отчет в окне Report Designer (Конструктора отчетов), как показано на следующем рисунке: