MDX Documentation

Overview

The icCube server has been designed to make it embeddable into an existing JAVA application to get the benefits of OLAP analysis right from within your application. Once embedded, several services and/or components can be added to provides for example access to the cubes from an external XMLA client. Of course, direct access to the underlying OLAP engine is as well possible when XMLA is not required.

Creating an icCube engine

Creating an icCube engine is mainly about instantiating a JAVA class passing the right icCube.xml file reference. As for the standalone server application, this file is going to configure the required services and components (e.g., XMLA interface, GWT UI interface, Google Visualization data source, etc...). Note that all the components are optional and you can basically start an OLAP engine for direct access from within you JAVA application using its native API only.

Application Directories

You can have more than one running instances of icCube engine either within your application and/or on the same machine. Each instance being basically identified by a set of directories where this engine is keeping its working data. More details are available within the icCube.xml file provided with each release kit.

Note that when an icCube engine is created for the very first time on a given machine, these application directories may be setup using the content of an actual installation of the icCube release. This allows for example to setup the default plugins, or the default users/roles. This setup is optional and depending on your requirements you may have to setup yourself the content of these directories.

API

The class IcCubeEngine is exposing an interface to start/stop the engine, load/unload a schema/cubes and is self commented for details about each method.

Working Example

The class IcCubeEngineDemoApplication is showing you how to start/stop an icCube engine, how to configure it to expose an XMLA interface, how to load/unload a schema and eventually how to execute an MDX query using the XMLA client library. This is class is self documented and should be enough to grasp the main ideas. Feel free to ask the community for more details in our forum.