Илья Гусев,
ТЕРН
Сегодняшняя ситуация с пониманием того, зачем нужны неспециализированные универсальные средства аналитического доступа к данным и репортинга достигла той стадии, которая была лет 10 - 15 назад на рынке СУБД. В тот момент в основном сложилось общее представление о том, какая функциональность требуется от серверов баз данных, чтобы удовлетворить общие потребности в хранении данных и создать такие, не специализированные на какой-то одной области знаний СУБД. Тогда, появление хороших систем СУБД дало возможность не разрабатывать систему хранения информации каждый раз заново в каждой компании, а использовать уже готовую СУБД какого-либо производителя. Специалисты отделов IT смогли сосредоточиться непосредственно на разработке бизнес приложений, решающих их конкретные задачи. Несколько лет назад похожая ситуация произошла и с самими бизнес приложениями. Стало более выгодно кастомизировать и использовать готовые прикладные пакеты автоматизации бизнеса, чем разрабатывать их "с нуля".
В настоящий момент уже четко сложилось понимание общего круга задач, возникающих при организации аналитического доступа к данным, накопленным в информационных системах.
Остановимся на некоторых из них.
Первое и главное - доступ к данным должен происходить на языке пользователя, который в большинстве случаев не владеет языками программирования. Можно разработать множество специализированных приложений, каждое из которых будет отвечать на какой-то один тип запросов. Но заранее трудно предположить, какие ещё запросы будут нужны пользователю. Поэтому универсальное средство должно либо позволять писать такие приложения очень быстро, либо давать возможность пользователю составлять его непредсказуемые запросы самостоятельно, а значит должно использовать язык бизнес терминов вместо языка программирования. Если принимается второй вариант, то сразу появляется следствие - система должна скрывать от конечного пользователя физическую структуру и способы хранения данных. Знать такие подробности пользователю совсем не нужно. Такая задача решается введением т.н. семантического слоя, который ставит каждому бизнес термину способ получения данных.
Удовлетворив первое, сразу становится возможным расширить круг лиц на предприятии, которые самостоятельно могут общаться с информационной системой. Специалисты IT смогут сосредоточиться на более творческих задачах, чем подготовка отчетов для руководства.
Но сразу возникает другая проблема. Хорошо систематизированная, доступная почти любому пользователю фирмы информация гораздо легче может быть украдена. Это означает, что система должна предусматривать администрирование пользователей как по правам доступа к данным, так и по доступной пользователю функциональности.
В идеальном случае, администрирование должно быть вынесено в отдельную подсистему. Если привязать администрирование к семантическому слою, то придется дублировать слои для каждого пользователя или группы пользователей. А так как семантический слой приходится корректировать при модификации структур данных источников или при добавлении других видов информации (что на практике происходит довольно часто), то повторять эти дублирования становится утомительной задачей. Решение - система должна иметь общий репозиторий, в котором хранятся как семантические слои, так и права пользователей (логинов) на объекты семантических слоёв. То есть так, как решено администрирование в системах СУБД клиент-сервер. Для единообразия, в репозитории можно хранить и права пользователей на доступную им функциональность. Тем самым, будет обеспечена возможность администрирования пользователя независимо от того, за каким компьютером он в данный момент работает.
Безусловно, все эти требования применимы только там, где в этом есть необходимость. Исторические проблемы и конкуренция между производителями серверов MOLAP пока не дают возможности создавать полностью открытые (совместимые) аналитические продукты. В отличие от SQL, для аналитических систем ещё не сложилось единого стандарта языка, обеспечивающего совместимость семантических слоев. Фирмам производителям универсальных аналитических средств приходится писать интерфейсы к каждой не-SQL СУБД. Но накопленный опыт и качество существующих программных продуктов аналитического доступа к данным и репортинга позволяют говорить о том, что их применение оправдывается уже сейчас.
Программные продукты DSS/OLAP фирмы Business Objects позволяют создать систему аналитического доступа к данным и репортинга над источниками данных, отражающими произвольную предметную область. Продукты DSS/OLAP BusinessObjects могут обеспечить широкий спектр конфигураций Системы Поддержки Принятия Решений - от отдельных рабочих мест DSS и приложений OLAP до централизованной системы с применением технологий Internet/Intranet. С другой стороны, BusinessObjects может быть использован для получения информации как из баз данных SQL, в том числе организованных как DataWarehouse, так и быть средством front-end для складов данных, использующих специализированные многомерные СУБД (Microsoft SQL7.0 OLAP Services, Hyperion Arbor Essbase, Oracle Express, IBM DB2 OLAP, Informix MetaCube).
BusinessObjects обеспечивает доступ конечных пользователей к данным, позволяя формулировать запросы на языке бизнес терминов.
Чтобы обеспечить такую работу необходимо иметь заранее приготовленные семантические слои. Типы семантических слоев зависят от типов используемых источников данных. В BusinessObjects могут использоваться три типа слоев. Если источник данных это реляционная БД, то семантический слой разрабатывается при помощи программы BusinessObjects Designer - графической среды, в которой описывается логическая структура существующей базы данных источника и создаются каталоги бизнес терминов (Universe). Разработанный таким образом Universe это файл, содержащий всю необходимую информацию для автоматической трансляции пользовательских запросов в скрипты языка SQL. Если источник данных это многомерная БД (Oracle Express, Arbor Essbase, Microsoft SQL7.0 OLAP Services, IBM DB2 OLAP, Informix MetaCube), то BusinessObjects будет использовать семантические слои, определённые при создании этих БД. Третий тип источников данных поддерживаемый BusinessObjects это любые приложения, из которых можно получать данные, используя вызовы Visual Basic for Applications (VBA API). Семантическим слоем в данном случае будет являться интерфейсное приложение VBA, которое необходимо предварительно разработать.
Пользовательскими средствами формирования запросов и построения отчетов являются BusinessObjects Reporter и BusinessObjects WebIntelligence. Это соответственно "толстый" и "тонкий" клиенты системы.
Reporter является мощным средством построения сложных, профессионально оформленных отчетов в которых могут объединяться данные из разных источников (в том числе источников разных типов), выполняться сложные вычисления и операции OLAP. Reporter инсталлируется на рабочие места конечных пользователей (Windows9x, NT4.0).
WebIntelligence это серверное приложение, инсталлируемое на сервер Windows NT, которое позволяет организовать доступ к корпоративной информации из сети Internet/Intranet. Имея браузер Internet поддерживающий Java, конечный пользователь может составлять произвольные запросы к реляционным базам данных корпорации (через Universe), выполнять операции OLAP, просматривать и освежать документы, подготовленные в BusinessObjects Reporter.
Оба клиентских продукта используют общий принцип работы с данными. Результат пользовательского запроса сохраняется в создаваемом документе (Reporter - на машине пользователя, WebIntelligence - на сервере), дальнейшая работа с документом (вычисления, OLAP, оформление) производится по этой выборке. Обращения к базе данных происходят только при модификациях запросов или при освежении данных отчета. Такое решение обеспечивает эффективную работу с реляционными БД и не ограничивает пользователя рамками предварительно собранных данных.
Приложения BusinessObjects легко интегрируются в единую информационно аналитическую систему предприятия при помощи установки репозиториев - наборов таблиц, создаваемых в какой-либо реляционной базе данных. Разработчик семантических слоёв может экспортировать Universe в репозиторий и с этого момента все пользователи смогут строить по нему свои запросы. Разработчики отчетов также могут экспортировать документы в корпоративный репозиторий и пользоваться другими документами, сохраненными в этом репозитории.
Через репозиторий документов также передаются задания на автоматическую обработку документов сервером BusinessObjects Broadcast Server, который может выполнять освежение, печать и другие операции с документами как по расписанию, так и по реакции на события в источниках данных.
Репозитории создаются административным продуктом BusinessObjects Supervisor. Используя этот продукт, администраторы информационной системы могут назначать права пользователей на использование функций продуктов, доступность семантических слоев, бизнес терминов в запросах, данных на уровне записей, документов. Информация о правах также сохраняется в репозитории. Благодаря такой централизованной организации администрирования оказалось возможным создать корпоративные системы с десятками тысяч пользователей, работающих совместно.
BusinessObjects - открытая система. Большинство продуктов BusinessObjects является серверами OLE Automation. Поэтому система BusinessObjects может быть использована не только как самостоятельная, но и быть промежуточным слоем между источниками данных и другими, специализированными приложениями. В этом случае BusinessObjects выступает в роли централизованного, администрируемого источника аналитической информации.
Российская компания ТЕРН является партнером и дистрибьютором фирмы Business Objects. Компания ТЕРН проводит обучение продуктам BusinessObjects, оказывает консалтинговые услуги по внедрению корпоративных информационно аналитических систем, хранилищ данных.
Дополнительную информацию можно получить в компании ТЕРН
+7 (095) 915-5951
+7 (095) 915-5860
а также:
http://www.tern.ru
http://www.businessobjects.com