Mobile Business Intelligence with Microsoft

  • Tutorial
Good afternoon!
Introducing a simple and inexpensive way to organize a mobile analytics service (Mobile BI) for company employees.
To organize the service, we used Microsoft SQL Server technologies (SSAS, SSIS), Microsoft Azure services and DevExpress components .

Introduction


Analysts are reporting an ever-increasing need for mobile analytics by companies in various industries. Retail demand is especially strong. Almost all major BI solution providers have a tool for organizing Mobile BI as part of their products. However, providing employees with access to analytical data on their mobile devices is often not so simple. Turnkey solutions and implementation services require a substantial budget, and self-development is labor intensive.

Here are the main problems that IT departments face when organizing Mobile BI solutions:
  • Security organization for data access.
    As a rule, servers with analytical databases are located in the local network of companies. Providing access to them from mobile devices is risky.
  • Differentiation of access to information for various user groups.
    For example, a branch director should only see sales data for his branch. Support for access rights with a highly branched management structure is often difficult.
  • Convenient and affordable interfaces for mobile devices. Analytical reports developed earlier for viewing on large office monitors are not suitable for a tablet and smartphone. For mobile analytics, dashboards and brief information summaries are usually required /
  • User authorization. Used, as a rule in the corporate sector, Active Directory may not be suitable for solving this problem. Suppose we want to give access to all sellers of the retail network (and there may be several thousand) access to data on their personal sales.
  • Hardware capacities. Using server resources for mobile analytics can be spasmodic. For example, managers check the results of the past day in the morning or at the end of reporting periods.


Decision


We will tell on our example how to solve these problems.
So, here are the main components of the solution:
  • Server platform
  • Analytical database.
  • Interfaces for accessing data.
  • User authorization mechanism.


Our solution consists of two servers: a database server and an application server. They are hosted on Windows Azure virtual machines. Using Windows Azure allows you to easily change the platform power, as well as providing high availability of the service. In addition, we make the decision outside the local network of the company.



The main database for the solution is the MS SQL Server Analysis Services (OLAP) database. For some reports and service information, MS SQL Server is used. The data in the database comes from the main data warehouse of the company using MS SQL Server Integration Services (SSIS).

The user accesses data through the web interface of the ASP.NET application running on IIS. To develop the application, MS Visual Studio and DevExpress Dashboard for .NET components are used..
DevExpress provides rich opportunities for the rapid development of dashboards and reporting forms that work perfectly on mobile devices of any form of factors.

Interface Example



A form-based ASP.NET authentication model is used to access users.
On the database server there is a table (AccessToObject) containing data on the availability of user rights to access certain information objects. For example, sales data for affiliates.

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


This table can be automatically generated on the basis of data containing the structure of the company, for example, a list of branches with contacts of managers on the corporate portal or the staff structure of the company from the 1C system.

Using a simple code, we complement the process of registering a user on the site. You can register a user for whom access is specified in the AccessToObject table.

When generating reports, we dynamically set filter settings for DevExpress components based on data from the AccessToObject table, thus ensuring user access only to the information intended for him.

Using this mechanism, we do not need to generate passwords in advance and transfer them to company employees. It is only necessary to invite them to independently register in the system.

Conclusion


So, this Mobile BI solution is notable for its low cost, high development speed and rapid deployment.
We will be happy to answer questions, as well as critical comments. In response to a private message, we can provide code examples.
Thanks for attention.

Also popular now: