Groovy Way of Self-Service BI mit Oracle Essbase DOAG Konferenz 2013, Nürnberg Holger Huck, Trivadis GmbH BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT AM FREIBURG IBR HAMBURG MÜNCHEN STUTTGART WIEN
Unser Unternehmen Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem Solution-Engineering und der Erbringung von IT-Services mit Fokussierung auf und Technologien im D-A-CH-Raum Unsere Leistungen erbringen wir aus den strategischen Geschäftsfeldern: B E T R I E B Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme 2
Mit über 600 IT- und Fachexperten bei Ihnen vor Ort Hamburg 12 Trivadis Niederlassungen mit über 600 Mitarbeitenden 200 Service Level Agreements Düsseldorf Frankfurt Stuttgart Mehr als 4'000 Trainingsteilnehmer Forschungs- und Entwicklungsbudget: CHF 50 / EUR 4 Mio Finanziell unabhängig und nachhaltig profitabel Freiburg Basel Brugg Bern Zürich Lausanne München Wien Erfahrung aus mehr als 1'900 Projekten pro Jahr bei über 800 Kunden 3 3 3 Stand 12/2012
AGENDA 1 Essbase im Controlling 2 Prozessbeispiel 3 Lösungsansatz 4 Implementierung 5 Fazit 4
Einführung 5
Holger Huck Senior Consultant - seit 2010 bei Trivadis Stuttgart Schwerpunkte - Controlling- und Planungssystem - Oracle Essbase OLAP - Automotive Ausbildung - Staatl gepr Informatiker - Dipl Betriebswirt (FH) 6
Essbase Architektur 3-tier Serverarchitektur MOLAP Server Schnittstellen ODBC JDBC XMLA Excel API C/C++ Java Visual Basic Quelle: Database Administrator Guide Oracle Essbase 1112 7
Essbase Server Struktur und Objekte Server Applikationen - Datenbanken Essbase Datenbank Objekte Outline Calcscripte Reports Rule Files Business Logik Sicherheit Benutzer Gruppen 8
Essbase Datentransfer Essbase Server Replikation Essbase Server Oracle Essbase Excel-Addin Oracle OCI Sonst ODBC Relationales DWH Essbase Rulefiles Daten und/oder Dimensionen Essbase Reports Flatfiles 9
Essbase im Controlling 10
Essbase im Controlling Fachbereich IT - Abteilung Interaktion Hintergrund BWL Aufgaben Methoden Hoheit Daten - Eingabe - Planung Prozesse - Definition - Starten Essbase Stand-alone Hintergrund Informatik Aufgaben Programmierung Daten - Berechtigungen - Datensicherung Prozesse - Implementierung - Überwachen - Starten 11
Fakten Essbase Stand-alone verfügt über keine Workflow Steuerung Dataload, Kalkulationen, Exporte über Skripte oder Admin Console Relationale Datenbanken haben keine Workflow Steuerung SQL oder PL/SQL Aufrufe Fachbereich hat selten das notwendige technische Know-How IT gibt Administrations Tools ungern an den Fachbereich Abhängigkeit des Controlling von der IT im operativen Geschäft Fachbereich IT- Abteilung 12
Prozessbeispiel 13
Prozess Beispiel Fachbereich Sicht 1 Planungsvorbereitung 2 Planung 3 Reporting Zentral Controller erhält eine Absatzplanung aus der Marketing Abteilung Kostenstellen Controller planen Fixkosten in der Planungsanwendung (Bottom-up Planung) Freigabe der Planung für das Reporting Speichern im DWH Aktuellen IST Werte aus dem ERP System liegen im DWH vor In der Planungsvorbereitung werden die Ist-Werte in den Planungsstand geladen Die Absatzwerte werden als Schlüssel für eine Kostenallokation geladen Verteilung der Fixkosten anhand der Absatzplanung Berechnen der Datenbank Aggregation der Hierarchie Prüfungen/Korrektur Top-Down Planung Berechnung der Datenbank Aggregation der Hierarchien Reporting über das DWH verfügbar 14
Prozessablauf ohne Toolunterstützung 1 Planungsvorbereitung 2 Planung 3 Reporting Relationales DWH Essbase Kalkulation Essbase Server Essbase Server Relationales DWH Essbase Server 15
Prozessablauf mit Toolunterstützung 1 Planungsvorbereitung 2 Planung 3 Reporting GUI - Prozesssteuerung GUI - Prozesssteuerung GUI - Prozesssteuerung Relationales DWH Essbase Kalkulation Essbase Server Essbase Server Essbase Server Relationales DWH 16
Prämissen für die Toolunterstützung Fachanwender kann die Prozesse ohne IT spezifisches Wissen starten Steuerung soll über eine Web Maske erfolgen Planungsart, Szenarien sollen über Auswahlboxen festgelegt werden Neue Prozesse sollen schnell hinzugefügt oder geändert werden Frontend soll austauschbar sein (keine Businesslogik im Frontend) Keine aufwendige Entwicklungsumgebung 17
Lösungsansatz 18
Lösungsarchitektur Konfiguration / Applikation Aufgabenliste Aufgabe Aktionsliste 19
Datenmodell Prozessketten 20
Prozess Aktionen Aktion Berschreibung Calc setvar delvar importwithrulefile export Report importreport execstoredprocedure execsql Essbase Kalkulation starten Essbase Substitutionsvariable setzen Essbase Substitutionsvariable löschen Essbase Import mit Regeldatei Essbase Report ausführen Essbase Report importieren StoredProcedure auf RDBS ausführen SQL auf RDBMS ausführen 21
Konfiguration Prozess ID Lösungsarchitektur Prozesssteuerung Operative Systeme Essbase API Essbase Server Prozess DB Prozess ID Aktionsschritte Logging Prozess ODBC/JDBC Data Warehouse 22
Implementierung 23
Auswahlmatrix Essbase API API Kategorien Java Visual Basic C/C++ Aktuelle Technologie Leicht zu erlernen Wird von Oracle auch in Zukunft weiterentwickelt OS und Hardware unabhängig Verwendung der Java API weil Java durch Runtime ohne Aufwand Plattform unabhängig Java ist im Vergleich zu C/C++ einfacher (Speicherverwaltung,Pointer) Fusion Middleware ist Java basierend Zukunftsicher! 24
Essbase Java API Object Model Package comessbaseapibase comessbaseapidataquery comessbaseapidatasource comessbaseapidomain comessbaseapimetadata comessbaseapisession Berschreibung Basic Objekte, die von den anderen Packages benutzt werden Datenabfragen, GRID API oder MDX Abfragen Objekte des Essbase Servers, Applikationen, Würfel und Security APS Server Objekte Objekte zur Definition von Outlines, Dimensionen, Members Objekte für die Erstellung einer Java API Instanz 25
Essbase Java API Object Model IEssOlapServer IEssApplication IEssCube 26
Auswahlmatrix Implementierung Implementierung Kategorien Groovy Java Binary Programmcode ist schnell einsehbar Änderungen können direkt auf dem Server durchgeführt werden Keine aufwendige Entwicklungsumgebung notwendig Minimaler Installationsaufwand Verwendung von Groovy weil Skriptansatz ist flexibler im Betrieb (Deployment, Ad-hoc Änderungen) Transparenter Code (auch für Administratoren schnell einsehbar) Groovy bringt die Basis Tools für die Entwicklung mit (Basis!) 27
Groovy Groovy ist eine dynamische Sprache für die Java Virutal Machine basierend auf Java, erweitert um Power Features von Pyhthon, Rugby und Smalltalk kein Einarbeitungsaufwand für Java Entwickler und vieles mehr Quelle: http://groovycodehausorg/ 28
Prozessbeispiel Datenbankberechnung Prozesssicht Implementierung GUI - Prozesssteuerung GUI - Prozesssteuerung Einstellung der Auswahlboxen Auswahl der Aufgabe Aufruf Groovy Skript Essbase Kalkulation Essbase Server Essbase Server 29
Groovy Skriptaufruf Wert Name groovy D:\Groovy\essRunTasks "Y2013;mbrESJahr" "767;AktionID ; Groovybat Groovy Skript Parameter 1 Parameter 1 Parameter n Übergabe von Konfigurationen und Variablen als Parameter Parameter werden mit doppelten Hochkommas übergeben Ein Parameter besteht aus Wert und Name Semikolon wird als Trennzeichen für Parameterteile 30
Groovy Parameter Verarbeitung Schleife über alle Parameter Parameter Name Parameter Wert Parameter Paar in MAP speichern Parameter über den Namen auslesen 31
Groovy Essbase Verbindung Connect String Provider Service Essbase Java API Objekt erzeugen Anmeldung mit User und Passwort Essbase Server Objekt erzeugen 32
Groovy SQL Verbindung Connect String Oracle Server Verbindung Objekt SQL Objekt SQL Abfrage & Ausgabe pro Row 33
Groovy Verarbeitung Abfrage Aktionsliste Einzelaktion auswählen und ausführen Essbase Java API Aufruf 34
Variable setzen groovy D:\Groovy\essRunTasks "Y2013;mbrESJahr" Stand 1;mbrAktStd" "764;AktionID" 35
Live Demo Live Demo Umgebung: Windows 2003 Server Oracle Essbase 11121 Oracle XE 112 Oracle APEX 421 Groovy 216 36
Fazit 37
Lösungsansatz vs Prämissen für die Toolunterstützung Fachanwender kann die Prozesse ohne IT spezifisches Wissen starten Steuerung soll über eine Web Maske erfolgen Planungsart, Szenarien sollen über Auswahlboxen festgelegt werden Neue Prozesse sollen schnell hinzugefügt oder geändert werden Frontend soll austauschbar sein (keine Businesslogik im Frontend) Keine aufwendige Entwicklungsumgebung 38
Fazit und Ausblick Fachbereich kann flexible und unabhängig agieren IT-Bereich wird in der Prozessunterstützung des Fachbereichs entlastet Einfache Erweiterbarkeit (zb Funktionen zur Datensicherung) Timer basierte Ausführung vorausgewählter Aufgaben Mandantenfähigkeit (ein Prozessserver für 1-n Essbase Server) Webmasken für das Erstellen des Workflows 39
Trivadis an der DOAG Ebene 3 - gleich neben der Rolltreppe Wir freuen uns auf Ihren Besuch Denn mit Trivadis gewinnen Sie immer 40
Fragen und Antworten Holger Huck Senior Consultant +49-162-295 96 34 HolgerHuck@trivadiscom BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT AM FREIBURG IBR HAMBURG MÜNCHEN STUTTGART WIEN