Open Source Business Intelligence Tools Written in Java

Share the article!

Here’s a list that’s been due in my todo list for the longest time. “Business Intelligence” can be term that encompasses too many technologies. (note: Actually, I prefer the term “Business Analytics”, since a lot of the intelligence involves the user interpreting the data.) In this list, I try my best to cover only tools for multidimensional data analysis and their visualization. I’ve also include the BI suites but I’ve deliberately attempted to exclude report writers. I gather report writers deserver their own separate category. So with little fan fare, here’s the list:

  • Pentaho Open BI Suite – t
    The Pentaho project provides a Business Intelligence suite that includes reporting, analysis, dashboards, data mining and data integration capabilities. The software offers a flexible and comprehensive infrastructure to build customizable BI application solutions.
  • SpagoBI – SpagoBI is a Business Intelligence suite. SpagoBI provides a J2EE based framework that manages BI artifacts such as reports, OLAP analysis, Dashboards and Scorecards views and Data Mining models. It provides BI administrators with the control, validation, certification and distribution of these BI artifacts. Features of SpagoBI include support for Portals, reports, OLAP, QbE, ETL, dashboards, document management, metadata management, versioning, Data Mining and Geographic information analysis.
  • JasperSoft Business Intelligence Suite – The JasperSoft BI Suite provides integrated reporting, analysis and data integration. The suite is modular allowing one to build value incrementally from the an Analysis, Reporting, ETL and Report Builder tool.
  • OpenI – OpenI is a simple web application that does out-of-box OLAP reporting. It deploys on any J2EE server and supports the publishing of interactive OLAP reports. OpenI can use relational data sources and XMLA based sources. For data mining datasets, OpenI integrates with the R project.
  • JPivot – JPivot is a JSP custom tag library that renders an OLAP table and let users perform typical OLAP navigations like slice and dicing, drill downs and roll ups. It uses Mondrian as its OLAP Server and also supports XMLA datasource access.
  • Weka – Weka is a collection of machine learning algorithms for data mining tasks. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. The overall goal of this project is to build a state-of-the-art facility for developing machine learning (ML) techniques and to apply them to real-world data mining problems. The open-source BI software company Pentaho is a major sponsor of Weka.
  • RapidMiner (formerly YALE) – The modular operator concept of RapidMiner allows the design of complex nested operator chains for a huge number of learning problems for rapid prototyping. The project includes more than 400 data mining operators that can be arbitrarily combined. RapidMiner includes into an integrated development environment (IDE) for machine learning and data mining. RapidMiner also integrates with the Weka libarary. RapidMiner has been used in applications for text mining, multimedia mining, feature engineering, data stream mining and tracking drifting concepts.
  • OLAP4J – OLAP4J is like JDBC, except for accessing multi-dimensional data. OLAP4J is designed to be a common API for any OLAP server, so you can write an application on one OLAP server and switch to another.
  • JPalo – The JPalo provides Java based tools for the Palo project. Palo server is a multidimensional high-capacity and high-speed database. Palo server is memory based and able to consolidate data hierarchies in real time and supports the write-back of data (MOLAP). JPalo provides a Java API,class model and tools around the Palo Server that are based on the Eclipse IDE framework.
  • Mondrian – Mondrian is an OLAP server written in Java. Mondrian provides the interactive ability to analyze very large datasets stored in SQL databases without having to write SQL. Mondrian is used for multi-dimensional exploration of data. It supports the translation of Multi-Dimensional eXpression (MDX) language into SQL.
  • REX – Rex (waRehouse EXplorer) is a java client that provides easy-to-use GUI for browsing multidimensional data sources that support XMLA protocol (Mondrian, Microsoft Analysis Services 2000 and 2005). Rex also includes MDX editor and MDX Builder Tool.
  • JRubik – Rubik is a set of tools for navigating and reporting over OLAP datasources, mainly Mondrian and XMLA servers. This project is based on the components of the JPivot project. JRubik is an Olap client developed in Swing. It includes an olap navigator, MDX query editor, table viewer, chart viewer, map viewer, bookmarks and statistical data.
  • pocOLAP – pocoOLAP is a web-based, crosstab reporting tool.
  • BIRT Dynamic Crosstab – BIRT offers dynamic cross table and data cube elements. The data cube element appears in the Data Explorer view and allows the developer to build cubes based on existing data sets. Earlier versions of BIRT required that the number of columns had to be known beforehand.
  • BIOLAP – BIOLAP is open source OLAP for biology data. In traditional OLAP, summaries are sets of numbers. In biology, data is often non-numeric and the summary may not be number. To handle biology data sets there are two main requirements: aggregation functions that can summarize non-numeric data and aggregation functions able to return more than just numbers. The solution is based on Mondrian.
  • OLAPMapper – OLAPMapper enables interactive analysis of very large datasets stored in SQL databases without writing SQL queries. An OLAP query in general consists of a classifier, a measure and an aggregation operation. OLAPMapper allows the user to choose a classifier, measure and operation visually by clicking on a dimensional schema. The selection is passed to the OLAPmapper for building an SQL query. The interface is based on the star schema visualization
  • JMagallanes – JMagallanes is an end user application for OLAP reports written in Java/J2EE. It combines static reports, a Swing pivot table and charts in a single UI. It reads from data sources such as SQL, Excel and XML. It can produce PDF, XML, and other application specific files for later off-line viewing of reports.
  • FreeAnalysis – FreeAnalysis is a Eclipse RCP based UI that leverages Dojo to provide Olap functionality. FreeAnalysis can use the Pentaho Mondrian server or other MDX/XMLA compliant cubes as datasources.
  • JDBC4OLAP – JDBC4OLAP is a JDBC Type 4 driver for OLAP datasource. It can communicate directly with OLAP datasources that comply with the XMLA protocol (i.e. SAP BW, Microsoft Analysis Services, Hyperion, Mondrian). Jdbc4Olap implements a SQL-MDX converter and virtual relational map of OLAP databases. That is, it provides a virtual star map of any multidimensional data cube, so that you can use any SQL based reporting tool for your XMLA data.
  • uEngine Process Analyzer – uEngine is a BPM solution that includes a Process Analyzer that is OLAP based. It is used to analyze the work process to analyze the work done be resources and to analyze performance.
  • CompiereBI – Compiere BI (Business Intelligence) is integrates the JPivot/Mondrian project with the Compiere ERP/CRM project.
  • OpenBAM – OpenBAM is developed using the Spring framework and Flex. Live Widgets and Live Dashboards are configurable using XML files. The roadmap indicates that future releases will include support for, distributed indexing, alerts, log file parsers and new customize widgets.

Also relevant to this topic are Open Source “Probabilistic Networks” and “Network Visualization“. I’m quite certain that I missed something, so if you notice something I shouldn’t have ignored, please let me know!


Share the article!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>