Overview
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
|
Demo
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.
Screenshots
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 |
Architecture
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
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.
Security
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.