Продолжение. Начало здесь.

В прошлой части я написал об основе Oracle Business Intelligence Enterprise Edition – аналитическом сервере. Но сервер это что-то, что скрыто от глаз конечных пользователей. В этой части, я расскажу о тех компонентах, которые уже ближе к конечному пользователю.

Когда мне самому приходится анализировать данные, лежащие в какой то базе, обычно мне хватает какого-нибудь инструмента вроде Oracle Discoverer, а то, что нельзя или долго делать в Discoverer я всегда могу написать на SQL. Мне повезло – я более-менее знаю SQL и могу им пользоваться. Но когда приходится внедрять систему BI для конечных пользователей возникает несколько проблем. И многие из них нетехнологические.

На любом предприятии есть масса людей, которые завяляют что им нужна бизнес-аналитика. На практике же получается что очень немногие могут пользоваться даже достаточно дружественным Discoverer или другим построителем отчетов. И чем выше такой человек в иерархии организации, тем такая ситуация встречается чаще и тем сложнее ему осваивать какие-то инструменты. Да и часто такие люди вообще \”на Вы\” с компьютерами. Что делать, навыки и способности у всех разные.

Можно условно выделить несколько групп пользователей бизнес аналитики:

  1. Очень немногочисленная группа пользователей, которые могут писать сами SQL и для них необязательно причесывать метаданные для лучшего понимания
  2. Чуть более широкая группа пользователей, которые SQL писать не умеют, но если им дать инструмент и привести данные в \”человеческий\” вид, в состоянии сами, с использованием инструмента сделать запрос к базе и создать отчет или модифицировать существуюущий под себя
  3. Следующая группа, еще более многочисленная, уже не в состоянии написать отчет самостоятельно, даже используя инструмент, но в состоянии вспомнить и открыть из списка тот готовый отчет, в котором содержится нужная им цифра
  4. Еще дальше стоят люди, которые уже не в состоянии сориентироваться даже в списке готовых отчетов и хотят, чтобы кто то им сгруппировал наиболее часто встречающиеся отчеты в гуруппу и могут смотреть на какие то индикаторы, если их предварительно обучить.
  5. Ну и, конечно, существует группа пользователей, которые вообще не пользуются компьютерами, либо пользуются в лучшем случае для чтения почты или как пишущей машинкой. Таким проще поднять трубку и позвонить кому то с вопросом что происходит там-то и там-то и как сегодня выполняется план

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

В общем, ситуация чем-то напоминает известный армейский анекдот:

В армии обязанности строго определены:
– Все до старшего лейтенанта включительно должны уметь работать самостоятельно.
– Капитан должен уметь организовать работу.
– Майор должен знать, где что делается.
– Подполковник должен уметь доложить, где что делается.
– Полковник должен самостоятельно найти место в бумагах, где расписаться.
– Генерал должен уметь самостоятельно расписаться, где укажут.

В жизни, также как и в армии \”генералы\” очень важны и часто BI проекты затеваются для обеспечения информацией именно их. Но пользоваться системой они умеют только \”где укажут\”.

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

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

Если бы не было очень важных людей из групп 3, 4 и 5, то все было бы более-менее просто. Поставил систему типа Discoverer – и все счастливы. Но из за того, что эти люди есть, выбор в пользу той или иной платформы делается исходя из удобств или неудобств платформы для этих пользователей.

Итак, что же предлагает Oracle в пакете Oracle BI EE для конечных пользователей?
Для иллюстраций можно взять презентацию отсюда.
Там даже есть несколько скриншотов.

Презентационный сервер.
Помимо аналитического сервера, описанного в прошлой части, в состав пакета входит презентационный сервер (Presentation Server), который отвечает за создание пользвательского веб-интерфейса и выдачи его через какой то веб-сервер в браузер пользователю. Примечательно, что весь пользовательский интерфейс в Oracle BI EE веб-ориентированный, при этом не используются технологии плагинов или апплетов. То есть, на рабочее место пользователя ничего не устанавливается, для работы нужен только браузер. Если вы слышали о технологии AJAX – то это оно.
В составе презентационного сервера есть подкомпоненты.

Answers.
Это веб-ориентированный построитель отчетов. Для пользователей Discoverer – этот инструмент по своей идее выполняет ту же функцию, что и Discoverer Plus. С его помощью можно создавать нерегламентированные запросы к базе, используя Drag&Drop интерфейс. Пользователь работает в понятной ему терминологии.

Например, если он хочет посмотреть объем продаж продукта на дату, он должен выбрать показатель \”Объем продаж\”, из измерения \”Продукты\” выбрать уровень \”Продукт\”, а из измерения \”Период\” выбрать уровень \”Дата\”

Где на самом деле в базе данных (и одна ли эта база данных) находится \”Объем продаж\” и каким запросом его нужно обсчитать, – его не интересует.

Как его посчитать – кодирует IT специалист и прописывает это в репозитарии, который использует аналитический сервер.

Отчеты возможно делать активными. Пользователь может опускаться по иерархии для получения более детальных данных. Например с уровня \”Месяц\” можно опуститься до уровня \”День\” и дальше до уровня \”Час\”

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

Интересно, что при желании, в Answers можно сделать прямой запрос к базе, минуя слой метаданных. Это полезно в том случае, если написать SQL к базе будет быстрее, чем прописать все в метаданных и потом на их основе содать запрос.

Конечно этой возможностью стоит пользоваться с осторожностью, поэтому по умолчанию она отключена.

Информационные панели.

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

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

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

Информационные панели позволяют предоставить доступ к аналитике пользвателям групп 3 и 4. Хотя если даже вы профессиональный аналитик, все равно удобно иметь набор готовых информационных панелей для себя. Для экономии времени.

В целом это выглядит, как такой аналитический портал. В него даже можно вставлять не только отчеты Answers, но и произвольный контент – ссылки на другие сайты, документы, HTML вставки и т.д.

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

BI Pubslisher

Про этот компонент можно написать отдельную большую статью и при желании даже книжку.

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

Этот продукт (а этот компонент можно купить и отдельно от пакета Oracle BI EE), изначально назывался Oracle XML Publisher и долгое время использовался как отчетный движок только в Oracle eBusiness Suite. Потом его выпустили в свободное плавание. В OEBS он также продолжает использоваться.

Когда Oracle приобрел Siebel Systems, в качестве компонента, отвечающего за печатные отчеты использовался продукт компании Actuate, но очевидно, что имея два собственных репортинговых решения (Oracle Reports и BI Publisher) для Oracle было естественно заменить его на свой продукт.

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

BI Publisher
устроен немного по-другому.

В XML существует семейство трансформирующих языков – Extensible Stylesheet Language (XSL), задача которых проводить XML преобразования данных из XML в XML другой структуры и другие форматы.

Один из языков XSL называется XSL Formatting Objects (XSL-FO) Он предназначен для формирования на основе XML описаний документов практически в любом выходном формате. (PDF, XLS, HTML и т.д.)

BI Publisher является движком для таких XSL-FO преобразований.
То есть, если очень грубо, чтобы получить документ в PDF формате – нужно:

  1. Взять два исходных XML документа. В одном будет описана структура, шаблон отчета. Во втором будут описаны данные или ссылка, где их взять. То есть описание структуры и описание данных – разделены. Более того, они описываются в XML и поэтому сами эти XML можно создать с помощью чего угодно – среды разработки, собственного приложения и даже вручную в текстовом редакторе.
  2. Переслать эти два файла на BI Publisher сервер и указать в каком выходном формате сервер должен вернуть документ. На сервере лежит опять же XML описание как создать, например PDF документ.
  3. Сервер возьмет описание шаблона, описание данных и описание правил создания выходного документа, сделает преобразование и выбросит документ куда укажем или полшет на принтер или другое устройство.

Очевидно, что меняя любой из трех XML, участвующих в процессе можно:

  • На основе одного и того же шаблона, напечатать документы по разным данным. Самый очевидный вариант.
  • На основе одних и тех же данных напечатать документы по разным шаблонам.
  • На основе одних и тех же дыннх и шаблонов напечатать документ в разных выходных форматах. Например PDF или HTML для
    PDA.
  • Возможны