Сергей Маклаков
Эффективное использование хранящейся информации является одной из самых важных и самых сложных задач, выполняемых корпоративными информационными системами. Представление информации, хранящейся в базах данных в удобном для менеджеров виде решает широко известный генератор отчетов Crystal Reports фирмы Crystal Decisions (бывшая Seagate Software). Описание основных функциональных возможностей Crystal Reports было дано автором в статье "Новый имидж старого знакомого - Crystal Reports 8". Crystal Reports является клиентским приложением, поддерживающим архитектуру "клиент-сервер". Этот продукт позволяет извлекать данные из баз данных - как реляционных, так и настольных - и эффективно обрабатывать информацию, представляя ее в наглядном, удобном для восприятия виде. Crystal Reports широко распространен во всем мире, формат его шаблонов отчетов является стандартом de'facto. Однако в больших корпоративных сетях Crystal Reports, вследствие особенностей архитектуры, не способен эффективно обеспечить безопасность данных и производительность информационной системы. Для решения задач производительности и безопасности Crystal Decisions разработала систему генерации и распространения отчетов в локальной сети Crystal Info (до версии 7.5 этот продукт назывался Seagate Info). Подробнее о Crystal Info можно прочитать в статье автора "Анализ и распространение информации с Seagate Info 7". Crystal Info выполнен в многоуровневой архитектуре клиент-сервер и имеет слой серверов приложений, позволяющих обеспечить высокую производительность распространения информации в локальной сети.
Интеграция экономики, географическое расположение компаний в разных регионах требуют от информационных систем возможности эффективной работы в глобальных сетях. Хотя Crystal Info имеет инструменты распространения отчетов по электронной почте и через интернет, организация высокопроизводительной работы в глобальной сети требует создания специализированных инструментов. Фирма Crystal Decisions выпустила недавно новый программный продукт, полностью ориентированный на распространение отчетов интернет - Crystal Enterprise.
Crystal Enterprise выполнен в многоуровневой архитектуре клиент-сервер и включает четыре слоя - слой клиента, слой управления, слой выполнения и слой данных (рис. 1). Каждый из слоев содержит набор модулей, выполняющих свои, специфические задачи. Модули могут быть установлены как на одном, так и на нескольких компьютерах в зависимости от типа решаемых задач. Связь между модулями осуществляет Crystal eBusiness Framework. В качестве основного протокола эта структура использует протокол TCP/IP.
Рис. 1. Архитектура Crystal Enterprise.
Клиентский слой Crystal Enterprise позволяет выполнять задачи администрирования всей системы, публиковать и просматривать отчеты. Он включает следующие модули:
-
Crystal Management Console (CMC) - основанное на web-технологии средство администрирования, позволяющее создавать пользователей и группы пользователей Crystal Enterprise, изменять их права, устанавливать опции публикации отчетов, изменять настройки серверов и вносить или удалять лицензионные ключи. Доступ к CMC может быть осуществлен через web-браузер.
-
Crystal Publishing Wizard (рис.2)- приложение, позволяющее администратору и пользователю включить отчет в Crystal Enterprise. Администратор может управлять правами пользователя на включение отчета в Crystal Enterprise и на публикацию отчета.
Рис. 2. Включение отчета в Crystal Enterprise с помощью Crystal Publishing Wizard.
- Crystal Configuration Manager - приложение, позволяющее администратору запускать, останавливать и удалять сервера.
- Crystal Import Wizard позволяет импортировать пользователей, папки и отчеты из Seagate Info или предыдущих версий Crystal Enterprise.
Рис. 3. Импорт информации из APS Seagate Info в APS Crystal Enterprise с помощью Crystal Import Wizard.
- ePortfolio - основанное на web-технологии приложение, позволяющее пользователю просматривать отчеты и устанавливать расписание выполнения отчетов. Crystal Enterprise поддерживает работу с отчетами формата Crystal Reports версий 6, 7 и 8. В качестве альтернативы ePortfolio может быть использован интерфейс Software Development Kit (SDK) для создания собственных приложений, реализующих все функции ePortfolio.
Слой управления решает задачи безопасности, посылает запросы к соответствующим серверам и хранит версии отчетов с сохраненными данными (report instances).
- Web - сервер. Crystal Enterprise поддерживает работу с шестью типами серверов - Microsoft IIS, Netscape, Enterprise Server, Netscape Fast Track Server, Lotus Domino, Apache и CGI.
- Web Component Server отвечает за связь между Web - сервером и прочими компонентами Crystal Enterprise. Web Component Server обрабатывает запросы от браузера и сервера Crystal Server Pages (CSP).
- Automated Process Server (APS ) выполняет три основные функции - обеспечение задач безопасности (обеспечение привилегий пользователей), управление объектами (папками и отчетами) и управление серверами. APS создает базу данных пользователей Crystal Enterprise и определяет права каждого пользователя на определенные операции. База данных APS может быть создана на следующих СУБД: Oracle 7.3 и 8.1, Sybase Adaptive Server 11.5, Informix 7.3, Microsoft Access, Microsoft SQL Server 6.5, 7 и 2000. APS взаимодействуя с сервером Job Server отслеживает выполнение отчетов в заданное время, сохраняет пути к отчетам и поддерживает иерархию папок. Кроме того, APS постоянно отслеживает состояние серверов, формируя таблицу состояния серверов, которая используется для обработки запросов к отчетам.
- File Repository Server. Для каждого экземпляра Crystal Enterprise создается один входящий (Input) и один исходящий (Output) сервер File Repository. Входящий сервер содержит все отчеты, которые были добавлены в Crystal Enterprise пользователями с помощью модулей Crystal Publishing Wizard, Crystal Management Console или Crystal Import Wizard. Исходящий сервер содержит отчеты, выполненные сервером Job Server.
- Cache Server сохраняет страницы отчета, сгенерированные сервером Page Server. По запросу Cache Server пересылает страницы отчета серверу Web Component Server. Хранение страниц на сервере Cache Server позволяет минимизировать обращение к серверу баз данных при обращении к отчету.
Слой выполнения обращается непосредственно к данным и генерирует отчеты. Он включает следующие компоненты:
- Job Server обрабатывает файлы отчетов (.rpt) в соответствии с расписанием APS и генерирует версии отчета, содержащие данные. Для генерации версий отчета Job Server связывается с базами данных.
- Page Server отвечает за получение страниц отчета от сервера Cache Server и генерацию страниц в формате Encapsulated Page Format (EPF). Страницы EPF содержат информацию о форматировании отчета. Данные для отчета могут быть сохранены вместе с отчетом или получены из базы данных.
Слой данных содержит данные, необходимые для генерации отчетов. Он может содержать настольные базы данных (доступ осуществляется через ODBC), реляционные базы данных или ERP - системы.
Рассмотрим взаимодействие компонентов Crystal Enterprise при выполнении типичных задач.
Создание нового пользователя (рис.4).
- Администратор создает в среде Crystal Management Console нового пользователя, и запрос с помощью web-браузера направляется на web- сервер.
- Web- сервер направляет запрос к Web Component Server.
- Web Component Server связывается с APS для создания нового пользователя. Информация о новом пользователе сохраняется в базе данных APS.
- Web Component Server создает страницу с информацией о новом пользователе, которая направляется на web- сервер и далее на web-браузер.
Рис. 4. Взаимодействие модулей Crystal Enterprise при создании нового пользователя.
Публикация отчета с помощью Crystal Publishing Wizard.
- С помощью Crystal Publishing Wizard пользователь добавляет новый отчет в среду Crystal Enterprise.
- Crystal Publishing Wizard устанавливает связь с APS входящим сервером File Repository Server. Файл отчета копируется с клиентского компьютера на входящий сервер File Repository Server. APS создает в своей базе данных ссылку на этот файл.
- Crystal Publishing Wizard показывает информацию о размещенном отчете в окне Summary.
Просмотр отчета из ePortfolio.
- Пользователь пытается просмотреть версию отчета на web-браузере с помощью ePortfolio.
- Запрос направляется с Web- сервера к Web Component Server.
- Web Component Server направляет запрос на страницу к серверу Cache Server.
- Cache Server проверяет доступна ли требуемая страница. Если EPF-страница недоступна, запрос направляется на сервер Page Server.
- Page Server направляет запрос к серверу File Repository Server, получает от него версию отчета с данными, формирует EPF-страницу и направляет ее к серверу Cache Server.
- Cache Server направляет страницу к Web Component Server.
- Web Component Server направляет страницу в отформатированном виде к Web- серверу.
- Web- сервер направляет страницу на web-браузер.
Обновление отчета (рис.5).
- Пользователь из окна просмотра отчета пытается обновить данные.
- Запрос направляется с Web- сервера к Web Component Server.
- Web Component Server направляет запрос на страницу к серверу Cache Server.
- Cache Server проверяет интервал обновления, установленный с помощью Crystal Management Console и определяет, давно ли была обновлена страница. Если интервал истек или страницы нет в кэше, устанавливается связь с Page Server и генерируется страница.
- Page Server получает шаблон отчета с входящего сервера File Repository Server, направляет запрос к базе данных, получает от базы данных свежие данные и формирует EPF-страницу.
- Page Server направляет новую страницу к серверу Cache Server. Cache Server сохраняет копии страниц для возможных будущих запросов и направляет копии страниц к серверу Web Component Server.
- The Web Component Server пересылает запросы на web- сервер, который направляет отчет к web-браузеру.
Рис. 5. Взаимодействие модулей Crystal Enterprise при обновлении отчета.
Crystal Enterprise поставляется в двух вариантах - Standard Edition и Professional Edition. Версия Standard Edition требует установки всех модулей слоя управления и слоя выполнения на одном компьютере и не позволяет обеспечить права доступа для каждого отчета. Модули версии Professional Edition могут быть установлены на разных компьютерах, что позволяет обеспечить оптимальную производительность при выполнении и распространении отчетов, система безопасности реализована как на уроне пользователей, так и на уровне отдельных отчетов. Кроме того, Professional Edition поддерживает технологию Smart Reporting Technology, которая позволяет пользователям не только просматривать, но и создавать новые отчеты из web - браузера.