Monday, January 25, 2010

Pentaho Javascript API

As Systems Integrator, implementing the Pentaho BI platform is relatively straightforward. However, when you want to customize the User Interface and hook directly into the Pentaho Web Service API's, you need to wade through a lot of code and a little documentation. Additionally, the format of most API's is XML. Web developers like parsing XML about as much as they like having a root canal! I have had to do much of this parsing over the last few years and have started to formulate a way out. I believe that web developers would much rather deal with JSON over XML and use Javascript objects and methods over XMLHTTPRequest. This has taken the shape of a Javascript API for Pentaho. The intent is that it is library agnostic, although the front-end could be YUI, jQuery, dojo, closure or any other library.

In this wiki page, I describe the types of things I would like the API to perform. Some of these are already available as Pentaho Servlets or JSP's, while other require more ingenuity. In the end, a front-end web developer should not need to write java or parse XML to interact with the Pentaho BI Platform.

The current plan is to implement the API in stages. First, I have created the components for interacting with Pentaho Metadata issuing MQL queries here. Next up is Action Sequence interaction and then I will leverage Roland's XMLA4JS for OLAP.