Open Source Web Application for OLAP Reporting

Home | OpenI | Community | Download Logo
Overview Demo Screenshots Architecture


At its current (and simplest) form, OpenI provides a web-driven interface to build and publish interactive reports from OLAP data sources. Going beyond that, OpenI aims to provide consolidated analysis from all the key data components of an intelligent application, including:

  • OLAP data sources
  • Relational databases
  • Statistical data models
  • Data mining models


Here is a live demo link of an OpenI instance. It points to the default FoodMart database on both Mondrian and Microsoft Analysis Services. Login using "openi2" as username and "openi2" for password.

Our key goal is to take away the complexity of creating and publishing reports for business users. OpenI does this by providing a clean, intuitive interface to connect to different types of data sources, and to publish web-based interactive reports. If you want to build web-based intelligent applications that interact with your OLAP data sources, we want OpenI to be a viable option for you.


Click on the thumbnail for enlarged screenshot image.

Main OLAP Analysis Display (navigation tabs, control buttons, chart/table display)

Main OLAP analysis display (stacked bar chart)

Administration Interface - Create a new Analysis

Administrative Interface - Configure Project Settings

Setting filters, row, and column dimensions in the Dimensions Tab

Publish Analyses from Non-OLAP Data Sources


OpenI is a J2EE web application, with the default implementation running on top of tomcat. It publishes web-based analytical reports from 3 types of data sources – OLAP servers, relational database servers, and data mining servers. It has 3 key component categories:


Connectors’ job is to speak the native tongue of individual analytical data sources. For relational data sources, OpenI uses JDBC since it is well known and standardized. For OLAP data sources, OpenI uses XMLA as the standard protocol to communicate. This protocol is supported by several OLAP servers including Microsoft Analysis Services and Mondrian (an open source OLAP server). For data mining datasets, OpenI integrates with the R project, a popular open source data mining platform, using a native API called RServe. (only XMLA is operational in the current release)

Report Definitions

OpenI uses data-source specific report definition languages (RDL’s) to define and track the reports created on the platform. Wherever possible, OpenI uses existing standard RDL’s from other open source projects such as the .jrxml definition from JasperReports for relational database reports. For OLAP and data mining reports, OpenI implements its own XML-based RDL to define the report schema. By publishing this codebase into open source space, we hope that these RDL’s will become more standard (and robust) via community feedback and contribution.

User Interface

The UI for OpenI brings various existing public domain work into a single platform, mainly with the intent to make the platform extremely user friendly to a non-technical user. It is more designed for the “business analyst” rather than the “database developer”. For charting components and pivot table components, it heavily utilizes components from JPivot and JFreeChart, and unifies them in a single, consistent navigation framework. Realizing that analytical applications usually need to be embedded into existing enterprise portals, we are also leveraging the upcoming portlet features of JPivot to better integrate with JSR-168 compliant portals.

A key UI feature of OpenI is the administrator interface where a user can create and publish new reports from existing data sources entirely via a web interface, without having to write any code or query. Also available are features like publishing in private versus public folders, customization of chart components, color palettes, etc.


OpenI uses a form-based authentication that is integrated with the J2EE security structure, i.e. you can use any of the security realms defined in the J2EE configuration to authenticate the login. OpenI also provides integration between J2EE security and datasource security allowing the datasource to enforce fine grained data permissions. This way, user or group-specific access policies get enforced at the data source level, enabling hierarchical data access policies. For example, a user may only see the specific subset of the cube data as permitted by the OLAP security rules for their login.

© Copyright 2008, OpenI.Org