Sie sind auf Seite 1von 23

Introduction to Development with the

Essbase Java API


Tim Tow
Oracle ACE Director
Applied OLAP, Inc

Agenda
What?
Why?
How?
Basic object model discussion
How to get started
How to use samples

Show you Essbase under-the-covers

What is the Java API?


The JAPI
Native Java interface for Essbase

Object oriented
Makes it much different than C/VB APIs

All Essbase functionality except:


Creating load rules
Managing partitions
Managing users/groups (pre-9.3 only)

Why use the JAPI?


APIs are necessary when
Requirements include very specific needs
No other product does exactly what you need

Java API is necessary when


You need multi-platform support
Windows / Unix / Linux
Write Once Run Anywhere

Examples
Java client applications
Web / Web Services applications
Administrative utilities

Java API History


Many names through its history
APS - Analytic Provider Services (9.3.x 11.1.x)
AHAS - Analytic High Availability Services (9.0.x 9.2.x)
EDS Essbase Deployment Services (7x)
EES Essbase Enterprise Services (6)
Mass Analytics / Object API (pre-release)

Code has been very consistent


Few breaking changes to date
Code has also been very stable

Architecture
Three tier mode

TCPIP

HTTP / TCPIP

Java API Client

Java Application Server (http) /


OS Process (tcpip)

Essbase Server

Architecture
Embedded mode
a/k/a direct mode
TCPIP

HTTP / TCPIP

Java API Client

Java Application Server (http) /


OS Process (tcpip)

Essbase Server

How To Get Started


Java Terminology
JVM Java Virtual Machine
Layer between the application and OS
Interprets bytecode for target OS

.java file Java source code


.class file Compiled, executable java code
.properties file Java ini file
.jar file / Java archive of .class and other files
Comparable to the registry *and* dlls in ActiveX
Glorified zip file

.war file / Web archive of .jar and other files

How To Get Started


Required pieces
Java Development Kit (JDK)
Download from java.sun.com

Java IDE
JDeveloper
Eclipse / IntelliJ / others

APS server
APS jars

The Object Model


Interface-driven
Separates your code from the API implementation
Common
Interfaces

Purpose

IEssbase

Initializes the API

IEssDomain

Connection to the middle tier

IEssOlapServer

Connection to the Essbase server

IEssApplication

Represents an Essbase application

IEssCube

Represents an Essbase database

IEssCubeView

A window on which to do operations against a cube

IEssGridView

A virtual grid on which to do operations

IEssMemberSelection

A member query definition

IEssMember

An Essbase member

EDS Domain 7.1.3

APS Domain 11.1.x

Demo 1 3 tier

Deprecated methods

Demo 2 direct mode

How To Get Started


Sample code
Samples\japi subdirectory
Java code
Cmd files to compile/run the code

Demo 3 Essbase member info

Demo 3 Real World example

Challenges
How do I get what I want?
Think about how EAS or Excel may do it
Be careful for hidden pitfalls
Member information
Not all member selections are created equal
Works like Outline API where certain properties are not
always available based on *how* you got your object

Best Practices
Clean up your resources
Use try/catch/finally
Handle your errors
Close/disconnect explicitly
Prevents hanging connections
Especially important for EssMemberSelection objects

Understand the essbase.properties file

Best Practices 6.5.3 7.x


6.5.3 7X
Use EDS 7.1.3
Essbase.properties
If Essbase/EDS versions are different
server.olap.direct=false is mandatory

Use file domain storage settings

Summary
Java API is:
Object Oriented
Part of Analytic Provider Services
A strategic API for Essbase

Questions?

Das könnte Ihnen auch gefallen