Hitachi Vantara Pentaho Community Wiki
Child pages
  • Pentaho Software Architecture

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At a high level, the software components can be divided into a variety of forms.  In the following detailed list, the general organization includes third party libraries and components that Pentaho has needed to fork and maintain, common libraries and projects that are used in general ways, pillars that are core business analytics or data integration elements, tools that allow access to pillars, and plugins across the pillars that provide additional functionality.  These same components can be looked at from a architectural purpose point of view, including four general areas including information delivery, data management / integration, analytics / reporting, and platform services.  For each project below we categorize in both manners to give a multi-faceted view of the overall architecture of Pentaho.

...

This is a single xml file project that allows the loading of the platform's vfs driver, that maps to the scheme "solution:"

Source Path: svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-vfs

Architectural Owner: Will Gorman

Architectural Area: Platform Services

pentaho-versionchecker

This project hosts the APIs and basic logic for checking the version information of a currently running platform.

Source Path: svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-versionchecker

Architectural Owner: Will Gorman

Architectural Area: Platform Services

pentaho-palo-core

This project is an abstraction layer that insulates the uses of Palo within the product so there is no compile time dependency, due to Palo's GPL licensing.

Source Path: svn://source.pentaho.org/svnkettleroot/plugins/PaloCore

Architectural Owner: Matt Casters

Architectural Area: Data Management / Integration

pentaho-registry

The Pentaho Registry project was developed in the context of Instaview to provide an API for a system wide metadata index for purposes of understanding relationships and lineage.

Source Path: https://github.com/pentaho/pentaho-registry

Architectural Owner: Will Gorman

Architectural Area: Platform Services

metastore

The Pentaho Metastore is an API that defines a simple way for interacting with a global metadata repository, and will be used as the main API for managing and storing global metadata definitions, such as connections, etc.

Source Path: https://github.com/pentaho/metastore

Architectural Owner: Matt Casters

Architectural Area: Platform Services

pentaho-cwm (deprecated)

This is a legacy project that defines the Pentaho to CWM object model API mapping, the code in the project is mostly generated, and is deprecated with the new Pentaho Metadata thin API.  This module can be completely removed once Pentaho Metadata Editor is replaced by a new editor.

Source Path: svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-cwm

Architectural Owner: Will Gorman

Architectural Area: Analytics / Reporting (Pentaho Metadata)

pentaho-metadata

The Pentaho Metadata project defines a reporting metadata architecture and implementations.  The core components of Pentaho Metadata API are the Business Query (MQL), Logical Model, and Physical Models (CSV and SQL).  Long term plans are to merge these concepts into Pentaho Mondrian and the Metastore, but this will be an evolutionary approach and will take time before Pentaho Metadata is deprecated.

Source Path: https://github.com/pentaho/pentaho-metadata

Architectural Owner: Will Gorman

Architectural Area: Analytics / Reporting

pentaho-commons-gwt-modules

The gwt-modules project consists of the gwt-widgets and gwt-widgets-samples submodules.  This is a common area to keep reused gwt capabilities for our downstream GWT-based projects, including at this time pentaho user console, data source wizard, and others.

Source Path: https://github.com/pentaho/pentaho-commons-gwt-modules

Architectural Owner: Nick Baker

Architectural Area: Information Delivery

pentaho-xul

This is a general UI framework developed by Pentaho to address our cross platform UI requirements, it includes an implementation for Swing, GWT and SWT.  One of the key requirements to this framework is pluggability supported via overlays.  Major projects using this framework include the Aggregation Designer, the Modeler, PUC, Report Designer, Spoon, MQL Editor, and others.

Source Path: https://github.com/pentaho/pentaho-commons-xul

Architectural Owner: Nick Baker

Architectural Area: Information Delivery

modeler

This project provides an easy to use Pentaho Modeler, which is able to generate both Pentaho Metadata and Mondrian file formats.  It was originally built within the context of Agile BI, but is also currently used in the Data Source Wizard.  The plan is to eventually replace Mondrian Schema Workbench and Pentaho Metadata Editor with this UI.

Source Path: https://github.com/pentaho/modeler

Architectural Owner: Nick Baker

Architectural Area: Analytics / Reporting

pentaho-mql-editor

This project provides a simple UI for business users to define Pentaho Metadata Queries.  It is based on XUL so it can be used in Swing, SWT and GWT.

*Source Path: *svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-vfsmql-editor

Architectural Owner: Nick Baker

Architectural Area: Information Delivery

pentaho-actionsequence-dom

This project provides a document object model for core action sequence file parsing.  It also manages validation of action sequence files (.xaction).  In the long term Pentaho is replacing Action Sequence functionality with Kettle Transformations and Job capabilities.

Source Path: svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-actionsequence-dom

Architectural Owner: Will Gorman

Architectural Area: Platform Services

chartbeans

TODO

publisher

TODO

Anchor
pillars
pillars

Pillars

...