Введение
Распределенная OLAP система представляет собой сплав корпоративных технологий. В основу системы положена концепция "Хранилище Данных". Используется технология отображения многомерных данных в реляционную модель под названием "Снежинка". Реляционное представление таблиц Баз Данных отображается в объектную модель с помощью технологии Enterprise Java Beans (Entity EJB). Масштабируемость, транзактивность, безопасность и сбалансированность обеспечивается архитектурой Серверов Приложений (AppServer EJB). Интеграция с CORBA используется для возможности подключений разнородных Клиентских Приложений к Серверу Приложений. В целях снижения сетевого трафика между Клиентскими Приложениями и Сервером Приложений в качестве формата данных, при взаимодействии, используется XML. Состояние объектов преобразуется в XML формат и передается за один запрос на сторону клиента. Так же запросы по извлечению фактов посылается на Сервер Приложений в формате XML. Система спроектирована с использованием UML.
Тезисы с научной конференции
Е.В. Игумнов, С.А. Резинкин,
(АВТФ, АММ-00)
Распределенная OLAP-система
Введение
Распределенная OLAP (Online Analytical Processing) система предназначена для взаимодействия с рассредоточенными базами данных. Она должна удовлетворять требованиям масштабируемых, открытых, гибких, платформо-независимых и защищенных систем. Особую важность данные требования приобретают при создании корпоративных систем. Это необходимо, прежде всего для того, чтобы оправдать затраты на создание и обслуживание сложного ПО. Время жизни таких систем должно быть достаточно долгим. Один из возможных путей сокращения затрат и продления срока существования системы связан с созданием набора универсальных компонентов многократного применения. Реализуемая на уровне этих компонентов бизнес-логика при создании распределенной системы позволяет разработчикам концентрироваться не на системном программировании, а на предметной области решаемой задачи.
Предлагаемая распределенная OLAP-система использует стратегию отображения многомерной модели базы данных в реляционную модель под названием “Снежинка”. Безопасность системы достигается определением прав доступа клиентов к бизнес-методам компонентов. Авторизованным клиентам предоставляется доступ только к тем методам, доступ к которым был разрешен. Обеспечение удаленных вызовов берет на себя система (Сервер Приложений). Все вопросы обеспечения низкоуровневого взаимодействия и организации удаленных вызовов полностью скрыты как от разработчика компонентов, так и от клиентов. Клиентские приложения разрабатываются точно так же, как если бы система работала в локальной конфигурации, т.е. без использования удаленных вызовов. Открытость системы обеспечивается использованием языка IDL (Interface Definition Language IDL), который позволяет компонентам предоставлять CORBA/IIOP-интерфейс, в результате чего CORBA-клиент получает простой и надёжный механизм взаимодействия с распределенной системой. Масштабируемость системы достигается за счет особенностей используемой архитектуры компонентов – EJB (Enterprise Java Beans), позволяющей без изменения самих компонентов размещать их на разных вычислительных машинах и связывать их и единое распределенное приложение посредством сети.
Распределенная OLAP-система разрабатывается с использованием архитектуры Enterprise Java Beans. Коммуникации в системе построены на технологии общей объектной архитектуры брокерных запросов (CORBA). В роли хранилища данных выступает реляционная база данных. Клиентские части разрабатываются на языках C++ и Java. Web-компоненты разрабатываются с использованием технологии Servlet. Внутренним форматом данных служит расширяемый язык разметки (XML). Система проектируется с помощью унифицированного языка моделирования (UML).
Возможности системы
Областью применения системы являются любые задачи связанные с динамическим изменением данных, которые необходимо сопоставлять и обрабатывать по разным временным выборкам и срезам. Например: экономическая задача по мониторингу изменения рынка ценных бумаг, политическая задача по сопоставлению и прогнозирования рейтинга кандидатов на пост президента или задача министерства образования по отслеживанию численности учащихся во времени и прогнозировании роста востребованности специальностей у студентов.
В сравнении с уже существующими системами, данная система имеет главные особенности подобных систем с дополнительными возможностями, которые не реализованы в существующих системах. Главным преимуществом системы является направленность на интеграцию с уже существующими системами и распределенность на уровне данных и компонентов системы. Данные свойства обусловлены модульностью системы и использованием стандартизованных интерфейсов для сопряжения компонентов системы. Кроме того, где это возможно, использованы платформно-независимые технолошии (язык Java и технология Enterprise Java Beans).
Система имеет уникальную совместимость выраженную в платформенной и сетевой независимости. Система функционирует на самых популярных ОС таких как Windows, Unix, MacOS. Может работать на таких сетевых протоколах как TCP/IP, X.25 и др.
Система обладает легко расширяемым инструментарием для просмотра, редактирования, анализа и обработки данных. В случаях специфических предметных областей есть возможность расширить или полностью заменить механизмы отображения, анализа и редактирования данных.
Система обладает возможность работать с большим количеством разных баз данных, например ORACLE, MS SQL, Sybase, PostgreSQL, MySQL, Access и д.р.
Универсальная структура метаданных ориентированна на широкий спектр предметных областей в которых система может быть использована. Другими словами структура системы позволяет хранить и работать с разнородной информацией из разных областей знаний.
Пример реального использования
Система проходит апробацию как информационно-аналитическая система "Высшее образование". В роли стейкхолдера выступает Областная Администрация Новосибирской Области. В связи с большим потоком и объемом информации по учебным заведениям Новосибирской Области, существует проблема анализа и навигации в имеющихся данных.
Были сформулированы следующие технические требования к системе:
- Создать единое хранилище данных для имеющейся информации
- Имеющаяся информация должна храниться и обрабатываться в хронологическом порядке
- В основе структуры данных необходимо использовать метакуб
- Возможности пользовательского интерфейса должны позволять производить сопоставление и анализ различных информационных срезов
- Должен присутствовать инструментарий коррекции и создания структуры данных описываю предметную область
- Необходим удаленный доступ к системе
- Обязательна система безопасности системы
- Желателен распределенный характер системы на уровне баз данных и серверных компонентов
- Желательно наличие механизма прямого ввода информации в хранилище данных из уже существующих электронных источников данных
- Необходимы средства представления результатов в виде, удобном для анализа (формирование отчёты, графики).
Сценарий работы с системой выглядит следующим образом:
- Ввод структуры данных предметной области в систему
- Ввод фактов описанных структурой данных в систему
- Добавление фактов в систему по мере поступления
- Использование аналитических инструментов для работы с имеющимися фактами
- Принятие решений на основе полученных данных
Благодаря свойствам данной системы ввод данных может осуществляться из самых различных источников, при необходимости новые компоненты импорта данных могут быть просто добавлены в систему.
Ввод фактов упрощается за счёт гибкой модели метаданных.
Простое поддержание актуальности данных и потенциально большое количество источников данных улучшает качество принятия решений.
Научный руководитель В.М. Зыбарев, канд.техн.наук, доц.
Screenshots клиента на C++
Screenshots клиента на JAVA
UML Specification



