IcCube explained

Developer:icCube software Sarl
icCube
Latest Release Version:8.4.13
Operating System:Cross-platform (JVM)
Genre:Embedded analytics

icCube is known for its embeddable data analytics and visualization software platform tailored specifically for B2B Software-as-a-Service (SaaS) applications, i.e. Embedded analytics.

Its customers serve various industries, from finance and healthcare to e-commerce and logistics among many others. The software enables SaaS solutions from multiple sectors to provide data analytics, dashboards and visualization to their respective end-customers (i.e., Customer-facing analytics).

History

icCube was founded in 2010 by David Alvarez-Debrot and Marc Polizzi, recognizing the need for an analytic server that could be seamlessly integrated into third-party products.

The technology is Java-based, ensuring compatibility with most architectures. The in-memory server uses the Multidimensional Expressions (MDX) query language, which in contrast to other common query languages, is highly optimized for analytics.

Over time, the platform evolved and introduced new features and enhancements to meet the expanding needs of its customers. Noteworthy milestones in the evolution of icCube include the introduction of the Web Reporting server in 2012, the launch of a new reporting system and server calculation engine in 2016, and the release of a new dashboard module based on TypeScript, React, Redux, and Material UI (MUI) in 2022.

Date Version Event
June 2010 0.9.2 The very first published version (preview) of the in-memory OLAP server; MDX/XMLA support are the primary objectives.
November 2010 1 The first features complete. A community (free) version.
June 2011 1.3 Expanded MDX support and stronger cube modeling features; the first version of the visualization library (GVI).
October 2011 2 First version advertised for business use (vs. community).
April 2012 2.5 First version featuring the Web Reporting server.
January 2013 3 Better performance and more features.
June 2013 4 A second generation calculation engine.
January 2015 4.8.2 Improving the 4.x versions (server features and speed, Web Reporting).
May 2015 5.1 Adding ETL features.
May 2016 5.2 Improving the 5.x versions.
October 2016 6.0 Brand new reporting and new server calculation engine.
July 2017 6.2 Added Google Maps layers for GEO widgets, heat maps, etc.
August 2017 6.5 Added dashboard commenting module for collaboration.
April 2018 6.6 Improved ETL.
April 2019 7.0 New Server UI / New JSON Rest API.
January 2020 7.1 Support for Java 11 and onwards.
April 2022 8.0 New dashboard module (React, Redux, MUI), libraries in Github.[1]
July 2022 8.2 Available as a Docker.[2]
April 2023 8.4 Java 17, multiprocess support for DOCS.
November 2023 8.4.6 Improved performances and print server.
February 2024 8.4.8 Improved MDX serialization for large results + maintenance release.

Technology

Architecture

The product is a fully browser-based application, with the server implemented in the Java programming language following J2EE standards. For the latter, it embeds both an HTTP server (Jetty) and a servlet container to handle all communication tasks. Reporting is developed in TypeScript / React / Redux.

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

icCube uses Multidimensional Expressions (MDX) as its query language and several extensions [3] to the original language : function declarations,[4] vector (even at measures level), matrix, objects, Java and R integrations.[5] icCube patented an MDX debugger.[6]

Accessing the platform (data modeling, server monitoring, MDX queries, dashboards) is performed through a Web interface and a JSON REST API.[7]

Running icCube

The product can be self deployed on premises and/or in the cloud. It is available as a Windows installer, Linux ZIP file, Mac version and as a Docker container published at Docker Hub.

Key Components

Server

Dashboards

The Dashboards application allows for creating web-based dashboards, based on widgets, gadgets and events:

Embedding icCube

The icCube Dashboards API[8] allows for:

AnalyticsOps

With icCube v8.4.10, a new Github public project has been published : ic3-analytics-ops.[14] This projects allows for (automated) testing the Analytics and Dashboards built with icCube.

See also

External links

Notes and References

  1. Web site: Github. .
  2. Web site: Docker.
  3. Web site: Chris Webb on icCube MDX Declared Functions. 13 September 2010 .
  4. Web site: MDX Functions Reference (common + extensions).
  5. Web site: icCube extends MDX with OO capabilities.
  6. Web site: Debugging system for multidimensional database query expressions on a processing server.
  7. Web site: JSON REST API.
  8. Web site: icCube Dashboards API.
  9. Web site: Plugin dev kit.
  10. Web site: Github: ic3-reporting-api. .
  11. Web site: Source code examples.
  12. Web site: Embedded API.
  13. Web site: Github: ic3-reporting-api-embedded. .
  14. Web site: Github: ic3-analytics-ops. .