olap4j is an open Java API for OLAP.

Think of it like JDBC, but for accessing multi-dimensional data.


olap4j is a common API for any OLAP server, so you can write an analytic application on one server and easily switch it to another. Built on that API, there is a growing collection of tools and components.

Status

olap4j 1.0.1 was released on February 7th, 2012.


This olap4j release includes the specification, a technology compatibility kit (TCK) and a generic XML/A driver compatible with Pentaho Analysis (Mondrian), Microsoft SQL Server Analysis Services, Palo and SAP BW.


This release is a maintenance release and maintains backwards compatibility with version 1.0.0. The license under which olap4j is distributed has changed starting with this release. Olap4j is now distributed under the Apache Software License Version 2.0.


Among other notable changes, this version introduces support for JDBC 4.1.

Resources

Modules

Olap4j is distributed as four Java JAR libraries.


  • olap4j
    Core API, Query Model, Transformation and other auxiliary packages, along with the driver specification.

  • olap4j-xmla
    Driver implementation of olap4j for XML/A data sources. It is compatible with Mondrian, Palo, SAP BW and SQL Server 2005+.

  • olap4j-tck
    Technology compatibility kit. Consists mostly of JUnit tests.

  • olap4j-jdk14
    Olap4j distribution compatible with Java 1.4. Includes the core API and the XML/A driver.

Packages and Roadmap

The core API of olap4j version 1.0 is a Long Term Support (LTS) release, but some parts of the olap4j project will remain considered as experimental, thus subject to change in future releases.

Core packages

The core packages in olap4j-1.0 are as follows.


  • org.olap4j.driver.xmla
    Generic XML/A driver.

  • org.olap4j.mdx
    Core objects of the MDX model.

  • org.olap4j.mdx.parser
    Parser for the MDX query language.

  • org.olap4j.metadata
    Discovery of OLAP servers metadata.

  • org.olap4j.type
    System for the core MDX object model and the metadata package.

Experimental packages

The following packages are considered experimental and are subject to change.


  • org.olap4j.query
    Programmatic Query Model.

  • org.olap4j.transform
    Core MDX object model transformation utilities.

  • org.olap4j.layout
    Utility classes to display CellSets.

  • org.olap4j.CellSetListener and all associated classes
    Event-based system for real time updates of CellSet objects.

  • org.olap4j.Scenario and all associated classes
    Statistical simulations module.

Get involved!

Join the forum, download the specification, and give us your feedback. If you are developing an OLAP server, component or application, let's work together to make your project olap4j-compliant.


There are olap4j drivers for mondrian and XML/A; we are looking for committers to port the XML/A driver to new servers, and to write native drivers for other OLAP engines.

Participation

olap4j is an open specification, developed by a consortium of companies and open source projects, including:
Projects
Companies

Developer resources

SourceForge.net_Logo