IcCube

icCube is a company founded in Switzerland that provides business intelligence (BI) software of the same name. The software can be fully embedded, can be hosted in a managed environment or installed in a customer's machine on premises.

The BI tool allows end-users to create or edit dashboards themselves and is capable of processing data from multiple sources in real-time. The software makes the dashboards, the dashboard builder, the schema/cube builder and the server monitoring application accessible from a web browser only. No software has to be installed at the device of the end-user.

Next to the browser-based dashboard builder, data can be accessed by running queries directly on the OLAP cube using MDX, SQL or R.

History
icCube sells an online analytical processing (OLAP) server.

In June 2010 its first public community version (0.9.2) was released. Since then, the company released versions such as:

Architecture
icCube is implemented in the Java programming language and follows J2ee standards. For the latter, it embeds both an Http server (Jetty) and a servlet container to handle all the communication tasks.

Being an in-memory OLAP server, the icCube server does not need to source its data from a RDBMS; any data source that exposes its data in a tabular form can be used; several plugins exists for accessing files, HTTP stream, etc. Accessing datasource that expose JSON objects is also supported (e.g., MongoDB). icCube is then taking care of possibly complex relations (e.g., many-2-many) implied by the JSON structure.

Accessing icCube (cube modeling, server monitoring, MDX queries, Web reporting and dashboards) is performed through a Web interface and a JSON Rest API.

The icCube OLAP server does not use any caching or pre-aggregation mechanism.

Interfaces
icCube uses Multidimensional Expressions (MDX) as its query language and several extensions to the original language : function declarations, vector (even at measures level), matrix, objects, Java and R interactions. icCube patented an MDX debugger. icCube supports a standard interface and a proprietary one. The XML for Analysis (XMLA) protocol can connect to any compatible reporting tool.

icCube supports its own proprietary protocol called GVI. HTTP based, it can be extended. This protocol uses the Google Visualization wire protocol. Javascript is the primary implementation language and a Java mapping library is also available.

Since icCube 6.8.6, the icCube server supports a JSON REST API for a programmatic access.