Upload
ahamed-shafraz-rauf
View
35
Download
9
Embed Size (px)
DESCRIPTION
Tim Tow
Citation preview
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
Java API Client
`
Java Application Server (http) /
OS Process (tcpip)
TCPIP
HTTP / TCPIP
Essbase Server
Architecture
Embedded mode
a/k/a direct mode
Java API Client
`
Java Application Server (http) /
OS Process (tcpip)
TCPIP
HTTP / 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
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
Interface-driven
Separates your code from the API implementation
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?