This project examines the prototypical development of a browser-based user interface for the OLAP server Mondrian with the aid of modern web technologies like HTML5 and WebGL. With the development of the system could be demonstrated that a browser-based interface can be extended to three-dimensional aspects without relinquish common patterns of interaction in the context of OLAP. The three-dimensional arrangement of the data in the form of a cube and the implementation of OLAP operators such as slice, dice and pivoting are useful illustrations of future user interfaces in the field of business applications. The WebGL engine used in this project is three.js of the incredible Mr.Doob. Besides that, credits to Raimonds Simanovskis the creator of the amazing mondrian-olap gem (a jruby wrapper for mondrian), which has an very good API.
======================
### 1. Environment ###-
MySQL Community Server (Current Generally Available Release: 5.5.19)
-
JRuby 1.6.5
-
Gems: sinatra, haml, json, mysql, bundler, mondrian-olap (JRuby specific)
- three.js (r46) - WebGL Engine
- jquery 1.7.1 - Frontend Scripting
- tween.js - Javascript Tweening Engine
- DAT.GUI.min.js - A lightweight controller library for JavaScript
-
Install MySQL
-
Create your star schema with SQL
Tip: Have look on the example schema
To test cucubic you can use the example schema -
Import the SQL schema into your MySQL Server
mysql -u USERNAME -p -h DBSERVER DBNAME < YOUR_STATEMENT_FILE.sql
-
Create a mapping definition according to your SQL star schema
Put the mapping file in the "schema" folder
Tip: Hava a look on the mondrian-olap gem README docs -
Install JRuby 1.6.5
-
Run
gem install bundler
-
Run
bundle install
-
Change Mondrian-olap configuration in server.rb
This regards the name, user and passwort of the database
Additional you set the path to the schema definition (See point 3.) -
Start the server
ruby -S server.rb