Mobile Business Intelligence средствами Microsoft

Добрый день!
Представляем простой и недорогой способ организации сервиса мобильной аналитики (Mobile BI) для сотрудников компании.
Для организации сервиса мы использовали технологии Microsoft SQL Server (SSAS, SSIS), службы Microsoft Azure и компоненты DevExpress.

Введение


Аналитики сообщают о все больше возрастающей потребности в мобильной аналитике со стороны компаний в различных отраслях. Особенно силен спрос в ритейле. Почти все основные поставщики BI решений имеют в составе своих продуктов средство для организации Mobile BI. Однако предоставить сотрудникам доступ к аналитическим данным на их мобильных устройствах зачастую не так просто. Готовые решения и услуги по внедрению требуют существенного бюджета, а самостоятельная разработка трудоемка.
Вот основные проблемы с которыми сталкиваются ИТ отделы компаний, при организации Mobile BI решений:

  • Организация безопасности для доступа к данным.
    Как правило, сервера с аналитическими базами находятся в локальной сети компаний. Предоставить доступ к ним с мобильных устройств рискованно.
  • Разграничение доступа к информации для различных групп пользователей.
    Например, директор филиала должен видеть данные продаж только по своему филиалу. Поддержка прав доступа при сильно разветвленной структуре управления зачастую вызывает сложности.
  • Удобные и доступные интерфейсы для мобильных устройств. Аналитические отчеты, разработанные ранее для просмотра на больших офисных мониторах не подойдут для планшета и смартфона. Для мобильной аналитики как правило требуются дашборды и краткие информационные сводки/
  • Авторизация пользователей. Используемая, как правило в корпоративном секторе Active Directory может не подойти для решения данной задачи. Допустим, мы хотим дать доступ всем продавцам розничной сети (, а их может быть несколько тысяч) доступ к данным о их персональных продажах.
  • Аппаратные мощности. Использование серверных ресурсов для мобильной аналитики может носить скачкообразный характер. Например, менеджеры проверяют результаты прошедшего дня утром или в конце отчетных периодов.

Решение


Мы расскажем на нашем примере о том, как можно решить данные задачи.
Итак, вот основные компоненты решения:

  • Серверная платформа.
  • Аналитическая база данных.
  • Интерфейсы для доступа к данным.
  • Механизм авторизации пользователей.

Наше решение состоит из двух серверов: сервер баз данных и сервер приложений. Они размещаются на виртуальных машинах Windows Azure. Использование Windows Azure позволяет легко изменять мощность платформы, а так же обеспечивается высокая доступность сервиса. Кроме того мы выносим решение за пределы локальной сети компании.

aaea7eee231b4991aa971faafb8c2844.jpg

Основной базой данных для решения является база MS SQL Server Analysis Services (OLAP). Для некоторых отчетов и служебной информации используется MS SQL Server. Данные в базу поступают из основного хранилища данных компании с помощью MS SQL Server Integration Services (SSIS).

Пользователь получает доступ к данным через web интерфейс приложения ASP.NET работающего на IIS. Для разработки приложения используется MS Visual Studio и компоненты DevExpress Dashboard for .NET.
DevExpress предоставляет богатые возможности для быстрой разработки дашбордов и отчетных форм, которые отлично работают на мобильных устройствах любых форм факторов.

Пример интерфейса

3e859cca57f648ecb7db2bcc4a07d207.PNG

Для доступа пользователей используется модель аутентификации ASP.NET на основе форм.
На сервере баз данных находится таблица (AccessToObject), содержащая данные о наличии прав пользователя на доступ к определенным объектам информации. Например, к данным о продажах филиалов.

user                    object 
---------------------------------------------
user1@company.com       branch1
user2@company.com       branch2
...

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

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

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

Используя данный механизм нам не нужно заранее генерировать пароли и передавать их сотрудникам компании. Необходимо лишь пригласить их самостоятельно зарегистрироваться в системе.

Заключение


Итак, данное решение Mobile BI отличается низкой стоимостью, высокой скоростью разработки и быстротой развертывания.
Будем рады ответить на вопросы, а так же критические замечания. В ответ на личное сообщение можем предоставить примеры кода.
Спасибо за внимание.

© Habrahabr.ru