Introduction to Development With the Essbase Java API

23
Introduction to Development with the Essbase Java API Tim Tow Oracle ACE Director Applied OLAP, Inc

description

Tim Tow

Transcript of Introduction to Development With the Essbase Java API

  • 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?