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:
See Attachments section for enlarged screenshot images.
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)
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.
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.