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

- OLAP-кубы DeepSee
- Сводные таблицы и KPI
- DeepSee API
- Индикаторные панели DeepSee
- Портал DeepSee
- Модель безопасности
OLAP-кубы DeepSee
DeepSee может использовать в качестве источника данных для кубов хранимые структуры Caché, что позволяет построить куб на структурах существующего приложения.
Кроме этого, формирование значений для измерений и мер для OLAP-кубов возможно с использованием произвольного кода на Caché Object Script, что позволяет:
- использовать в кубах значения, которые хранятся не только в виде хранимых классов, но и структур в виде глобалов, что полезно для унаследованных (legacy) приложений;
- использовать значения, полученные из внешних систем при помощи технологий Caché Gateway - SQL (ODBC/JDBC), .NET/Java, Callout, при помощи вызова веб-сервисов и т.п.;
- использовать данные, фигурирующие в интеграционных решениях, построенных на платформе InterSystems Ensemble, что позволяет проводить OLAP-исследования данных систем, с которыми уже была выполнена интеграция.
Все это предоставляет разработчику прикладных программ практически неограниченные возможности по формированию исходных данных для кубов DeepSee.
Описания кубов
Для описания структуры кубов в DeepSee используется специальный компонент DeepSee Architect. С его помощью куб может быть быстро создан на основе хранимых классов приложения Caché при помощи «перетягивания» свойств хранимых классов в соответствующие разделы описания куба – измерения, меры и т.п.
Интерфейс DeepSee Architect
В отличие от предыдущих версий, DeepSee II не требует перекомпиляции классов приложения для использования их данных в аналитических инструментах. Это значительно упрощает внесение изменений в аналитическую модель данных, не затрагивая работу пользователей с приложениями.
Описание кубов хранится в XML-формате в отдельном классе куба. При компиляции этого класса DeepSee автоматически создает всю необходимую инфраструктуру данных для поддержки OLAP-куба – таблицу фактов, таблицы измерений и классы, описывающие возможности просмотра первичных данных (listings).
Между кубами могут устанавливаться отношения, что позволяет использовать измерения связанного куба в сводных таблицах и MDX-запросах, а это в свою очередь дает возможность сократить общее количество кубов и время на перестроение индексов DeepSee.
Внесение изменений в данные описания производятся самим DeepSee при работе разработчика или администратора с DeepSee Architect (инструмент формирования аналитических моделей данных DeepSee), но также могут выполняться прикладным приложением, поскольку описание хранится в открытом формате и к нему есть доступ через механизмы рефлексии Caché.
Предметные области
OLAP-кубы DeepSee могут использоваться для выполнения запросов напрямую, а могут быть включены в состав так называемых предметных областей, содержащих в своем описании фильтры, которые будучи наложенными на данные исходного куба, предоставят пользователям этих областей только интересующие (либо доступные с точки зрения выбранной модели разделения доступа) данные.
Сводные таблицы и KPI
Сводные таблицы в DeepSee создаются при помощи визуального инструмента (DeepSee Analyzer) путем определения набора измерений, мер и фильтров, соответствующих интересующим аналитика и пользователя данным.
С технической точки зрения совокупность измерений, мер и фильтров, заданных аналитиком, порождает MDX-запрос, который передается на исполнение серверу MDX-запросов DeepSee. Запрос, соответствующий редактируемой в настоящий момент сводной таблице, может быть просмотрен в любое время.
Интерфейс DeepSee Analyzer
Построенная сводная таблица может быть сохранена в репозитории DeepSee и в дальнейшем может быть встроена в индикаторную панель, с которой работают конечные пользователи.
Помимо набора параметров, определяющих данные, сводная таблица в репозитории DeepSee хранит параметры отображения, информацию о визуальном оформлении сводной таблицы, настройки представления данных в виде графиков и т.п.
С технической точки зрения сводная панель представляет собой хранимый объект Caché, к которому можно получить доступ из приложения.
Данные сводных таблиц могут быть экспортированы в формате Microsoft Excel, включая диаграммы.
KPI в DeepSee устроены сходным со сводными таблицами образом, но, в отличие от сводных таблиц, могут иметь пороговые значения, которые интерпретируются виджетами, отображающими значения показателей. Описание KPI может содержать набор действий, которые может иницировать пользователь. Эти действия могут приводить к изменению запроса, на основе которого рассчитываются KPI, исполнению произвольного кода (например, взаимодействующего с прикладным приложением, чьи данные анализируются).
DeepSee API
Исполнение MDX-запросов
DeepSee II предоставляет официальный и документированный API для выполнения произвольных MDX-запросов к ранее сформированным кубам и предметным областям.
MDX-запросы могут быть сформулированы во время исполнения приложения.
Эта возможность может быть использована:
- для отображения результатов выполнения аналитических запросов в существующих интерфейсах клиентских приложений;
- для использования сложных показателей в бизнес-логике приложения;
- для формирования отчетов собственными средствами приложения.
Встраивание индикаторных панелей в существующие приложения
DeepSee II позволяет встраивать индикаторные панели в интерфейсы существующих приложений. Все элементы пользовательского интерфейса DeepSee основаны на технологии InterSystems ZEN и представляют собой веб-страницы, что обеспечивает возможность встраивать их во множество различных клиентских приложений.
Индикаторные панели DeepSee
Индикаторные панели (dashboards) DeepSee представляют собой интерфейс, предназначенный для работы с аналитическими данными конечных пользователей.
Индикаторная панель представляет собой веб-страницу с различными индикаторами, графиками и табличными данными, которые используют ранее определенные сводные таблицы и KPI в качестве источников данных. Обычно индикаторные панели также включают средства фильтрации для детализации отображаемых данных.
Сохраненные индикаторные панели DeepSee могут быть сгруппированы произвольным образом в репозитории DeepSee для организации доступа пользователей к интересующим данным.
Пример индикаторной панели DeepSee
Для представления данных на индикаторных панелях DeepSee используются компоненты аналитического средства DeepSee Analyzer, что позволяет пользователю выполнять детализацию просматриваемых данных (drill down) или просмотр первичных данных, на основе которых строились данные (listing), если это разрешено правами доступа непосредственно при просмотре панели.
Также из панели пользователь может отправить оповещение другим пользователям, например, если руководитель наблюдает, что некоторый параметр вышел за пределы допустимых границ, он может потребовать отчета от сотрудника, отвественного за данный участок, не покидая DeepSee.
Портал DeepSee
Портал DeepSee — это интерфейс для работы конечных пользователей с аналитическими данными и функциями DeepSee.
Пример интерфейса портала DeepSee. В правой части отображается содержимое репозитория DeepSee – индикаторные панели, сводные таблицы. В левой части окна отображаются оповещения от других пользователей и список объектов, с которыми пользователь недавно работал.
При помощи портала решаются следующие задачи:
- работа с аналитическим инструментом создания сводных таблиц DeepSee Analyzer;
- создание индикаторных панелей, содержащих сводные таблицы и различные индикаторы;
- просмотр и изменение существующих панелей и сводных таблиц;
- обмен информацией с другими пользователями, портал DeepSee является коллективным рабочим пространством, и все пользователи со сходными правами доступа видят одни и те же элементы.
Модель безопасности
Новая версия DeepSee тесно интегрирована с моделью безопасности Caché, как по функциональному признаку (доступ к разным компонентам), так и на уровне отдельных сводных таблиц, индикаторных панелей.
Таким образом, можно добавить новые привилегии для работы с DeepSee в уже существующие роли приложения, которое расширяется аналитическим функционалом, сохраняя существующую в приложении модель разделения прав доступа.





