Встраиваемые
технологии

Extending the value of InterSystems’ products

DeepSee 2.0

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

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

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

Архитектура DeepSee.

Архитектура DeepSee 2.0

 

OLAP-кубы DeepSee

DeepSee может использовать в качестве источника данных для кубов хранимые хранимые классы Caché, что позволяет построить куб на структурах существующего приложения.

Кроме этого, формирование значений для измерений и мер для OLAP-кубов возможно с использованием произвольного кода на Caché ObjectScript, что позволяет:

  • использовать в кубах значения, которые хранятся не только в виде хранимых классов, но и в виде глобалов, что полезно для унаследованных (legacy) приложений;
  • использовать значения, полученные из внешних систем при помощи технологий Caché Gateway — SQL (ODBC/JDBC), .NET/Java, Callout, при помощи вызова веб-сервисов и т.п.;
  • использовать данные, фигурирующие в интеграционных решениях, построенных на платформе InterSystems Ensemble;
  • проводить OLAP-исследования данных для систем, с которыми уже была выполнена интеграция.

Всё это предоставляет разработчику прикладных программ практически неограниченные возможности по формированию исходных данных для кубов DeepSee.

Описания кубов

Для описания структуры кубов в DeepSee используется специальный компонент DeepSee Architect. С его помощью куб может быть быстро создан на основе хранимых классов приложения Caché «перетягиванием» свойств хранимых классов в соответствующие разделы описания куба – измерения, меры и т.п.

Интерфейс DeepSee Architect

Интерфейс DeepSee Architect

DeepSee не требует перекомпиляции классов приложения для использования их данных в аналитических инструментах. Это значительно упрощает внесение изменений в аналитическую модель данных, не затрагивая работу пользователей с приложениями.
Описание кубов хранится в XML-формате в отдельном классе куба. При компиляции этого класса DeepSee автоматически создает всю необходимую инфраструктуру данных для поддержки OLAP-куба – таблицу фактов, таблицы измерений и классы, описывающие возможности просмотра первичных данных (listings).

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

Внесение изменений в данные описания производятся самим DeepSee при работе программиста или администратора с DeepSee Architect (инструмент формирования аналитических моделей данных DeepSee), но также могут выполняться прикладным приложением, поскольку описание хранится в открытом формате и к нему есть доступ через механизмы рефлексии Caché.

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

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

Сводные таблицы и KPI

Сводные таблицы в DeepSee создаются при помощи визуального инструмента (DeepSee Analyzer) путем определения набора измерений, мер и фильтров, соответствующих интересующим аналитика и пользователя данным.

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

Интерфейс DeepSee Analyzer

Интерфейс DeepSee Analyzer

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

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

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

KPI в DeepSee устроены сходным со сводными таблицами образом, но, в отличие от сводных таблиц, могут иметь пороговые значения, которые интерпретируются виджетами, отображающими значения показателей. Описание KPI содержит набор действий, доступных для пользователя. Эти действия могут приводить к изменению запроса, на основе которого рассчитываются KPI, исполнению произвольного кода (например, взаимодействующего с прикладным приложением, чьи данные анализируются).

DeepSee API

Исполнение MDX-запросов

DeepSee предоставляет официальный документированный API для выполнения произвольных MDX-запросов к ранее сформированным кубам и предметным областям.
MDX-запросы могут быть сформулированы во время исполнения приложения.

Это обеспечивает:

  • отображение результатов выполнения аналитических запросов в существующих интерфейсах клиентских приложений;
  • использование сложных показателей в бизнес-логике приложения;
  • формирование отчетов собственными средствами приложения.

Встраивание аналитических панелей в существующие приложения

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

Предоставление информации об объектах DeepSee

DeepSee REST API также позволяет получить информацию о существующих объектах DeepSee, таких как:

  • кубы,
  • меры кубов,
  • пивоты,
  • листинги,
  • аналитические панели,
  • фильтры,

в актуальном для современных веб- и мобильных приложений формате JSON. Пример аналитической панели DeepSee, отображённой в веб-приложении DeepSee Web.

Пример аналитической панели DeepSee, отображённой в веб-приложении DeepSee Web

Пример аналитической панели DeepSee, отображённой в веб-приложении DeepSeeWeb


Аналитические панели DeepSee

Аналитические панели (dashboards) DeepSee представляют собой интерфейс, предназначенный для работы с аналитическими данными конечных пользователей.

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

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

primMap

Пример аналитической панели DeepSee

Для представления данных на аналитических панелях DeepSee используются компоненты аналитического средства DeepSee Analyzer, что позволяет пользователю выполнять детализацию просматриваемых данных (drill down) или просмотр первичных данных, на основе которых строились данные (listing), если это разрешено правами доступа непосредственно при просмотре панели.

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

Портал DeepSee

Портал DeepSee — это интерфейс для работы конечных пользователей с аналитическими данными и функциями DeepSee.

портал DeepSee

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

При помощи портала решаются следующие задачи:

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

Модель безопасности

Платформа DeepSee тесно интегрирована с моделью безопасности Caché, как по функциональному признаку (доступ к разным компонентам), так и на уровне отдельных сводных таблиц, аналитических панелей.

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