Business Intelligence mit Pentaho

Business Intelligence mit Open-Source-Tools wird erwachsen. Startups wie Pentaho und JasperSoft bieten vor allem kleineren und mittelständischen Unternehmen eine Alternative zu den herkömmlichen Lösungen der Branchenriesen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 35 Min.
Von
  • Marcus Held
  • Ingo Klose
Inhaltsverzeichnis

Dieser Artikel stellt die BI-Suite von Pentaho vor. Neben der Darstellung der Architektur und der Beschreibung der einzelnen Komponenten wird eine kurze Projektskizze einer MySQL-/Pentaho-Kombination für Datawarehousing und Business Intelligence gezeichnet.

Die Pentaho-Suite ist modular aufgebaut

Die BI-Suite von Pentaho ist modular aufgebaut und setzt auf offene Standards. Aus funktionaler Sicht besteht die Software aus den folgenden Modulen:

  • Pentaho BI Platform
  • Pentaho Metadata
  • Pentaho Data Integration (PDI – ehemals KETTLE)
  • Pentaho Reporting (ehemals JFreeReport)
  • Pentaho Analysis Services (Mondrian und WEKA)
  • Pentaho Dashboards

Die Module bestehen wiederum aus einzelnen Komponenten, die je nach Aufgabe auf einem Server oder auf dem Client ausgeführt werden. Die Pentaho-BI-Suite integriert diese Module durch die Kopplung der Serverkomponenten (Engines) mit dem Pentaho BI Server. Die offene Architektur der Pentaho BI Suite erlaubt aber auch die separate Nutzung der einzelnen Module oder ihre Integration in externe Anwendungen. Pentaho Data Integration kann beispielsweise unabhängig von den anderen Modulen als ETL-System eingesetzt werden. ETL – Extraction, Transformation & Loading – beschreibt Verfahren, Daten aus verschiedenen Quellen in ein bestimmtes Format zu bringen, um sie dann in ein Datawarehouse abzulegen. Pentaho Reporting lässt sich in Java-Anwendungen integrieren. Die Integration in OpenOffice als Reporting Engine für die Datenbank Open Office Base ist hierfür ein gutes Beispiel.

Einen zentralen Client zur Konfiguration der Suite gibt es derzeit nicht. Aus historischen Gründen sowie um die separate Nutzung der einzelnen Module zu gewährleisten, existieren pro Modul ein oder mehrere Clientprogramme, manche funktionsreich und gut bedienbar, andere noch eher unausgereift.

Eine Besonderheit der BI-Suite von Pentaho ist die durchgängige Prozessorientierung. Auf der BI-Plattform werden nicht Berichte, Datentransformationen oder andere Objekte ausgeführt, sondern BI-Prozesse. Diese Prozesse werden durch XML-Dateien – sogenannte Action Sequences – beschrieben. Innerhalb einer Action Sequence wird eine Reihe von Aktionen definiert.

Die einfachste Action Sequence zur Ausführung eines Berichts besteht beispielsweise aus zwei Aktionen: der Abfrage von Daten aus einer Datenquelle und der anschließenden Aufbereitung und Ausgabe der Daten in einem Bericht.

Die Ausführung einer Action Sequence

Mit Bedingungen und Schleifen lassen sich aber auch aufwendigere Prozesse definieren. Durch die Action Sequences ist die BI-Suite sehr flexibel und ermöglicht die Implementierung eines lösungs- bzw. prozessorientierten Business-Intelligence-Systems.

Ein weiteres Merkmal der Pentaho-BI-Plattform ist ihre Offenheit. Durch die Nutzung von offenen Standards und Techniken wie J2EE, JDBC, JNDI, JSR-168, JSR-170, JSP, HTML, CSS, AJAX, SOAP, HTTP, XSL und XML lässt die Suite sich nicht nur gut anpassen, sondern auch um zusätzliche Engines erweitern. Die Standardprotokolle SOAP und HTTP erlauben die zudem die nahtlose Einbettung der Pentaho BI Suite in eine serviceorientierte Architektur.

Module können einfach ausgetauscht werden. So können beispielsweise zur Berichtsausführung anstelle der Pentaho Reporting Engine alternativ die Engines von JasperSoft oder BIRT genutzt werden. Hierfür stehen in der Pentaho BI Suite bereits entsprechende Komponenten zur Verfügung. Die Kehrseite dieser Flexibilität ist eine gewisse Unübersichtlichkeit. Bereits jetzt gibt es für gleiche Aufgaben unterschiedliche Lösungsansätze.

Action Sequences und Konfigurationsdateien werden in einer zentralen Baumstruktur (Solution Repository) aus Verzeichnissen und Dateien abgelegt. Das Solution Repository kann als Datei oder als Datenbank angelegt werden, wobei erstere Variante für Entwicklungszwecke gedacht ist. Für den produktiven Einsatz empfiehlt sich eine Datenbank.