Remote eazyBI setup

Remote eazyBI setup allows you to analyze existing database data without uploading your data to eazyBI.com site. You can easily set up remote eazyBI application and just define mapping of eazyBI cubes, dimensions and measures to your existing database tables and start to use eazyBI for report and dashboard creation. Remote eazyBI setup is especially useful if you have existing corporate applications or data warehouses in your local network and would like to provide easy business intelligence tool for your business users.

If you are interested in full installation of eazyBI on your server then please read about Private eazyBI solution.

This is technical overview how remote eazyBI works and how to set it up.

Technical overview

For remote eazyBI setup you need to download and configure remote eazyBI application. Remote eazyBI application is packaged as Java web application eazybi_remote.war which can be run as standalone application or can be deployed in your existing Java web application server. Remote eazyBI application has couple configuration files for specifying database access as well as for defining mapping between eazyBI cubes and database tables. User browsers will connect to remote eazyBI application to make data queries and get back results.

In eazyBI.com site you need to define account and specify URL of remote eazyBI application. eazyBI.com site will store just user information and definition of reports and dashboards - data from your database will stay inside your local network.

When users will access eazyBI.com and select remote account then eazyBI web application (HTML, CSS and JavaScript files) will be downloaded by user browser as well as report and dashboard definitions will be requested from eazyBI.com. But for all data queries user browser will connect to eazyBI remote application (using JSONP protocol) and get results and will display reports and dashboards. From user perspective they are using the same eazyBI application and they don’t need to bother about technical setup.

Here is visual overview of how it works:

Remote eazyBI overview

Installation and setup

Easiest way for trying out remote eazyBI setup is to run eazybi_remote.war as standalone application. You can run it either on Unix-like computer (e.g. Linux, Mac OS X) or on Windows computer with installed Java SE 6.

Create directory and download files

Create directory eazybi where you will download remote eazyBI application and its configuration files (e.g. ~/eazybi on Unix-like computers or C:\eazybi on Windows).

Download in this directory files eazybi_remote.war and sample_config.zip. Unzip file sample_config.zip in this directory (after that you will have config subdirectory with couple files in it). After unzipping you can delete sample_config.zip.

Create remote eazyBI account

Create new eazyBI account and select REMOTE plan. You will need to create subscription profile for this plan but it includes 30-day free trial for evaluation purposes.

In Remote cube URL field you need to enter URL of your eazyBI remote application. If you will at first run remote eazyBI application on your computer then enter http://localhost:8080.

Authentication token field is used for key that will be used to encrypt authentication information that will be sent from user browser to remote eazyBI application (to protect access to it from unauthorized sources). You can generate random secure token using link below the field. Copy generated authentication token to clipboard as you will need to enter it in remote eazyBI configuration file.

Remote eazyBI configuration file

Open config/eazybi.yml configuration file (in YAML format) from directory you created in the first step. This is the main configuration file where you need to provide database connection information and authentication token.

driver parameter specifies which database driver to use - currently supported values are mysql, postgresql, ‘oracle and luciddb`.

host parameter specifies host name (or IP address) of database server. In addition specify port parameter if database server is using non-default TCP port.

database parameter specifies database name, user and password specifies database user credentials that should be used to establish database connection. As eazyBI needs just read-only access to database tables then it is recommended to use special read-only user for database access.

In authentication_token specify the same authentication token that you generated in the previous step.

Additional commented parameters schema_rb and calculated_members can be used to specify file names in config subdirectory where eazyBI schema is defined and where calculated member definition will be stored - you don’t need to change them and use default values.

Remote eazyBI application will cache schema definition as well as retrieved results from database. If you want cache to be cleared then either you will need to restart remote eazyBI application or you can specify cache expiration timeout in minutes in cache_timeout parameter.

Schema definition

Now you need to define eazyBI schema in config/schema.rb file. eazyBI schema defines mapping between eazyBI cubes, dimensions, hierarchies and measures to your database tables and columns. Schema definition file is in Ruby programming language using mondrian-olap library syntax which is wrapper for Mondrian OLAP engine which is used internally by eazyBI.

Default config/schema.rb file contains example of schema definition (using simplified FoodMart demo database from Mondrian project). You can see descriptions of all available schema definition element attributes in mondrian-olap source file. If you need help in defining schema then please contact eazyBI support.

In addition in the beginning of config/schema.rb you need to require necessary database driver. If you will connect to mysql, postgresql or luciddb database then uncomment corresponding line (as these JDBC drivers are included in remote eazyBI application).

If you need to connect to Oracle database then download ojdbc6.jar JDBC driver and place it in the same directory where you have eazybi_remote.war file. And uncomment line which requires ojdbc6.jar file.

Install Java Cryptography Extension Unlimited Strength files (if needed)

Some default Java installations (e.g. on Windows) have limited key lengths for cryptography libraries and as a result remote eazyBI application will fail when trying to use stronger cryptography. In this case you need to install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6. After downloading and extracting zip file you need to copy local_policy.jar and US_export_policy.jar files to your Java home lib/security subdirectory.

Start remote eazyBI application

After configuring database connection and defining schema you can start remote eazyBI application. To start it in standalone mode you can use start.sh shell script on Unix-line computers or start.bat on Windows computers. On Windows computers please set EAZYBI_HOME variable in start.bat to point to directory where eazybi_remote.war is located.

Remote eazyBI application will log information and error messages to standard output. When you will see message Winstone Servlet Engine v0.9.10 running then it means that application has been started.

Go to eazyBI.com home page and expand created account - you should see your cube that you defined in schema.rb. Try to select it and create some report. If it works then you are done!

Troubleshooting

Most common errors will occur if there will be some error in schema.rb definitions - e.g. misspelled table or column name. In this case you will get error message when trying to access remote cube in eazyBI.com as well as you will see error message in standard output of remote eazyBI application.

If you need more detailed debugging output for remote eazyBI application to see all generated SQL queries then start remote eazyBI application with start_debug.sh or start_debug.bat. It will use provided sample log4j.properties configuration file which will enable logging of all generated SQL queries by Mondrian OLAP engine. (On Windows computers please set EAZYBI_HOME variable and path to log4j.properties in start_debug.bat)

Questions

If you have problems with remote eazyBI setup or have questions about using it with your specific database or would like to see more detailed setup description about particular topic then please contact eazyBI support.