IcCube

Last updated
icCube
Developer(s) icCube software Sarl
Stable release
8.4.10 / April 10, 2024 (2024-04-10)
Operating system Cross-platform (JVM)
Type Embedded analytics
Website www.iccube.com

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.

Contents

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.

David and Marc, who had previously worked together in developing a financial risk product at a software consulting firm, noticed the necessity for a robust, performant and reliable server for analytic calculations. After the roll-out of the financial risk product, they decided to start their own venture.

Initially considering developing an alternative financial risk solution, they later realized the potential in the market for a versatile, cross-solution product focused on analytic modeling and processing that could be easily embedded into any SaaS solution. Many B2B SaaS companies were seeking robust analytics capabilities for their platforms, and the idea behind the company was to be thought-leaders in this space by focusing exclusively on providing an embeddable analytics platform for B2B SaaS solution developers.

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.

DateVersionEvent
June 20100.9.2The very first published version (preview) of the in-memory OLAP server; MDX/XMLA support are the primary objectives.
November 20101The first features complete. A community (free) version.
June 20111.3Expanded MDX support and stronger cube modeling features; the first version of the visualization library (GVI).
October 20112First version advertised for business use (vs. community).
April 20122.5First version featuring the Web Reporting server.
January 20133Better performance and more features.
June 20134A second generation calculation engine.
January 20154.8.2Improving the 4.x versions (server features and speed, Web Reporting).
May 20155.1Adding ETL features.
May 20165.2Improving the 5.x versions.
October 20166.0Brand new reporting and new server calculation engine.
July 20176.2Added Google Maps layers for GEO widgets, heat maps, etc.
August 20176.5Added dashboard commenting module for collaboration.
April 20186.6Improved ETL.
April 20197.0New Server UI / New JSON Rest API.
January 20207.1Support for Java 11 and onwards.
March 20238.0New dashboard module (React, Redux, MUI).
February 20238.4Java 17, multiprocess support for DOCS, available as a Docker [1] libraries in Github. [2]
November 20238.4.6Improved performances and print server.
February 20248.4.9Improved 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. [1]

Key Components

Server

  • Data modeling – the Builder allows for creating data models (schemas) using a Web based user interface. All the requisite parts of a schema: data sources, dimensions, hierarchies, calculated members, etc. can be defined there.
  • API authentication & authorization (SSO) – icCube is hosting a J2EE servlet handler (Jetty) to handle all communications with the server. Authentication is configured via dedicated servlet filters and an internal authentication service. Both can be changed via dedicated Java plugin(s) to meet corporate policies (e.g., SSO). As examples, some customers use Windows SSO, encrypted Web token, etc. Authorization is achieved using roles granting access to resources (i.e., monitoring, schema builders, schema data). Roles can be defined within icCube or generated on-the-fly when users are connecting to the platform using dedicated information (e.g., a list of schemas the users have access to).
  • Management API – A REST API (i.e., JSON over HTTP requests) is provided for managing the server and the available schemas.

Dashboards

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

  • Widgets are visual elements such as graphs, charts, maps, filters, etc.
  • Gadgets are preconfigured, reusable widgets.
  • Events manage interactions between widgets. For example, a filter generates an event that produces an action on a chart. Also, widgets can also contain events and have actions on each other.

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

Related Research Articles

Online analytical processing, or OLAP, is an approach to answer multi-dimensional analytical (MDA) queries swiftly in computing. OLAP is part of the broader category of business intelligence, which also encompasses relational databases, report writing and data mining. Typical applications of OLAP include business reporting for sales, marketing, management reporting, business process management (BPM), budgeting and forecasting, financial reporting and similar areas, with new applications emerging, such as agriculture.

Nagios is an event monitoring system. Nagios offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.

Essbase is a multidimensional database management system (MDBMS) that provides a platform upon which to build analytic applications. Essbase began as a product from Arbor Software, which merged with Hyperion Software in 1998. Oracle Corporation acquired Hyperion Solutions Corporation in 2007. Until late 2005 IBM also marketed an OEM version of Essbase as DB2 OLAP Server.

Microsoft SQL Server Analysis Services (SSAS) is an online analytical processing (OLAP) and data mining tool in Microsoft SQL Server. SSAS is used as a tool by organizations to analyze and make sense of information possibly spread out across multiple databases, or in disparate tables or files. Microsoft has included a number of services in SQL Server related to business intelligence and data warehousing. These services include Integration Services, Reporting Services and Analysis Services. Analysis Services includes a group of OLAP and data mining capabilities and comes in two flavors multidimensional and tabular, where the difference between the two is how the data is presented. In a tabular model, the information is arranged in two-dimensional tables which can thus be more readable for a human. A multidimensional model can contain information with many degrees of freedom, and must be unfolded to increase readability by a human.

SQLyog is a GUI tool for the RDBMS MySQL. It is developed by Webyog, Inc., based in Bangalore, India, and Santa Clara, California. SQLyog is being used by more than 30,000 customers worldwide and has been downloaded more than 2,000,000 times.

<span class="mw-page-title-main">OpenSocial</span> Public specification aimed at social networking applications

OpenSocial is a public specification that outlines a set of common application programming interfaces (APIs) for web applications. Initially designed for social network applications, it was developed collaboratively by Google, MySpace and other social networks. It has since evolved into a runtime environment that allows third-party components, regardless of their trust level, to operate within an existing web application.

This is a comparison of web frameworks for front-end web development that are heavily reliant on JavaScript code for their behavior.

Freebase was a large collaborative knowledge base consisting of data composed mainly by its community members. It was an online collection of structured data harvested from many sources, including individual, user-submitted wiki contributions. Freebase aimed to create a global resource that allowed people to access common information more effectively. It was developed by the American software company Metaweb and run publicly beginning in March 2007. Metaweb was acquired by Google in a private sale announced on 16 July 2010. Google's Knowledge Graph is powered in part by Freebase.

The following tables compare general and technical information for a number of online analytical processing (OLAP) servers. Please see the individual products articles for further information.

<span class="mw-page-title-main">Apache Drill</span> Open-source software framework

Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dremel system. Drill is an Apache top-level project. Tom Shiran is the founder of the Apache Drill Project. It was designated an Apache Software Foundation top-level project in December 2016.

Vector tiles, tiled vectors or vectiles are packets of geographic data, packaged into pre-defined roughly-square shaped "tiles" for transfer over the web. This is an emerging method for delivering styled web maps, combining certain benefits of pre-rendered raster map tiles with vector map data. As with the widely used raster tiled web maps, map data is requested by a client as a set of "tiles" corresponding to square areas of land of a pre-defined size and location. Unlike raster tiled web maps, however, the server returns vector map data, which has been clipped to the boundaries of each tile, instead of a pre-rendered map image.

Cubes is a light-weight open source multidimensional modelling and OLAP toolkit for development reporting applications and browsing of aggregated data written in Python programming language released under the MIT License.

JSON Web Token is a proposed Internet standard for creating data with optional signature and/or optional encryption whose payload holds JSON that asserts some number of claims. The tokens are signed either using a private secret or a public/private key.

Embedded Analytics enables organisations to integrate analytics capabilities into their own, often SaaS, applications, portals, or websites. This differs from Embedded Software and Web Analytics.

<span class="mw-page-title-main">GraphQL</span> Data query language developed by Facebook

GraphQL is an open-source data query and manipulation language for APIs and a query runtime engine.

Microsoft Power BI is an interactive data visualization software product developed by Microsoft with a primary focus on business intelligence. It is part of the Microsoft Power Platform. Power BI is a collection of software services, apps, and connectors that work together to turn various sources of data into static and interactive data visualizations. Data may be input by reading directly from a database, webpage, PDF, or structured files such as spreadsheets, CSV, XML, JSON, XLSX, and SharePoint.

<span class="mw-page-title-main">Deno (software)</span> Secure JavaScript and TypeScript runtime

Deno is a runtime for JavaScript, TypeScript, and WebAssembly that is based on the V8 JavaScript engine and the Rust programming language. Deno was co-created by Ryan Dahl, who also created Node.js.

<span class="mw-page-title-main">Netdata</span> Open-source system monitor software

With Netdata Users can monitor their servers, containers, and applications,in high-resolution and in real-time. Netdata is an open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in low-latency dashboards. The tool is designed to visualize activity in the greatest possible detail, allowing the user to obtain an overview of what is happening and what has just happened in their system or application.

TerminusDB is an open source knowledge graph and document store. It is used to build versioned data products. It is a native revision control database that is architecturally similar to Git. It is listed on DB-Engines.

References

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