Серверная архитектура для распределенного доступа к информации

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

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

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

Наконец, описывается решение в области отчетности, от использования которого, как я считаю, многие организации получат немалые преимущества. Новая организация работы с отчетами, которую я называю Enterprise Reporting ("корпоративная отчетность"), предлагает информационным службам и конечным пользователям новое представление об отчетности.

Эволюция отчетов

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

Мэйнфреймы

Когда на компьютерном ландшафте доминировали мэйнфреймы, для генерации отчетов использовались языки третьего поколения COBOL, RPG и Focus. Отчеты создавались программистами, которые решали задачи извлечения данных, их форматирования и распечатки с целью распространения. В большинстве случаев извлекались наборы данных очень большого объема, с тем, чтобы сократить число выпускаемых отчетов. Данные форматировались в соответствии с тем, как программисты представляли себе потребности пользователей, и распечатывались в пакетном режиме на специализированных высокоскоростных принтерах. Отчеты эти были столь объемны, что появилась специальная широкоформатная бумага, напечатанные на которой отчеты читать было намного удобнее. Большинство руководителей, тем не менее, в лучшем случае просматривали одну - две страницы этой груды печатных страниц, а до всего остального у них просто не доходили руки.

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

Миникомпьютеры

С появлением миникомпьютеров Digital Equipment, Data General и ряда других компаний были созданы новые инструменты подготовки отчетов с более широкими возможностями, чем у COBOL.

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

Персональные компьютеры

С появлением ПК перед пользователями открылись широчайшие возможности. Не стала исключением и область отчетности. В 1980-х годах было создано множество новых инструментов средств генерации отчетов, рассчитанных на конечных пользователей. Crystal Reports, Reportsmith, Impromptu и другие компании впервые предоставили им возможность создавать свои собственные отчеты. Доступ к данным стал намного проще, для форматирования были подготовлены удобные в работе шаблоны, не требовалось никакого программирования. Сотрудники информационных служб почувствовали большое облегчение, когда пользователи смогли наконец создавать отчеты без посторонней помощи. К сожалению, пользователи по-прежнему не имели доступа к масштабным системам генерации операционных отчетов, не могли широко распространять свои отчеты и не могли выполнять сложные вычисления.

Архитектура клиент-сервер

Клиент-серверные системы заняли доминирующее положение в разработке приложений в конце 1980-х - начале 1990-х годов. Приложения таких компаний, как PeopleSoft и SAP, создавались на основе реляционных СУБД, в частности, Oracle, Sybase и Informix, и разрабатывались специально для вычислительной среды, где клиентам и серверам предназначались свои собственные роли. Клиент-серверные приложения формировали критически важные рабочие данные на уровне подразделений. Доступ к этим данным требовался значительно большему числу пользователей; чтобы удовлетворить эти запросы, была нужна новая технология.

Несмотря на совершенствование технологий в области приложений и реляционных СУБД, для распределенной клиент-серверной среды не было создано никаких новых систем отчетности. В современных клиент-серверных системах обычно используются два вида инструментов: COBOL или SQR для операционной отчетности и приложения на ПК, такие как Crystal Reports, - для конечных пользователей. Это далеко не оптимальное решение, поскольку интегрировать эти инструменты крайне сложно. Таким образом, сотрудникам информационной службы приходится поддерживать две независимые среды, пользователи по-прежнему не имеют доступа к системам операционной отчетности, а производительности систем для ПК явно не хватает для требовательных клиент-серверных приложений.

Internet

С возникновением Internet открылись новые возможности для распространения корпоративной отчетности. Internet делает доступными разрозненные источники данных для географически удаленных пользователей (что сулила клиент-серверная модель, но так и не смогла обеспечить). К опубликованным в Internet корпоративным данным могут получить доступ огромное число пользователей.

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

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

Обзор систем отчетности

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

Настольные средства отчетности предназначены для эпизодического создания отчетов небольшими рабочими группами и отдельными пользователями. Такие отчеты по своей природе очень просты. Обычно они состоят в выполнении простых запросов к небольшим наборам однородных данных и форматирования в соответствии с предварительно определенными стилями, оформленными в виде шаблонов. Системы отчетности для ПК типа Crystal Reports и Reportsmith не требуют программирования и спроектированы с тем расчетом, чтобы с ними было удобно работать. В результате возможности формирования отчетов довольно ограничены, а подготовить с их помощью сложные или масштабные отчеты крайне трудно.

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

Проблемы систем отчетности

Доступ и распространение данных в клиент-серверных системах

Пакетные клиент-серверные приложения, в том числе и те, которые предлагают SAP, PeopleSoft, Remedy и Clarify, используются в большинстве компаний, входящих в перечень Global 2000. С появлением таких приложений возникли и новые проблемы, касающиеся доступа к данным, безопасности и управления. Операционные данные стали размещаться на уровне подразделений, а не централизованно. Основная часть таких приложений относится к критически важным, данные создаются огромным числом пользователей, и еще больше пользователей к ним обращается. И хотя их развертывание обычно начинается на уровне подразделения, они быстро выходят за эти рамки: сначала вовлекаются несколько подразделений, а затем достигается уровень всего предприятия.

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

Производители пакетных клиент-серверных приложений оптимизировали свои продукты с тем, чтобы информация заносилась в базу данных максимально быстро. Однако извлечь данные оттуда зачастую весьма обременительно. Это исключительно сложные приложения; так, SAP R/3 создает в базе данных более 8000 таблиц, а для Clarify требуется свыше 300. Новые версии этих приложений для увеличения производительности или расширения функциональности часто изменяют и без того сложные схемы баз данных. Конечные пользователи не могут рассчитывать на то, что сумеют разобраться в постоянно меняющихся схемах баз данных, чтобы создать требуемые запросы. Впрочем, если они и смогут "расшифровать" их (или, что более вероятно, это сделают в информационных службах), обращение многочисленных пользователей к базе данных с операционной информацией может крайне негативно сказаться на ее работе. Кроме того, сопровождающая генерацию отчетов передача больших объемов информации с сервера баз данных на настольные ПК может значительно снизить пропускную способность сети. Как результат, приложение будет работать крайне медленно.

Отчетность в хранилищах данных

По данным The Meta Group, почти 90% компаний из перечня Global 2000 сейчас создают хранилища данных или более компактные киоски данных. Хранилища данных объединяют информацию, получаемую из различных источников, в то время как киоски в основном рассчитаны на информацию, касающуюся одного подразделения или одного направления бизнеса. Большинство хранилищ и киосков данных создавались в первую очередь для задач анализа информации. Однако отчетность на основе данных, размещающихся в хранилищах или киосках, сулит значительные преимущества. Поскольку хранилища данных содержат информацию, полученную из различных источников, создаваемые на их основе отчеты могут содержать внешние, внутренние или консолидированные данные. Одновременно генерация отчетов по размещенной в хранилищах данных информации позволяет намного увеличить число пользователей, которые могут работать с ней, и тем самым делает более эффективными инвестиции в технологии хранилищ данных. Наконец, возможность переложить часть работы по генерации отчетов на хранилища данных снижает нагрузку на операционные базы данных.

Оперативная аналитическая обработка и многомерные базы данных, выпускаемые такими компаниями, как Arbor Software, Business Objects, Cognos и рядом других, помогают выполнять развернутый анализ информации, находящейся в хранилищах и киосках данных.

Многие инструменты управляемых запросов и оперативной аналитической обработки имеют функции генерации отчетов. Однако следует учитывать, что все эти средства создаются для анализа данных, а не для их распространения. Отчетность должна быть доступна огромному количеству пользователей, которым требуется просматривать данные и, возможно, проводить их небольшой анализ. Задача распространения информации среди больших групп пользователей требует масштабируемости, которой не обладают инструменты управляемых запросов и OLAP. Эти средства достаточно сложны и на обучение работе с ними порой требуется несколько дней, а то и недель, что для рядового пользователя непозволительная роскошь. Наконец, стоимость (от 1000 до 3000 долл. на рабочее место) большинства достаточно развитых инструментальных средств запросов и анализа данных слишком велика для массового использования.

Чтобы отсортировать большие объемы содержащейся в хранилище данных информации для выявления наиболее важных элементов, часто необходимо ее сложное форматирование. Для этого требуется процедурная логика языков программирования третьего и четвертого поколения. Наконец, распространение информации из хранилищ данных на платформы, где хранилища данных не развернуты, крайне затруднено.

Доступ к корпоративным данным через Web

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

В продуктах компаний Oracle, Sybase, NetDynamics и Focus и других доступ к корпоративным данным через Internet организован на базе запросов. Web-браузер передает запрос в базу данных, из нее извлекаются данные, преобразуются в формат HTML и для просмотра перенаправляются обратно в браузер. Лучшим примером этому может служить программная система Federal Express Package Tracking, ежедневно отслеживающая миллионы пакетов. Подход, основанный на модели запросов, прекрасно работает, когда объем извлекаемых и отображаемых данных относительно невелик, благодаря чему форматирование достаточно простое, а планирования вообще не требуется. Он также подходит для тех случаев, когда не требуется передавать данные другим, и защита довольно проста (как в приложении FedEx, где номер накладной - это все, что нужно для доступа к информации). Механизм запросов позволяет извлекать информацию непосредственно из базы данных.

Для доступа к корпоративным данным через Internet в более сложных ситуациях модель запросов не подходит. К примеру, если извлекается не несколько строчек данных, а несколько сотен страниц, преобразовывать их для просмотра в формат HTML особого смысла не имеет. Точно также, модель запросов не подходит и в том случае, когда извлекаемые данные надо передать другим пользователям, или если обработку сложных запросов следует планировать на вечерние или ночные часы. В этом случае для доступа к данным через Internet в большей степени подходит модель генерации отчетов. Она значительно упрощает управление защитой данных, если, к примеру, 200 страниц информации представляют собой финансовый прогноз. Кроме того, отчетность как основа для доступа через Internet к корпоративным данным позволяет сократить нагрузку на базу данных при обращении к ней многочисленных пользователей за счет включения в вычислительную систему третьего звена - сервера отчетов.

Указанные проблемы лишь частично решаются как производственными, так и настольными системами отчетности. Попытки адаптировать программные продукты предыдущих поколений к новым требованиям оказались неэффективными. Необходим новый подход к работе с отчетами, который я обозначаю термином Enterprise Reporting ("корпоративная отчетность").

Концепция корпоративной отчетности

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

По данным The Meta Group, системы корпоративной отчетности стали самым быстрорастущим сегментом рынка систем работы с отчетами.

Формирование операционной отчетности

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

Настройка и адаптация к требованиям конечных пользователей

Система корпоративной отчетности должна учитывать интересы конечных пользователей, предоставляя им более широкий доступ к корпоративной среде формирования операционной отчетности и, тем самым, к корпоративным данным. Две системы отчетности, как мы видели при анализе производственной и настольной систем, - решение крайне сложное и неэффективное. У конечных пользователей должна быть возможность использования той же системы отчетности, которая применяется и для создания упомянутых выше операционных отчетов. Если пользователи смогут использовать и модифицировать компоненты операционных отчетов, у них будет возможность и создания новых отчетов с гарантией их согласованного форматирования и удобочитаемости. К примеру, если пользователя интересуют показатели продаж по одному региону из отчета, посвященного целому ряду регионов, ему достаточно выделить часть уже готового отчета. Имея доступ к отчетам, которые легко настроить и адаптировать к своим требованиям, пользователь может сделать гораздо больше, чем с помощью одной настольной системы отчетности. Благодаря системе корпоративной отчетности конечные пользователи получают возможность работать с тем же инструментарием, что и сотрудники информационной службы.

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

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

Доступ через Internet

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

Интеграция с имеющимися технологиями

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

Управление средой отчетности

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

Технологические требования к системе корпоративной отчетности

В рамках системы корпоративной отчетности находят применение немало различных технологий. Ниже приведено краткое описание важнейших технологических элементов.

Многозвенная архитектура

Для поддержки сложной структуры системы корпоративной отчетности необходима многозвенная архитектура с функциями, распределяемыми между клиентом и сервером. Сервер выполняет критически важную роль в доступе к данным, генерации и распространении отчетов и способствует оптимальному распределению нагрузки на сеть и операционные базы данных. Многозвенная архитектура также обеспечивает гибкость, достаточную для удовлетворения требований любой среды и может адаптироваться к изменениям самой среды.

Гибкий доступ к данным

Зачастую корпоративные данные поставляются из различных источников (к примеру, реляционных и объектных баз данных, "плоских" файлов и т.д.) и для отображения их необходимо предварительно обработать. К функциям такой обработки относятся фильтрация, обобщение, развертывание соединений, категоризация, нормализация, подстановки и так далее. Стандартные SQL-запросы не в состоянии выполнить столь сложную обработку. Для этого обычно требуется мощный язык программирования.

Масштабируемость генерации отчетов

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

Получение по страницам

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

Тонкий клиент

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

Доступ через Internet

Любая система отчетности, создаваемая для работы на уровне предприятия, должна быть доступна в Internet. Это значит несколько большее, чем просто распространение отчетов в формате HTML. Вся среда отчетности (в том числе доступ к серверу, создание и планирование отчетов, просмотр отчетов и ссылки на другие отчеты) должны быть доступны через Internet как для пользователей в самой компании, так и вне нее. Доступ через Internet к среде отчетности и содержащимся в ней критически важным данным требуют обеспечения безопасности и выборочного контроля над созданием отчетов и их просмотром. Стандартных средств для этого явно недостаточно. Кроме того, HTML не подходит для просмотра очень больших отчетов (например, списка заказов на 200 страницах) или сложных форматов, типичных для стандартных операционных отчетах. Для решения этой задачи потребуется усовершенствованная технология просмотра информации в Internet. Чтобы удовлетворить требования как внутренних, так и внешних пользователей и в то же время обезопасить корпоративные данные, Internet следует превратить в ключевой элемент архитектуры отчетности, а не просто средством распространения.

Программируемость

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

Компонентная архитектура

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

Мощная и простая среда для конечных пользователей

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

Встраиваемость

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

Расширенные средства представления данных

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

Репозиторий

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

Конфигурирование

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

Многоплатформенность

На предприятии зачастую используются различные аппаратные платформы и операционные системы, иногда плохо совместимые друг с другом. Чтобы обеспечить эффективное выполнение операций в пределах предприятия система корпоративной отчетности должна работать в этой гетерогенной середе, обычно содержащей клиенты с ОС Windows и серверы под Windows NT и Unix различных производителей, таких как Sun , HP и IBM.

Решение Actuate

Компания Actuate Software (www.actuate.com; партнером Actuate в России является компания CSBI EE, адрес ее Web узла - www.csbi.ru - Прим. перев.) разработала первый инструментарий корпоративной отчетности, получивший название Actuate Reporting System. По-видимому, Actuate повезло, что волею случая она довольно поздно вышла на рынок систем отчетности, когда стали ясны все требования к подобным системам уровня предприятия. Во всяком случае, Actuate Reporting System с самого начала создавалась так, чтобы удовлетворять этим требованиям. Фактически Actuate пересмотрела один из самых фундаментальных аспектов отчетности - сам отчет. Компания соблюла баланс необходимый между возможностями и гибкостью, требуемыми для генерации операционных отчетов, и интуитивностью и простотой использования инструментария, позволяющего конечным пользователям создавать, генерировать и просматривать отчеты.

Live Report Document

Actuate отказалась от традиционных представлениях о бумажных и электронных отчетах. Взамен компания предложила концепцию Live Report Document логически согласованного метода представления как больших, так и незначительных объемов данных. Всякий отчет Actuate - это хранимый файл, содержащий объекты - компоненты отчета и данные, входящие в состав окончательного документа, который можно переносить практически на любую платформу. Для просмотра отчетов Report Document служит Actuate Report Viewer, который можно бесплатно загрузить с Web-узла компании Actuate. Каждый отчет Actuate Report содержит встроенное оглавление Table of Contents, отражающее структуру отчета, а также встроенный механизм поиска, существенно упрощающий навигацию. Поскольку средство просмотра распространяется бесплатно, любой пользователь может работать с документами Actuate, причем никакого специального обучения для этого не требуется.

Аналогично Web-документам, отчеты Actuate содержат гиперссылки на другие отчеты. Гиперссылки - очень мощное средство привязки соответствующей информации, при этом нет необходимости знать точное ее местонахождение. С помощью гиперссылок можно получить более детальную информацию или обратиться к соответствующим отчетам. Для привязки различных отчетов к одной точке можно задать многонаправленные ссылки. Actuate Live Report Document могут одновременно использоваться и для описания данных, содержащихся в отчете. Обычные отчеты представляют собой статичные изображения, однако функция Select в модуле Actuate Viewer позволяет извлекать из отчета данные и экспортировать их практически в любое приложение. Live Report Document - мощный инструментарий, с помощью которого можно не только решать задачи просмотра больших объемов данных, но также получить ссылку на данные, не входящие непосредственно в сам отчет и предусмотреть экспорт содержащихся в нем данных в другие приложения.

Адаптируемость

Actuate представляет собой адаптируемую компонентную программируемую архитектуру. Actuate Developer Workbench - это визуальная объектно-ориентированная инструментальная среда проектирования и совместного использования отчетов и их компонентов. Поскольку отчеты по самой своей природе являются набором компонентов (например, потоков данных, структур страниц, графиков, текстов и численных данных), Actuate разработала среду проектирования отчетов, позволяющую создавать многократно используемые компоненты для совместного их применения в рамках всего предприятия. В качестве базовых "строительных" блоков предлагается библиотека Actuate Foundation Classes. Разработчики отчетов могут создавать и новые специализированные классы, порождая их из классов Actuate. Кроме того, Actuate поддерживает многоуровневое наследование, инкапсуляцию и полиморфизм. Дополнительная гибкость обеспечивается благодаря языку программирования Actuate Basic, который с точки зрения синтаксиса совместим с Visual Basic, но имеет объектно-ориентированные расширения и обеспечивает широкие возможности программирования, которые необходимы для больших и сложных отчетов.

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

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

Один из самых выразительных элементов продукта Actuate - масштабируемость, обеспечиваемая за счет многозвенной архитектуры. Есть целый ряд аспектов масштабируемости, в том числе создание отчетов, их распространение, доступ через Internet и все из них имеют весьма важное значение. Многозвенная архитектура системы Actuate распределяет задачи между серверами и клиентами, предлагая строительные блоки для корпоративной архитектуры любого размера. Actuate Report Server - основа всей архитектуры; он обеспечивает централизованный доступ к данным и создание отчетов. Report Encyclopedia управляет распространением отчетов, а также составляет каталоги отчетов, структур отчетов и их компонентов.

Место создания отчетов и схема распространения отчетов - вот два критических аспекта развертывания на предприятии любой системы отчетности. Архитектура Actuate специально проектировалась с учетом этих аспектов. Actuate Report Server - то самое мощное третье звено, освобождающее клиентские ПК от извлечения данных и создания отчета, а также сокращающее сетевой трафик за счет минимизации пересылки больших отчетов и наборов данных. Схема распространения отчетов, предлагаемая в системе Actuate и получившая название Virtual Report Distribution, воистину уникальна; отчеты остаются на сервере отчетов и пересылаются клиенту постранично. Объектно-ориентированная архитектура Actuate позволила реализовать схему постраничной передачи. Каждый отчет представляет собой набор объектов, но клиенту пересылаются только объекты, входящие в состав требуемой страницы. Наконец, программируемая природа и API-интерфейсы Actuate Report Server позволяют интегрировать его практически в любую прикладную среду, или программировать определенные действия, выполняющиеся при возникновении определенных событий.

Internet

Архитектура Actuate идеально подходит для доступа через Internet. Фактически, поддерживаемая Virtual Report Distribution постраничная рассылка отражает принятый в Web способ распространения информации. Но Actuate выходит за рамки простого распространения отчетов в формате HTML, реализуя возможность доступа через Internet ко всей системе отчетности. К Report Server, в том числе ко всем папкам и компонентам, содержащимся в Report Encyclopedia, любой пользователь, указавший корректные идентификатор и пароль, может получить доступ через Actuate Web Agent. Web Agent по запросу формирует динамическое HTML-представление Report Server и Report Encyclopedia. Кроме того, Web Agent также преобразует отчеты для просмотра в Web. Это могут быть или HTML-отчеты, или документы Actuate Live Report Document. Отчеты в формате HTML можно просматривать при помощи любого браузера, но существует ряд ограничений, связанных с природой HTML. Возможность работать в Web с документами Live Report Document в Actuate обеспечивается за счет подключаемого модуля Actuate Viewer Plug-in. Этот модуль обладает той же функциональностью, что и Actuate Viewer, но работает в рамках браузера при открытом Live Report Document.

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


Об авторe

Кристин Комафорд - с 1988 года консультировала ведущие компании, занимающиеся вопросами программного обеспечения. Она работала программистом в Microsoft и Lotus, а также консультировала сотни фирм из перечня Fortune 1000. Кристин известна своим активным участием в формировании стандартов и лучших традиций в хаотичном мире графических пользовательских интерфейсов и клиент-серверных систем, а с недавнего времени - и в корпоративных сетях intranet. На Web-узле Кристин (www.christine.com) можно найти немало советов, касающихся создания программ и организации работы в Internet.


Доступ к информации через Internet

ЗадачиПростыеСложные
Объем данныхНебольшойБольшой
ФорматированиеПростоеСложное
Распространение данныхНетПо требованию
ПланированиеНетРазнообразное
ЗащитаПростаяРазнообразная
Влияние на производительность базы данныхБольшоеНебольшое
ПодходЗапросыОтчеты



Рисунки

Рис. 1. Обзор систем отчетности

Рис. 2. Доступ к данным в клиент-серверных системах

Рис. 3. Отчетность и анализ

Рис. 4. Доступ к корпоративным данным через Web

Рис. 5. Рынок систем отчетности

Рис. 6. Actuate Live Report Document

Рис. 7. Архитектура Actuate Reporting System

Поделитесь материалом с коллегами и друзьями