В апреле этого года корпорация BusinessObjects (ее доля на мировом рынке средств OLAP в конце прошлого года составила около 30%) заключила дистрибьюторское соглашение с российской фирмой ТЕРН о продвижении своих продуктов. Высокие темпы роста продаж с тех пор свидетельствуют об отличном соответствии продуктов BusinessObjects сегодняшнему уровню требований к системам OLAP в России. “По словам представителей фирмы ТЕРН, продукты корпорации BusinessObjects были выбраны после десяти месяцев сравнения продуктов OLAP нескольких фирм на круге задач, с которыми чаще всего приходится сталкиваться при внедрении систем автоматизации предприятий. Главными критериями при выборе являлись полнота семантического описания источников данных, которая давала бы возможность надежной работы с произвольными структурами баз данных, наличие понятных и вместе с тем развитых средств построения печатных отчетов и анализа, простота администрирования и небольшой период внедрения.
Рабочее место пользователя BusinessObjects дает возможность строить аналитические отчеты, в том числе по разнородным источникам данных, испоьзуя терминологию конкретного бизнеса
Средства OLAP BusinessObjects настолько хорошо продуманы, что во многих случаях позволяют отказаться от использования выделенных хранилищ данных DataWarehouse, обеспечивая при этом удобный доступ к информации в уже существующих базах. По опросу пользователей Oracle, проводимому независимым журналом Oracle Technical Journal, BusinessObjects был признан лучшим продуктом DSS/OLAP 1996 г.
В BusinessObjects Designer могут быть описаны очень сложные реляционные модели данных
Подбор продуктов BusinessObjects обеспечивает построение широкого спектра конфигураций систем поддержки принятия решений - от отдельных рабочих мест до централизованной системы с применением технологий Internet/intranet. Кроме того, BusinessObjects может служить для получения информации из баз данных SQL, в том числе организованных как DataWarehouse, и быть средством front-end для складов данных, использующих специализированные многомерные СУБД (Arbor Essbase, Oracle Express). BusinessObjects существует для платформ Windows (3.1x, 95, NT) и UNIX (Solaris 2.5, IRIX 6.2 и, к концу 1997 г., HP UX и AIX)
Семантический уровень
Эта подсистема, которая позволяет конечным пользователям OLAP формулировать запросы к БД, оперируя привычными терминами, имеет в BusinessObjects особенности, пока еще редкие в других продуктах такого класса. BusinessObjects изначально предлагала свои продукты как средство построения отчетов и OLAP для реляционных баз данных оперативных приложений, т. е. имеющих структуру таблиц и связей, оптимизированную на выполнение коротких транзакций. Подобные базы, как правило, содержат большое (десятки, сотни) количество таблиц с очень сложной общей структурой связей. Аналитическую информацию здесь часто приходится извлекать из не связанных непосредственно между собой групп таблиц. В BusinessObjects применена схема генерирования сценариев на SQL по предварительно описанной программистом модели данных (Universe). Скрипты могут состоять из значительного числа операторов SELECT, сильно различающихся по своей структуре. Полученные выборки синхронизируются по той же модели данных. Эти особенности дают возможность корректно работать по практически произвольным структурам отношений и связей между таблицами, не ограничиваясь простейшими “звездчатыми” или “снежиночными”.
Аплет Java WebIntelligence позволяет формулировать запросы к серверу WebIntelligence в терминологиивашего бизнеса
Вместе с тем семантический уровень BusinessObjects позволяет работать и с базами данных, организованными как RDBMS DataWarehouse (Informix MetaCube, Sybase IQ и др.), поскольку можно определять специфичное для этой технологии контекстное использование агрегатных таблиц и данных.
Инструментом описания семантики в BusinessObjects является программа Designer. С ее помощью программист или администратор, знающий, как информация расположена в базе, создает каталог терминов конечного пользователя и определяет для каждого термина метод получения данных (фрагменты запроса SQL). Здесь же задаются исходные иерархии измерений и форматы отображения объектов в отчетах. Правила сборки запросов оговариваются в Designer косвенно описанием структуры связей таблиц, где определяются типы отношений (1:1,1:N,N:N, outer join, shortcut join), параметры связей (фрагменты SQL, которые будут помещаться в условие WHERE), правила разрешения циклов связей (таблицы псевдонимов, контексты) и др. Модели данных могут быть построены по любой базе, доступной через ODBC32 либо напрямую (Oracle, Sybase, Informix, Microsoft SQL Server, DB2, CA-Ingres, Teradata, Red Brick, Rdb). При прямом доступе используются особенности диалекта SQL конкретной RDBMS. Созданные в Designer модели применяются в клиентских приложениях Reporter, BusinessQuery и WebIntelligence для построения запросов в терминах бизнеса. Для получения информации с серверов OLAP, не использующих SQL (Essbase, Oracle Express), модели не строятся, поскольку они импортируются напрямую клиентским приложением.
Построение отчетов
Формирование запросов в пользовательских терминах, их исполнение, интеграция данных из разных источников, просмотр данных с возможностями детализации и обобщения по иерархиям измерений и построение полноценных отчетов, как экранных, так и печатных, должно производиться полностью в рамках одного приложения. BusinessObjects приняла это требование как постулат, и поставляемый ею продукт Reporter с дополнением Explorer ему удовлетворяет. Уровень подготовки специалиста, создающего отчеты, может быть примерно как у среднего пользователя Excel.
Пользователь составляет запрос к источнику данных на основе каталога терминов Universe. Reporter автоматически преобразует этот запрос в сценарий SQL, оптимизируя количество и состав операторов SELECT, и производит выборку данных в локальный файл отчета BusinessObjects. В процессе дальнейшей работы выборка может обновляться, пополняться или редуцироваться по желанию пользователя. Данные из выборок отображаются в отчете в виде таблиц, перекрестных таблиц, графиков или отдельных ячеек. Одни и те же данные могут иметь несколько, в том числе и различных, отображений в зависимости от требований к документу. Пользователь может определять производные (вычисляемые) значения в виде контекстно-зависимых или “жестких” переменных и использовать их наравне с основными данными в локальных операциях сортировки, фильтрации, агрегирования, ranking и др., наиболее часто необходимых при составлении отчетов. Программист может вводить собственные элементарные функции, программируя их, допустим, на Си; они очень просто встраиваются в Reporter. Особенностью BusinessObjects является также то, что системы иерархий измерений, по которым можно выполнять операции детализации и обобщения (Drill down/Drill up), являются гибкими: пользователь в любой момент может отредактировать имеющиеся или ввести собственные иерархии.
Благодаря тому что пользовательская среда интегрирует формирование запросов с работой пользователя над данными, BusinessObjects удалось найти прекрасное решение проблемы прямого доступа к корпоративной информации. Здесь присутствует четкое разделение обязанностей. Задачей программиста является только описание логической модели данных, он не создает выборки про запас, не пишет специальных приложений для каждого конкретного типа отчета. Пользователь сам определяет ту информацию, которая нужна в данный момент, и получает ее непосредственно из того места, где она создается или хранится. При этом информация будет представлена в многомерном виде, пригодном для проведения аналитических операций и составления отчетов. Полнота описания источника в модели Universe и отсутствие промежуточных хранилищ избавляют пользователя от необходимости обращаться к помощи программиста для обновления или реструктурирования выборок данных. Это также дает возможность контролировать производительность аналитической системы в целом. Например, имея быстрый сервер СУБД и слабую персональную машину, пользователь может строить отчет, спускаясь вниз по иерархиям измерений и фиксируя на каждом шаге фильтры детализации, ограничивая тем самым объем выборки, а значит, и уменьшая время локальных вычислений. Или, в обратной ситуации, пользователь может заранее заказать всю информацию, которая ему понадобится, и затем локально вести обработку. Поскольку документ сохраняется в файле вместе с выборками данных, работу над ним можно вести в режиме off-line при отсутствии связи с источником данных.
В документ BusinessObjects могут входить данные, получаемые одновременно из разных источников. Для этого достаточно определить несколько запросов и при необходимости указать, по каким полям выборки связаны между собой, задавая тем самым логическую структуру данных отчета.
Хотя метод формирования запросов по каталогам Universe и является основным, поскольку избавляет от необходимости знать что-либо о таблицах, связях, SQL и вообще о базах данных, профессионал имеет возможность выбирать информацию самостоятельно. Ему доступны SQL, хранимые процедуры (если позволяет сервер СУБД) и персональные данные (текст, DBF, данные из Excel и Lotus 1-2-3). В получаемых таким способом выборках необходимо только указать, какие поля являются измерениями, какие - атрибутами, а какие - агрегируемыми значениями.
Для тех пользователей, которые сами не занимаются построением отчетов, существует возможность создания навигационных диалогов при помощи встроенного языка сценариев (аналог Visial Basic) и внешнего управления системой, так как она может быть сервером OLE Automation.
Минимальной конфигурацией системы BusinessObjects может быть отдельно установленный продукт Reporter. Если отсутствуют заранее подготовленные модели Universe, то Reporter можно применять для построения простейших табличных и графических отчетов по персональным источникам. Модели Universe, созданные в среде Designer, позволяют пользователю работать с любыми реляционными базами через семантический уровень. Добавив Explorer, можно будет строить отчеты, содержащие перекрестные таблицы и функциональность Drill, а при наличии соответствующих дополнений - работать с серверами OLAP Arbor Essbase, Oracle Express и SAP BAPI.
Если на предприятии создается выделенный склад данных, применение BusinessObjects сделает этот процесс более гладким как на этапе постановки задачи, так и его реализации. Самой сложной задачей, возникающей при построении DataWarehouse, является определение информации, которая должна там храниться. Для этого надо проанализировать отчеты, наработанные для первичных источников. После создания хранилища можно использовать уже готовые отчеты, просто перенастроив семантический уровень на работу со складом данных.
Интеграция и безопасность
Следующим уровнем наращивания системы BusinessObjects является объединение рабочих мест в систему с централизованным администрированием прав пользователей, общими репозиториями Universe и документов. Эти функции обеспечивают продукт Supervisor. При помощи Supervisor создается база данных, которая может быть открыта на любом корпоративном SQL-сервере, доступном со всех рабочих мест. База будет содержать несколько доменов.
Домен Universe позволяет производить дистрибуцию Universe от разработчиков к пользователями. Если пользователь создал по какому-то Universe документ, а потом разработчик или администратор изменили этот Universe в домене, то с этого момента запросы будут проходить по обновленной схеме.
Служебный домен Universe Develop применяется разработчиком для “обкатки” Universe перед тем, как экспортировать его для общего использования.
Домен документов является местом централизованного хранения и распространения разработанных отчетов между пользователями BusinessObjects. Через этот домен пользователь может отправить документ на обработку заданий (обновление отчета, печать, экспорт отчета на Web, рассылку по списку и выполнение сценариев) по расписанию с помощью специального продукта Document Agent Server (DAS).
Домен безопасности хранит информацию о правах пользователей системы. Начиная с момента подключения рабочего места к домену безопасности, вход в систему будет разрешен лишь после процедуры аутентификации пользователя. Документы и модели Universe, созданные в этом режиме, становятся недоступными при отключении от домена или при отсутствии разрешения данному пользователю на работу в режиме off-line. Администратор может определять время работы пользователя, его права по доступу к данным и функциональным возможностям системы. При назначении прав доступа к данным администратор может ограничить доступ конкретного пользователя как к отдельным объектам каталогов Universe, так и к конкретным данным путем прописывания соответствующих фрагментов запросов SQL в условиях WHERE. Доступные функции задаются как назначением видимости органов управления приложением, так и запрещением отдельных операций (вплоть до копирования в Clipboard). Все операции администрирования могут производиться с одного рабочего места администратора Supervisor. Одновременно можно управлять более чем 10 тыс. рабочих мест, например в фирме Shell, отделе медицинской логистики, Департаменте обороны США, в компании Lucent.
Доступ из WWW
Уже в этом году выходит новый продукт BusinessObjects WebIntelligence (проект Darwin), который позволит обращаться к корпоративной информации через стандартный браузер Web с любой платформы (Windows, Mac, UNIX), имеющей встроенную виртуальную машину Java. Пользователь может строить и просматривать отчеты, задавая произвольные запросы к базам данных опять же в терминах своего бизнеса. WebIntelligence использует те же Universe, что и другие средства BusinessObjects. Как и в остальных продуктах, пользователю не нужно привлекать специалистов для проведения каких-либо операций по конструированию выборок, промежуточных многомерных баз и т. д. Сохраняется возможность работы с репозиториями и способы администрирования.
В WebIntelligence реализована схема тонкого клиента, работающего с удаленным сервером приложений. Формулирование запросов и работа с отчетом обеспечивает аплет Java, код которого автоматически передается в браузер в момент первого обращения к серверу приложений. Обновление кода происходит в дальнейшем только при появлении его новых версий. Формирование выборок и построение документа производится на сервере приложений WebIntelligence, который передает изображение документа клиенту в виде HTML-страниц. Сервер WebIntelligence использует стандартные средства доступа к корпоративным базам, такие, как SQL*Net for Oracle, Open Client for SQL Server или ODBC.
Этот подход был применен Business Objects, поскольку, во-первых, в настоящий момент только таким путем можно обеспечить многоплатформность и уменьшить затраты на техническую поддержку. Альтернативные подходы либо не обеспечивают многоплатформность (ActiveX пока существует лишь для Windows), либо требуют переинсталляции клиентских продуктов при выходе новых версий (технология Plug-In). Во-вторых, большую часть вычислительной нагрузки можно перенести на сервер, оставив на клиентском рабочем месте только органы управления.
Распределенная объектная технология, на которой базируется WebIntelligence, придает системе исключительную гибкость и расширяемость, так как компоненты сервера WebIntelligence могут работать либо на отдельной машине, либо быть распределенными по нескольким системам. В последнем случае обеспечивается динамическое распределение нагрузки по компонентам как при выполнении задач, так и при отказах отдельных серверов. Распределенная компонентная архитектура DCA WebIntelligence реализована на CORBA-совместимой технологии ORB (object request broker), лицензированной у фирмы Visigenic Software.
Илья Гусев