Dieser Artikel wurde am 13. August 2024 auf den Seiten der Qualitätssicherung eingetragen. Bitte hilf mit, ihn zu verbessern, und beteilige dich bitte an der Diskussion!
Folgendes muss noch verbessert werden: Vollprogramm - z.B.geht es um das Produkt oder um das Unternehmen? Lutheraner (Diskussion) 14:38, 13. Aug. 2024 (CEST)

icCube ist eine Software des gleichnamigen Schweizer Unternehmens, die für seine einbettbare Datenanalyse- und Visualisierungssoftwareplattform bekannt ist, die speziell auf B2B-Software-as-a-Service (SaaS)-Anwendungen, also eingebettete Analysen, zugeschnitten ist.

icCube

Iccube-logo
Basisdaten

Entwickler icCube software Sarl
Aktuelle Version 8.4.13
(18. Juni 2024)
Betriebssystem Plattformübergreifend (JVM)
Programmier­sprache Java
Kategorie Eingebettete Analysen
www.iccube.com

Seine Kunden bedienen verschiedene Branchen, von Finanzen und Gesundheitswesen bis hin zu E-Commerce und Logistik und vielen anderen. Die Software ermöglicht SaaS-Lösungen aus mehreren Sektoren die Bereitstellung von Datenanalysen, Dashboards und Visualisierungen für ihre jeweiligen Endkunden (d. h. Kundenorientierte Analysen).

Geschichte

Bearbeiten

Die Firma icCube wurde 2010 von David Alvarez-Debrot und Marc Polizzi gegründet, da sie den Bedarf an einem Analyseserver erkannten, der sich nahtlos in Produkte von Drittanbietern integrieren lässt.

Die Technologie basiert auf Java und gewährleistet die Kompatibilität mit den meisten Architekturen. Der In-Memory-Server verwendet die Abfragesprache Multidimensional Expressions (MDX), die im Gegensatz zu anderen gängigen Abfragesprachen stark für Analysen optimiert ist.

icCube wurde 2012 mit einem Web Reporting-Server, 2016 mit einer Serverberechnungs-Engine sowie 2022 mit einem Dashboard-Modul auf Basis von TypeScript, React, Redux, und Material UI (MUI) ergänzt.

Date Version Event
Juni 2010 0.9.2 Die allererste veröffentlichte Version (Vorschau) des In-Memory-OLAP-Servers; Die Unterstützung von MDX/XMLA ist das Hauptziel.
November 2010 1 Die ersten Funktionen sind abgeschlossen. Eine Community-Version (kostenlos).
Juni 2011 1.3 Erweiterte MDX-Unterstützung und stärkere Cube-Modellierungsfunktionen; die erste Version der Visualisierungsbibliothek (GVI).
Oktober 2011 2 Erste Version, die für den geschäftlichen Gebrauch (im Gegensatz zur Community) beworben wurde.
April 2012 2.5 Erste Version mit dem Web Reporting-Server.
Januar 2013 3 Bessere Leistung und mehr Funktionen.
Juni 2013 4 Eine Berechnungs-Engine der zweiten Generation.
Januar 2015 4.8.2 Verbesserung der 4.x-Versionen (Serverfunktionen und -geschwindigkeit, Web Reporting).
Mai 2015 5.1 ETL-Funktionen hinzufügen.
Mai 2016 5.2 Verbesserung der 5.x-Versionen.
Oktober 2016 6.0 Brandneues Reporting und neue Serverberechnungs-Engine.
Juli 2017 6.2 Google Maps-Ebenen für GEO-Widgets, Heatmaps usw. hinzugefügt.
August 2017 6.5 Dashboard-Kommentarmodul für die Zusammenarbeit hinzugefügt.
April 2018 6.6 Verbessertes ETL.
April 2019 7.0 Neue Server-Benutzeroberfläche / Neue JSON-Rest-API.
Januar 2020 7.1 Unterstützung für Java 11 und höher.
April 2022 8.0 Neues Dashboard-Modul (React, Redux, MUI), Bibliotheken in Github.[1]
Juli 2022 8.2 Verfügbar als Docker.[2]
April 2023 8.4 Java 17, Multiprozessunterstützung für DOCS.
November 2023 8.4.6 Verbesserte Leistung und Druckserver.
Februar 2024 8.4.8 Verbesserte MDX-Serialisierung für große Ergebnisse + Wartungsversion.

Technologie

Bearbeiten

Architektur

Bearbeiten

Das Produkt ist eine vollständig browserbasierte Anwendung, wobei der Server in der Programmiersprache Java gemäß J2EE-Standards implementiert ist. Für Letzteres werden sowohl ein HTTP-Server (Jetty) als auch ein Servlet-Container zur Abwicklung aller Kommunikationsaufgaben eingebettet. Die Berichterstellung wird in TypeScript / React / Redux entwickelt.

Da es sich um einen In-Memory-Server handelt, muss der Server seine Daten nicht von einem RDBMS beziehen; Tatsächlich kann jede Datenquelle verwendet werden, die ihre Daten in tabellarischer Form bereitstellt. Es gibt mehrere Plugins für den Zugriff auf Dateien, HTTP-Streams usw. Der Zugriff auf Datenquellen, die JSON-Objekte verfügbar machen, wird ebenfalls unterstützt (z. B. MongoDB). Die Plattform kümmert sich dann um möglicherweise komplexe Beziehungen (z. B. Viele-zu-Viele), die durch die JSON-Struktur impliziert werden.

icCube verwendet Multidimensional Expressions (MDX) als Abfragesprache und mehrere Erweiterungen [3] der Originalsprache : Funktionsdeklarationen,[4] Vektoren (auch auf Kennzahlenebene), Matrix, Objekte, Java- und R-Integrationen.[5] icCube patentierte einen MDX-Debugger.[6]

Der Zugriff auf die Plattform (Datenmodellierung, Serverüberwachung, MDX-Abfragen, Dashboards) erfolgt über eine Webschnittstelle und eine JSON REST API.[7]

icCube ausführen

Bearbeiten

Das Produkt kann vor Ort und/oder in der Cloud selbst bereitgestellt werden. Es ist als Windows-Installer, Linux-ZIP-Datei, Mac-Version und als Docker-Container verfügbar, der im Docker Hub veröffentlicht wird.[[2]

Schlüsselkomponenten

Bearbeiten
  • Datenmodellierung – der Builder ermöglicht die Erstellung von Datenmodellen (Schemata) über eine webbasierte Benutzeroberfläche. Alle erforderlichen Teile eines Schemas: Datenquellen, Dimensionen, Hierarchien, berechnete Elemente usw. können dort definiert werden.
  • API-Authentifizierung und -Autorisierung (SSO) – icCube hostet einen J2EE-Servlet-Handler (Jetty), um die gesamte Kommunikation mit dem Server abzuwickeln. Die Authentifizierung wird über dedizierte Servlet-Filter und einen internen Authentifizierungsdienst konfiguriert. Beide können über dedizierte Java-Plugins geändert werden, um Unternehmensrichtlinien (z. B. SSO) zu erfüllen. Einige Kunden verwenden beispielsweise Windows SSO, verschlüsselte Web-Token usw. Die Autorisierung wird mithilfe von Rollen erreicht, die Zugriff auf Ressourcen gewähren (d. h. Überwachung, Schema-Builder, Schema-Daten). Rollen können innerhalb von icCube definiert oder spontan generiert werden, wenn Benutzer mithilfe dedizierter Informationen (z. B. einer Liste von Schemata, auf die die Benutzer Zugriff haben) eine Verbindung zur Plattform herstellen.
  • Verwaltungs-API – Für die Verwaltung des Servers und der verfügbaren Schemata wird eine REST-API (d. h. JSON über HTTP-Anfragen) bereitgestellt.

Dashboards

Bearbeiten

Die Anwendung „Dashboards“ ermöglicht die Erstellung webbasierter Dashboards, basierend auf Widgets, Gadgets und Ereignissen:

  • Widgets sind visuelle Elemente wie Grafiken, Diagramme, Karten, Filter usw.
  • Gadgets sind vorkonfigurierte, wiederverwendbare Widgets.
  • Ereignisse verwalten Interaktionen zwischen Widgets. Beispielsweise generiert ein Filter ein Ereignis, das eine Aktion in einem Diagramm auslöst. Außerdem können Widgets auch Ereignisse enthalten und Aktionen aufeinander ausüben.

icCube einbetten

Bearbeiten

Die icCube Dashboards API[8] ermöglicht:

  • Entwicklung neuer Themen, Widgets (Diagramme, Karten usw.), Datentransformationen usw
    • Plugin dev kit[9]
    • Github: ic3-reporting-api[10]
    • Beispiele für Quellcodes[11]
  • einbetten von icCube Dashboards in eine Webanwendung
    • Embedded API[12]
    • Github: ic3-reporting-api-embedded[13]

AnalyticsOps

Bearbeiten

Mit icCube v8.4.10 wurde ein neues öffentliches Github-Projekt veröffentlicht: ic3-analytics-ops.[14] Diese Projekte ermöglichen das (automatisierte) Testen der mit icCube erstellten Analysen und Dashboards.

Bearbeiten

Einzelnachweise

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