Groovy Way of Self-Service BI mit Oracle Essbase Holger Huck Trivadis GmbH Stuttgart Schlüsselworte Einleitung

Ähnliche Dokumente
1. Anforderungen an das Controlling

Groovy Way of Self-Service BI mit Oracle Essbase

IBM Cognos Analytics 11 Self-Service dann aber richtig!

Node.js der Alleskönner. Kai Donato MT AG Ratingen

DOAG - Mannheim Dienstag, 9. November Portierung einer komplexen Oracle Express Lösung auf die 9iR2 OLAP Option

Mandora Business Solutions

APEX Datenverwaltung Wo sind die Daten gerade?

Cognos im Siebel Marketingprozess - die Integration zweier Welten

PHP- Umgang mit Datenbanken (1)

Integration von Essbase in Oracle BI und EPM Workspace

Leistungsstarke Business Intelligence

Unternehmensdokumente mit dem XML Publisher erzeugen

PDF Ausgabe mit dem BI Publisher in ApEx 3.0

Praxisbericht Oracle JDeveloper 11g ADF Rich Client Entwicklung

go:identity Identity Management Lösung als IDM-Appliance ITConcepts Professional GmbH Marcus Westen

Oracle Forms und APEX

Erstellung von multidimensionalen Würfeln

APEX Office Print - Einfach Druck machen! Daniel Hochleitner Freelance APEX Developer, FOEX GmbH

Business Intelligence proalpha das Ding mit den Kennzahlen

XML Publisher die universelle Lösung für Geschäftsdokumente

Reporting mit Application Express jenseits von BI Publisher

Inhalt MIK.arjuna. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Haben Sie die Zeit im Griff? Oracle Essbase Time Intelligence

Transformations. Die API des Oracle Datamodeler. Dr. Gudrun Pabst. Trivadis GmbH Lehrer-Wirth-Straße München.

Scan Engine - Nutzung der Inventory Skripte

OWB Überwachungsberichte in Oracle BI EE

quickterm Systemvoraussetzungen Dokumentversion 1.0

Agenda joinit für 7-IT

Inhalt MIK.starlight. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Criteria API: Komplexe SQL Queries mit Eclipslink bauen

Erfolg mit Oracle BI?

Seminar in der Seminarreihe Business Intelligence 1. OLAP und Datawarehousing

1Ralph Schock RM NEO REPORTING

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

APEX und Drucken! - Die Schöne und das Biest!

Wie modelliere ich mein Core Data Warehouse?

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

White Paper - "effiziente Supportabwicklung"

WEKA Honorarabrechnung leicht gemacht manuelle Installation vom MS-SQL Server 2014 SP2 Express Stand 06/2018

BI-Navigator. Business Intelligence

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

Aufbau eines Kennzahlensystems in der Logistik mit Oracle BI

Layouterstellung im Web und interaktives Arbeiten mit dem BI Publisher

Workflows in APEX mit Camunda

VAADIN, SPRING BOOT & REST

1.1 Datenbankprogramm Oracle für MCIS MDA

Entwicklung von BI-Applikationen mit den BI-Beans auf Basis von Oracle Olap

Automatisiertes Prüfen des DeltaMaster Services

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

Vielseitig und flexibel InfoZoom in Ihrem Unternehmen

Lesson Learned Oracle Fusion Middleware Forms / Reports 11g

Lokale Scanner am Thin Client als Netzwerkscanner nutzen. Inhaltsverzeichnis

DIMEX Data Import/Export

Integrieren Sie Excel und SAP ohne Programmierung. Webinar Q&A. 29. Januar 2015

SAP BO Web Intelligence auf SQL Server [A4] Üetliberg,

Ein Reporting Service mit APEX und BI Publisher

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Oracle Fusion Middleware Überwachung mit Oracle BAM

The BI Survey 16 von BARC

Mail Integration Solution White Paper

Wir bauen uns ein Data Warehouse mit MySQL

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

WEKA Honorarabrechnung leicht gemacht manuelle Installation vom MS-SQL Server 2014 SP2 Express Stand 10/2016

BI around the world - Globale Reporting Lösungen bei Continental Automotive

desk.modul : WaWi- Export

Vorteile einer Tool gestützten Modernisierung von Forms und Reports

Oracle & Java HOW TO

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

Business Intelligence Aufgabenstellung

D O K U M E N T A T I O N. AdvoCenter VERSION 1.1

Xojo für FileMaker Entwickler

Übersicht SAP-BI. DOAG Regionaltreffen

Was ist neu in der SQS-TEST /Professional Suite

Ausgaben ohne Aufwand?

... WebOffice als System. SynerGIS Team WebOffice (v 10.2)

ComfortsAutomatic-Datamodel

Apparo Fast Edit Standardprogramm für unternehmensweite Dateneingabe. Standalone Version

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 2 - Humboldt Universität zu Berlin am 10. Juni 2004

bitanalytics goes mobile? Peter Hernold und Wolfram Winkler, BITMARCK Essen, 29. Mai 2018

Oracle Essbase Backup & Recovery

Das Einsteigerseminar ASP

BusinessObjects Was ist neu?

Serena Schulungsplan 2017

APEX 5. Mit 6 Klicks kostenfrei zur APEX Webapplikation. Robotron Datenbank-Software GmbH Schulungszentrum Heilbronner Straße Dresden

Cubeware Connectivity for SAP Solutions

Dieses Modul benötigt eine funktionierende Installation von LibreOffice/OpenOffice und ein Java Runtime Environment.

Deep Dive Power Query und M

smartdox app server Moderne Applikationsplattform für individuelle Unternehmensprozesse

Trivadis-Gadgets im Dienste ihrer Qualität: FAAT und PL/SQL Cop

Dies ist der zweite Artikel einer Serie über Electron.

Einführung ORACLE BI Suite 11g

Das Leben der Anderen

Application Express (APEX) Carsten Czarski Business Unit Database. ORACLE Deutschland B.V. & Co KG

Reporting Lösungen für APEX wähle Deine Waffen weise

Transkript:

Groovy Way of Self-Service BI mit Oracle Essbase Holger Huck Trivadis GmbH Stuttgart Schlüsselworte Oracle Essbase, Hyperion Essbase, Groovy, Self-Service BI, Prozessautomatisierung, Essbase Java API, Essbase API, Essbase Client Einleitung Oracle Essbase ist die führende multidimensionale OLAP Datenbank. Sie verfügt über ein eigenes Datenbankformat und bietet viele Anwendungsmöglichkeiten für Finanz- und Controlling Bereiche. Zum einen ist die Essbase Datenbank in den verschiedenen EPM Produkten von Oracle integriert, kann aber auch als Standalone Server installiert werden. Diese Form ist besonders gut geeignet für den Einsatz in strategischen Planungsprozessen, für Simulationen und Ad-hoc Analysen. Solche Anwendungen haben in der Regel einen kleinen Benutzerkreis und dienen zur Generierung von neuen Daten und Erkenntnissen. Neue Daten werden aus einer Mischung aus bestehenden Daten (z.b. IST- Werte, OP Werte) und Daten aus dem strategischen Zeitraum, z.b. durch Fortschreibungen auf der Basis von Prämissen in der Essbase Datenbank (z.b. Teuerungsraten, Konjunkturdaten) erzeugt. Diese Systeme benötigen keine aufwendigen Userinterfaces. Die Interaktion zwischen dem Benutzer und der Datenbank erfolgt über das SmartView Add-in für Excel. Einzig die Prozesssteuerung für das Laden, Kopieren und Berechnen der Datenbank muss dem Endanwender zugänglich gemacht werden. Out-ofthe-Box sind bei einer Essbase Standalone Installation keine Workflow- und Steuerungskomponenten für den Endbenutzer enthalten. Mit der Java API für Essbase, einer relationalen Datenbank und der Skriptsprache Groovy kann man diese Lücke schließen. In einem Framework aus Groovy Skripten lassen sich alle Prozesse, wie z.b. Kalkulationen, Dimensionen und Daten laden starten und kontrollieren. Durch die Verbindung mit einer relationalen Datenbank können Workflows für die Standardprozesse schnell hinterlegt werden. Verbunden mit einem webfähigen Frontend, wie z.b. Oracle APEX wird die Steuerung dem Business Anwender zu Verfügung gestellt. Hiermit werden die Essbase Administratoren entlastet und die Fachabteilung kann unabhängig vom IT-Support arbeiten. Verwendet man dazu noch freie Komponenten wie ORACLE Database EXPRESS Edition und APEX, fallen keine zusätzlichen Lizenzkosten an. Mit Groovy Scripten kann die Essbase Automatisierung schnell und einfach erfolgen. Viele Essbase Entwickler haben einen betriebswirtschaftlichen Hintergrund. Die Zielsetzung ist deshalb, eine Lösung zu entwickeln, die mit wenig Aufwand und ohne spezielle Programmierkenntnisse gepflegt und weiterentwickelt werden kann. Folgender Artikel stellt einen Ansatz, wie dies durch die Kombination von relationalen Steuerungsdaten, Groovy und der Essbase API realisiert werden kann.

Anforderungen an das Controlling Controlling Prozesse sind sehr komplex und vielschichtig geworden. Der Trend geht zu immer mehr Informationen und einem stetig wachsendem Detailierungsgrad bei zunehmender Verkürzung der Planungsdauer. Diese Anforderungen können nur erfüllt werden, wenn Controlling Systeme in der Lage sind den Planungsprozess weitgehend zu unterstützen und zu automatisieren. Das wird erreicht, indem komplexe Berechnungen in das System verlagert werden, Zukunftsdaten auf der Basis von Prämissen erzeugt und Fortschreibungen und TOP-Down Planungen auf der Basis von Erkenntnissen der Vergangenheit berechnet werden. Um auf alle möglichen Ereignisse vorbereitet zu sein, werden verschiedenen Szenarien berechnet, die sich auf unterschiedlichen Prämissen beziehen oder sich aus mehreren Szenarien zusammensetzten. Mit zunehmendem Jahresfortschritt kommen in der Regel neue Erkenntnisse dazu. So kann eine Planungen mit aktuellen Daten aus den Monatsberichten oder einer Ist-Erwartung ergänzt werden. Diese Vorbelegungen mit IST Werten und die Generierung eines neuen Datenstandes, sowie der Import von Daten aus unterschiedlichen Datenquellen muss vom System unterstützt werden. Betrachtet man den Prozess einer strategischen oder operativen Planung, so gibt es auch hier Zeitpläne. Diese sind aber nicht mit dem Ablauf einer Regelberichtserstattung, wie z.b. der automatisierten Erstellung eines Monatsberichts zum Monatsanfang zu vergleichen. Datenbankprozesse müssen interaktiv aus dem Controlling gestartet werden können. Die Ergebnisse müssen umgehend zur Analyse und im Reporting zur Verfügung stehen. Prozessbeispiel Abb. 1: Prozessbeispiel Abbildung 1 zeigt eine einfache Prozesskette in drei Schritten.

Schritt 1: Aus einem relationalen Data Warehouse werden IST Werte für die vergangenen Jahre, sowie Planungsprämissen in den Essbase Würfel geladen. Bevor der Schritt 2 durchgeführt wird, können zusätzlich Daten oder Korrekturen von den Anwendern in den Essbase Würfel geladen werden. Schritt 2: Auf dem Essbase Würfel wird ein Datenbank Script gestartet, das die Istwerte anhand der Prämissen in die Zukunft fortschreibt und die Datenbank aggregiert. Schritt 3: Der neu erstellte Datenstand wird in das Data Warehouse exportiert. Folgende Prämissen für die Umsetzung einer Prozesssteuerung sollen berücksichtigt werden: - Fachanwender kann die Prozesse ohne IT spezifisches Wissen starten - Steuerung soll über eine Administrationsmaske, möglichst im Web erfolgen - Planungsart, Szenarien sollen über Auswahlboxen festgelegt werden - Neue Prozessschritte sollen schnell hinzugefügt werden können Lösungsansatz und Entscheidungsmatrix Zur Durchführung der Prozessschritte müssen diese wiederum in Einzelschritte in Essbase und der relationalen Datenbank aufgelöst werden. Somit ist eine Technologie zu wählen, die mit beiden Datenbank Systemen kommunizieren kann. Die Benutzerinteraktion soll über eine Web Maske erfolgen. Ziel hierbei ist, so wenig Logik wie möglich in der Maske zu implementieren, um das Frontend leicht austauschen zu können. Um schnell neue Prozessschritte zu erstellen, sollen die Prozessketten in einer relationalen Datenbank gespeichert werden. Diese werden dann ausgelesen und abgearbeitet. Abb. 2: Lösungsarchitektur

Abbildung 2 zeigt die angestrebte Lösung. Die Prozessketten und Konfigurationsinformationen werden in einer relationalen Datenbank abgelegt. Auf diese Informationen wird aus der Web Maske zugegriffen. Der Fachbereichsanwender wählt aus, welchen Prozess er starten will. Es erfolgt eine Aufruf des Groovy Script mit einer Parameterliste. Das Groovy Script liest die Prozessschritte aus der Prozessdatenbank und arbeitet diese dann ab. Hierbei erfolgen sowohl Zugriffe auf den Essbase Server, als auch auf die Data Warehouse Datenbank. Welche der drei Essbase API s verwendet werden soll wurde anhand der Entscheidungsmatrix in Abb. 3 getroffen. Die Java API hat alle Kriterien erfüllt. Essbase API s Kriterien Java Visual Basic C/C++ Aktuelle Technologie X - X Leicht zu erlernen X X - Wird von Oracle auch zukünftig weiterentwickelt X - X OS und Hardware unabhängig X - - Abb. 3: Entscheidungsmatrix API Auswahl Implementierung Kriterien Groovy Java Binary Programmcode ist schnell einsehbar X - Änderungen können direkt auf dem Server durchgeführt werden X - Keine aufwendige Entwicklungsumgebung notwendig X X Minimaler Installationsaufwand X - Keine speziellen Software Development Kenntnisse notwendig X - Abb. 4: Auswahl Implementierung Abbildung 4 zeigt die Entscheidungsmatrix für die Implementierung. Ziel war, den Aufwand für die Entwicklung möglichst klein zu halten um schnell Änderungen und Erweiterungen durchführen zu können. Groovy ermöglicht einen schnellen Start mit einfachen Mitteln und war aus diesem Grund die erste Wahl. Implementierung Die Prozessketten werden in der relationalen Datenbank hinterlegt. Hierbei ist der kleinste Nenner eine Aktion. Diese kann entweder auf den Essbase Server oder auf eine relationale Datenbank ausgeführt werden. Folgende Tabelle zeigt ein Auszug aus möglichen Aktionen. Aktion Calc setvar delvar importwithrulefile exportreport importreport execstoredprocedure execsql Abb. 5: Aktionstabelle Berschreibung Essbase Kalkulationsskript starten Essbase Substitutionsvariable setzen Essbase Substitutionsvariable löschen Essbase Import mit Regeldatei Essbase Report ausführen Essbase Report Daten importieren StoredProcedure auf RDBMS ausführen SQL Befehl auf RDBMS ausführen

Die nächste Stufe ist eine Aktionsliste. Hier werden alle Aktionen hinterlegt, die eine Aufgabe bilden. Es wird die Reihenfolge festgelegt und auf welcher Datenbank die Aktion ausgeführt wird. Eine Aktionsliste wird einer Aufgabe zugeordnet. Die Aufgabenliste enthält alle Aufgaben mit Informationen zu welcher Applikation und Datenbank sie zugeordnet sind und Einstellungen zur Gültigkeit. Auf die Aufgabenliste greift die Web Maske zu, um die Auswahlboxen zu füllen. Abb. 6: Datenmodell Prozessketten Auf Basis der Konfigurationsinformationen wird das Groovy Skript aufgerufen. Die notwendigen Parameter werden als Konfigurationspaar übergeben, d.h. ein Parameter besteht aus zwei Teilen, der Name des Parameters und der Inhalt. Abb. 7: Maskenauswahl und resultierende Parameterliste

Das Groovy Script speichert die Parameter und kann diese bei Bedarf abfragen, z.b. um die Variablen für eine setvar Aktion oder abhängige Variablen zu ermitteln. Für den Einsatz der Essbase API in Groovy muss der Essbase Client mit der Java API auf dem Rechner installiert und der CLASSPATH gesetzt sein. Die Implementierung in den Groovy Skripten funktioniert analog wie in Java. Folgendes Beispiel zeigt das Erstellen einer Verbindung zu einem Essbase Server. import com.essbase.api.base.*; import com.essbase.api.session.*; import com.essbase.api.datasource.iesscube; import com.essbase.api.datasource.iessolapfileobject; import com.essbase.api.datasource.iessolapserver; import com.essbase.api.datasource.iessolapuser; import com.essbase.api.domain.*; int FAILURE_CODE = 1; IEssbase ess = null; try { // Create JAPI instance. ess = IEssbase.Home.create(IEssbase.JAPI_VERSION); // Sign On to the Provider IEssDomain dom = ess.signon(s_username, s_password, false, null, s_provider); IEssOlapServer olapsvr = dom.getolapserver(s_olapsvrname); olapsvr.connect(); System.out.println("Connected to Analytic server '" +olapsvr.getname(); String apiversion = ess.getapiversion(); String apiverdetail = ess.getapiversiondetail(); System.out.println("API Version :"+apiversion); System.out.println("API Version Detail :"+apiverdetail); IEssCube cube = olapsvr.getapplication(s_essapp).getcube(s_essdb); cube.beginincrementalbuilddim(); } catch (EssException x) { System.err.println("Error: " + x.getmessage()); statuscode = FAILURE_CODE; } finally { // Sign off. try { if (ess!= null && ess.issignedon() == true) ess.signoff(); System.out.println("Disconnected from " +olapsvr.getname()); } catch (EssException x) { System.err.println("Error: " + x.getmessage()); } } Das gleiche gilt für Verbindungen zu relationalen Datenbanken. Der entsprechende ODBC/JDBC Treiber muss auf dem Rechner installiert sein und im CLASSPATH hinterlegt werden. Durch Implementierung mit Groovy lassen sich die Prozessketten zur Freude der Administratoren auch direkte über einen Skriptaufruf starten. Groovy Skripte können schnell kopiert werden, um z.b. schnell auf Ad-hoc Anfragen und Sonderfälle zu reagieren. Der Programmcode ist schnell einsehbar. Durch die Verbindung mit einer relationalen Datenbank lassen sich Prozessketten effektiv abbilden.

Ein weiterer Vorteil dieses Lösungsansatzes ist, dass Fehlermeldungen und die Interaktionen mit dem Planungssystem in der Prozessdatenbank dokumentiert werden können. Das kann bei der Fehlersuche und bei der Erfüllung von Audit Vorgaben sehr hilfreich sein. Kontaktadresse: Holger Huck Trivadis GmbH Industriestrasse 4 D-70565Stuttgart Telefon: +49 (0) 711-90 36 32 30 Fax: +49 (0) 711-90 36 32 90 Mobil: +49 (0) 162 295 96 34 E-Mail: Holger.Huck@trivadis.de Internet: www.trivadis.com