Présentation d'Oracle Hyperion Essbase

Sébastien Roux

Cet article est une présentation de la base de donnée multidimensionnelle Essbase. Il en décrit son positionnement et son historique, ses concepts techniques ainsi que ses bibliothèques et les solutions qui s'y rapportent.

- Titre : Présentation d'Oracle Hyperion Essbase

- Auteur : Sébastien Roux

- Parution : 15 avril 2009

- Mise à jour : 14 janvier 2010

- Licence : Copyright ® 2009 Sébastien Roux. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Préface

- II. Rappel sur la modélisation multidimensionnelle

- III. Naissance et parcours d'Essbase, de Arbor à Oracle

- IV. Historique et versions

- V. A qui s'adresse Essbase ?

- VI. Les modèles BSO et ASO

- VI-A. BSO - Block Storage Option

- VI-B. ASO - Aggregate Storage Option

- VII. Interfaces de programmation, applications natives et solutions tierces

- VII-A. Les interfaces de programmation disponibles

- VII-B. Outils embarqués

- VII-C. Produits Hyperion Oracle et solutions tierces

- VII-C-1. Produits Hyperion Oracle

- VII-C-2. Solutions tierces

- VIII. Conclusion et remerciements

I - Préface

Cet article traite du moteur Essbase considéré par beaucoup comme le meilleur moteur de base de données multidimensionnelle actuellement sur le marché. Ceci en raison de ses capacités natives en termes de saisies de données, notamment sur les niveaux consolidés, de simulation, à travers l'élaboration de puissantes règles de calculs, et de restitution de données dans Excel, extension naturelle de tout financier digne de ce nom.

Nous aborderons le parcours mouvementé et l'évolution d'Essbase au fil du temps. Nous verrons également qu'il s'agit d'une véritable boîte à outils permettant l'administration, la manipulation et l'interrogation de données à travers de nombreuses API et de solutions abordées à la suite de ce document.

Cet article s'adresse à tout public et à tout profil, aussi bien débutant qu'avancé, aussi bien technique que fonctionnel.

II - Rappel sur la modélisation multidimensionnelle

La modélisation multidimensionnelle, conçue spécifiquement pour répondre au besoin d'analyse (OLAP OnLine Analytical Processing) propose d'analyser des indicateurs numériques (par exemple chiffre d'affaires, nombre d'individus, ratios, etc.) dans un contexte précisé par le croisement de plusieurs dimensions ou axes d'analyse (par exemple temps, géographie, organisation, produits, etc.).

Un système de coordonnées à trois axes est facile à représenter par un cube ; au-delà de trois axes, cela devient mathématiquement un hypercube. Une base de données multidimensionnelle typique peut donc s'envisager comme un hypercube ou encore un "cube OLAP" d'une petite dizaine de dimensions, comprenant plusieurs millions de cellules.

Techniquement, cette modélisation peut s'implémenter selon deux stratégies :

- soit on utilise une base relationnelle dénormalisée (schémas en étoile ou en flocon), sur laquelle on génère à la volée les requêtes SQL correspondant aux interrogations des utilisateurs ; on parle alors de Relational OLAP ou ROLAP ; le "cube" n'est donc pas une base de données mais un simple mode de présentation de données (couche sémantique),

- soit on utilise un système de gestion de bases de données MOLAP (Multidimensional OLAP), donc un modèle de stockage spécifiquement conçu pour le multidimensionnel.

De manière générale, les bases MOLAP permettent de stocker beaucoup plus de pré-calculs ; elles sont donc généralement plus volumineuses et plus longues à calculer, mais offrent un temps de réponse quasi-immédiat à l'utilisateur.

Je vous invite à consulter cet article pour plus de précisions sur la modélisation multidimensionnelle.

III - Naissance et parcours d'Essbase, de Arbor à Oracle

Oracle Hyperion ESSBase (Extended SpreadSheet dataBASE) est un moteur de base de données multidimensionnelle de type MOLAP.
Mis sur le marché en 1992, par Arbor Software Corporation, Essbase est ensuite renommé Essbase OLAP au moment de la fusion d'Arbor avec Hyperion Software Corporation en 1998. Hyperion était l'éditeur d'une solution de consolidation financière, Hyperion Enterprise.
En 2007, Hyperion est racheté par Oracle pour la modique somme de 3,3 milliards de dollars.

IV - Historique et versions

1992 - Lancement d'Essbase par la société Arbor Software Corporation. A son lancement le produit permettait la restitution de données vers les tableurs Microsoft Excel et Lotus 1-2-3.
Le choix du front end ou de l'interface d'utilisation, est alors stratégique, il supposait pour l'éditeur de cibler les utilisateurs connaissant bien leur métier : l'analyse financière et opérationnelle, ainsi que leur outil de travail : le tableur.

1995 - Lancement de la version 3.2 avec les nouveautés suivantes : portage vers les systèmes UNIX, internationalisation et intégration avec les SGBDR (SQL Drill Through, outline mapping API).

1998 - Lancement de la version 5 avec intégration complète vers les postes de travail et le portage vers Windows 95 et Windows NT.

2000 - La version 6, encore présente dans de nombreuses entreprises, s'étend jusqu'à la version 6.5.7. Malgré son âge, cette version offre une toutefois une compatibilité avec Windows 2003 entre autres plateformes (UNIX, Linux etc.). Notons que la partie client (add-in Excel) est, non officiellement, compatible avec Office 2007, pour le plus grand bonheur des utilisateurs d'Office 2007...
La version 6 se distingue avec l'apparition du calcul multiprocesseur, pour une meilleure parallélisation des tâches de calcul, ou encore l'Hybrid Analysis permettant d'accéder à des données détaillées stockées dans une base relationnelle (datawarehouse, General Leger). L'apport des axes attributs permet de créer des regroupements selon des catégories, numériques ou non (booléen, texte, date).

2004 - La série 7 (Essbase 7X), voit la disparition du client lourd d'administration (Application Manager) au profit de la console n-tier EAS, Essbase Administration Services, basée sur un serveur applicatif J2EE (Tomcat, Websphere, Weblogic,...). Bien que limité sur certains points d'ergonomie (gestion de la sécurité, administration multi-serveurs etc.), l'Application Manager est néanmoins une console stable et performante. La console traditionnelle reste cependant compatible avec les versions suivantes d'Essbase pour l'administration des cubes BSO (cf. chapitre VI).
Les débuts d'EAS sont difficiles, avec de nombreux bugs, lenteur et fuites de mémoire, ainsi que quelques régressions durables (drag & drop).

Côté client, c'est l'apparition de Visual Explorer sous licence OEM avec l'éditeur Tableau Software.
Côté serveur, c'est l'apparition du mode de stockage ASO (Aggregate Storage Option), le filtrage des méta-données et le support de la norme unicode. Le module de gestion des licences Flexlm (flexible license manager) fait également son apparition et ses premières déceptions.

2005 - L'arrivée de la série 9 (System 9) est marquée par un mécontentement général des utilisateurs, malgré de nombreuses nouveautés intéressantes telles que :

- SmartView : un add-in destiné à la suite Microsoft Office et permettant de d'interroger aussi bien Essbase que Planning, l'outil métier d'élaboration budgétaire ou encore Hyperion Financial Management (HFM), l'outil métier de reporting et consolidation statutaire,

- l'extension du périmètre d'utilisation des variables de substitution (formules de calculs de l'outline, filtres de sécurité et règles de chargement),

- l'enrichissement des fonctionnalités de l'ASO,

- l'API Java embarquée.

A l'heure des premières versions, le déploiement et la maintenance de la plateforme Hyperion EPM System 9.0 se révèlent être catastrophiques. Avec des problèmes d'instabilité induits par le serveur de licences Flexlm et autres difficultés de synchronisation des nombreux services à leur démarrage. Sans oublier l'instabilité de Shared Services, un nouveau module destiné à la gestion centralisée de la sécurité à travers :

- la mise en commun des sécurités des différentes applications Hyperion System 9 : Essbase, Planning, Reporting Services, Web Analysis, etc.

- la synchronisation avec les annuaires d'entreprise (NTLM, MSAD, LDAP, OpenLDAP).

Les patchs s'enchaînent les uns après les autres, avant et après le rachat par Oracle, pour aboutir à la version 9.3.1. Cette dernière, beaucoup plus stable, voit l'abandon du serveur de licence Flexlm. Suite à l'acquisition par Oracle, nous constatons une réactivité du support technique bien supérieure, aussi bien en termes de prise en charge des anomalies que de leur traitement avec une mise à disposition plus rapide des patchs.

2008/2009 - A l'heure actuelle, la dernière version d'Oracle Essbase est la version 11 (nom de code Kennedy), livrée en juillet 2008 et faisant, comme prévue dans la roadmap, l'objet d'une mise à niveau majeure, peu après sa sortie.
La version 11.1.1.1 apportant alors de nombreuses corrections ainsi que la compatibilité vers les plateformes suivantes :

- HP-UX (32-bit et 64-bit),

- IBM AIX (64-bit),

- Linux x86 (32-bit et 64-bit),

- Sun Solaris (64-bit),

- Windows (32-bit et 64-bit).

La sortie, en avril 2009, de la version 11.1.1.2, apporte la localisation géographique. La version 11.1.1.3, mise à disposition en août 2009, fait essentiellement l'objet de correction de bugs.

Voici une liste non exaustive des nouveautés apportées par la v.11 :

- Essbase Studio reprenant les principes d'EIS (Essbase Integration Services) et devant intégrer, à termes, les fonctionnalités de la console EAS,

- LCM (LifeCycle Management), intégré à Shared Services, LCM facilite les audits et les migrations des différents objets entre les environnements.

- les indicateurs typés (typed measure) avec la possibilité de sélectionner un libellé parmi une liste de libellés prédéfinie Smart List),

- les attributs changeant (varying attributes) permmettent de conserver l'historique des afectations à travers une ou plusieurs dimensions,

- les fonctionnalités, intégrées, de sauvegarde incrémentale et de restauration graduelle,

- la purge de plages spécifiques pour les bases ASO,

- les bases ASO comme source de partitions transparentes et répliquées,

- la possibilité d'annuler, à partir d'EAS, les d'opérations de dataload, de calculs, les traitements MaxL etc.

- signalons également un processus d'installation simplifié mais cependant la contrainte d'un package d'installation de plus de 8 GO pour les composants Essbase (serveur, client), le socle commun (Shared Services, Provider Services, Workspace) et les composants tiers (Administration Services, Essbase Studio, EIS, etc.). Il n'existe par ailleurs pas d'installeur indépendant pour l'add-in Excel celui-ci doit être repackagé en raison de sa taille (5 GO).

2010 - La future version majeure, la 11.1.2, prévue en 2010, apportera de nombreuses nouveautés telles que :

- l'intégration avec Oracle Enterprise Management, solution de pilotage des applications Oracle,

- la possibilité d'interroger les données en PL/SQL, langage procédural d'Oracle qui étend le SQL,

- la mise à disposition d'un moteur de calcul procédural pour les bases ASO,

- la disparition du processus de synchronisation des sécurités entre Essbase et Shared Services,

- l'apparition d'un service web,

- de nombreuses évolutions dans Smart View.

Je vous invite à consulter plus en détail cette feuille de route à partir du site de Tim Tow, président de la société AppliedOlap qui édite Dodeca et Oracle ACE Director :

- Kaleidoscope Sunday Symposium - Essbase Roadmap Part 1

- Kaleidoscope Sunday Symposium - Essbase Roadmap Part 2

V - A qui s'adresse Essbase ?

Essbase est très apprécié par les directions financières, directions du contrôle de gestion et du reporting, notamment dans le cadre d'exercices de simulations (budget, planning, forecast). Rappelons que les fonctionnalités-clé du produit sont les suivantes :

- la possibilité de saisir des données à tous les niveaux,

- l'exécution de calculs simples tels que des consolidations globales ou ciblées, copies de plages ou, beaucoup plus complexes, tels que des conversions, allocations, répartitions, calculs personnalisés poussés, etc.

- la restitution et la navigation, libre ou à travers des masques prédéfinis, dans Excel, outil encore et pour longtemps très apprécié des financiers. Notons la présence de fonctions exploitables en VBA pour l'automatisation des tâches. Ce langage est d'ailleurs souvent maîtrisé par les administrateurs fonctionnels et autres power users. La société Applied Olap a développé un add-in Essbase complet pour les tableurs Open Office et StarOffice,

- la souplesse quant à l'administration fonctionnelle : la maintenance applicative s'effectue graphiquement à travers l'interface d'administration et ne requiert pas de compétences techniques poussées (pas de langage comme le SQL, pas de modélisation de tables, etc.).

En revanche la conception et l'optimisation des bases et du moteur requièrent de bonnes connaissances des concepts techniques du produit.

VI - Les modèles BSO et ASO

Il convient de distinguer, d'une part, les cubes de type BSO (Block Storage Option), moteur classique d'Essbase, basé sur un modèle d'organisation des données par blocs, et d'autre part, le modèle ASO (Aggregate Storage Option), apparu avec la version 7.

VI-A - BSO - Block Storage Option

Les cubes au format BSO fonctionnent sur le principe de fichiers d'index et de données. L'optimisation stockage/performance s'effectue dans la structure en distinguant les axes épars ou clairsemés (sparse), ou encore faiblement valorisés (ex. un produit ne se vendant pas dans tous les pays) et, à l'opposé, les axes denses ou fortement valorisés (ex. un chiffre d'affaire est renseigné tous les mois). Les dimensions denses permettent alors de déterminer la taille d'un bloc utilisé pour stocker des informations. Les dimensions éparses permettent de créer la structure de niveau supérieur (index), utilisée pour pointer vers le bloc contenant les informations souhaitées. Il convient de trouver le bon équilibre entre la taille des blocs et les pointeurs afin d'optimiser au mieux les performances.

Le modèle BSO est orienté simulation avec la gestion native de la saisie et la présence de règles de calculs largement paramétrables. En termes de calculs, plusieurs cas de figures sont possibles avec :

- l'agrégation naturelle des valeurs sur la structure (outline), ceci en fonction d'un opérateur de consolidation prédéfini (+, -, *, /, %, ~, ^),

- l'édition de formules sur les membres ou méta-données de la structure, tous axes confondus (ex. POURCENTAGE_REALISE = REALISE / BUDGET),

- l'édition de scripts de calculs désolidarisés de la structure, plus complets et traitant des besoins spécifiques.

VI-B - ASO - Aggregate Storage Option

Dans ce modèle, les valeurs ne sont stockées qu'au niveau le plus fin, toutes les valeurs agrégées étant calculées dynamiquement en mémoire, à la demande. Des "vues" agrégées peuvent être générées en fonction des croisements les plus sollicités. Ce processus peut être automatisé ou réalisé manuellement par l'administrateur en fonction du taux d'utilisation et de l'espace disque disponible. Les cubes ASO sont orientés analyse avec une compression et un stockage accrus, le tout pour une quantité d'axes d'analyse et de méta-données largement supérieure.
La panoplie des calculs est moins riche qu'avec le modèle BSO. Les règles de calculs peuvent suivrent la logique d'agrégation naturelle à l'instar du modèle BSO et elles comprennent également l'édition de formules, en langage MDX, sur la structure.

Il est possible de travailler de façon complémentaire avec ces deux types de bases à travers l'utilisation du partitionning.

VII - Interfaces de programmation, applications natives et solutions tierces

La puissance d'Essbase réside également dans son ouverture à travers une multitude d'API, d'outils d'analyse embarqués ou encore de solutions développées par de nombreux éditeurs.

VII-A - Les interfaces de programmation disponibles

L'utilisateur curieux y trouvera tout d'abord un riche éventail d'interfaces de programmation ou API (Application Programming Interface). De nombreuses librairies, très bien documentées, permettent l'accès aux données ainsi qu'aux fonctions d'administration.

- l'API Visual Basic/Visual Basic for Application (Office),

- l'API C/C#/C++,

- l'API Java,

- le module PERL perl_mod, à utiliser conjointement avec les commandes MaXL,

- l'API pour le protocole XMLA (XML for Analysis).

VII-B - Outils embarqués

Lors de l'installation de la partie cliente, sont également mis à disposition des outils permettant d'exploiter nativement et simplement les différentes applications métiers.

- L'add-in Excel : une macro Excel est disponible par défaut lors de l'installation du module client. Elle permet d'effectuer des restitutions, de la saisie ou de lancer des calculs de données à partir d'Excel. L'add-in apporte des possibilités d'analyse ad hoc souples ainsi que la possibilité de réaliser des tableaux de bord formatés.

- Couplé à des développement VBA, l'add-in Excel reste très utilisé pour le développement de classeurs Excel packagés aux applications nombreuses : tableaux de bord, élaboration budgétaire, génération de book de reporting, administration applicative etc. Ceci grâce aux nombreuses fonctions de la librairie SpreadSheet Toolkit (Excel VBA) ou encore de l'API VB.

- SmartView : il s'agit d'une macro compatible avec les applications Microsoft Office (Excel, Word, Outlook et PowerPoint) et qui permet d'accéder à Essbase, Planning, HFM, Financial Reporting, Interactive Reporting, SQR Production Reporting ou OBIEE.
Notons qu'à termes, l'add-in SmartView est amené à remplacer l'add-in Excel classique, cité plus haut. Il propose de façon analogue une librairie VBA avec de nombreuses fonctions pour automatiser les traitements.

- A partir d'Essbase 7 et suite à un partenariat OEM avec Tableau Software, Visual Explorer permet de naviguer de façon graphique à travers les données en prônant une bien meilleure analyse. Visual Explorer fait l'objet d'une licence séparée auprès d'Oracle.

VII-C - Produits Hyperion Oracle et solutions tierces

De nombreuses solutions commerciales, éditées aussi bien par Oracle que par d'autres sociétés tierces, proposent d'accéder à Essbase via les technologies web et à travers l'intégration aux portails d'entreprise, en voici un éventail non exhaustif :

VII-C-1 - Produits Hyperion Oracle

- Financial Reporting (anciennement Hyperion Reports). Financial Reporting permet de concevoir et de générer des rapports financiers et de gestion au format de liasse conformes aux réglementations et aux exigences légales.

- Hyperion Application Builder.NET(HAB.NET). HAB.NET est un ensemble de classes permettant le développement d'applications bureautique ou web autour d'Essbase. HAB.NET s'articule autour de l'offre Microsoft .NET (VB.NET, C#) dans un environnement SOAP
HAB ne semble plus distribué depuis la version 11.1.1.3 d'Essbase.

- Interactive Reporting (anciennement Brio puis Intelligence Reporting). Interactive Reporting propose des fonctionnalités de requête et d'analyse contrôlées par l'utilisateur. Celles-ci sont mises en oeuvre à travers une interface permettant la conception de tableaux de bord, puis de surveiller et de consulter des informations pertinentes. Les avis des analystes sont partagés quant au remplacement ou au soutien technologique et commercial du produit.

- Oracle BI Enterprise Edition (OBIEE).

- SQR Production Reporting, à terme remplacé par OBIEE Publisher. Production Reporting permet de générer de grandes quantités de rapports dans un format professionnel, les informations pouvant provenir de sources hétérogènes. Production Reporting fournit le contexte nécessaire à l'établissement d'indicateurs clés en regroupant les informations des principales applications métier exécutées dans l'entreprise.

- Web Analysis (anciennement Hyperion Analyzer) : edité par Oracle, Web Analysis propose une interface web pour la réalisation de tableaux de bord multi-sources. Web Analysis permet également l'analyse ad hoc avec la saisie de données et l'exécution de calculs sur les données. A terme remplacé par OBIEE ANswers+.

VII-C-2 - Solutions tierces

- Arcplan Enterprise (anciennement dynaSight) édité par la société arcplan Information Services.
Il s'agit d'une boîte à outils permettant de développer graphiquement de véritables interfaces web mixant plusieurs sources de données, de façon intéractive, sur un seul et même écran.
Les connecteurs disponibles sont les suivants :

- Oracle Hyperion Essbase,

- Oracle Hyperion HFM,

- Oracle Hyperion Enterprise,

- Oracle Native, Oracle Express, Oracle OLAP, Oracle OLAP DML,

- Microsoft Analysis Services,

- IBM DB2,

- IBM Cognos TM1,

- TRG MIS Alea,

- SAP R3, SAP BW, SAP SEM BPS, SAP Query (Data Extractor),

- Sources de données ODBC et OLE DB, XML/XMLA, LDAP,

- Adabas, TaminServer

Arcplan Enterprise propose de très nombreuses fonctionnalités tel que des restitutions en mode grille ou graphique totalement paramétrables, export Excel et génération de book PDF (cascading), et récemment l'intégration d'applications composites ou mashups.
Du côté du connecteur Essbase, des fonctions permettent l'envoi de données et l'exécution des scripts présents en base, leur élaboration et leur exécution, à la volée, est également possible. Ici l'intérêt est de s'appuyer sur le point de vue de l'utlisateur afin de cibler le traitement de répartition, de conso etc... à lancer : la voie royale vers des applications d'élaboration budgétaire aux petits oignons. Notons également l'accès en lecture ou écriture aux variables de substitution d'Essbase, ceci pour un meilleur pilotage des applications.
Les portails développés sous Arcplan Enterprise sont accessibles en mode full web, sans runtime particulier, ou en mode client riche à travers l'utilisation des runtime Java (JRE) ou .NET (CLR) pour des interfaces plus élaborées et interactives.

- BristolReports édité par BristolDecision

- Clarity 6 édité par Clarity Systems. L'article suivant récapitule bien les fonctionnalités de Clarity 6 avec Essbase : Optimizing your Hyperion Essbase Investment With Clarity 6. Clarity 6 est une interface web se pluggant sur Essbase et proposant des fonctionnalités d'analyse, d'élaboration budgetaire, de forecast, de planning, de reporting et de consolidation. Clarity Systems est présent en Europe francophone (Belgique, France et Suisse) depuis 2009.

- TM1 Executive Viewer édité par IBM Cognos.

- Dodeca, développé par la société Applied Olap.
Dodeca est une alternative intéressante avec un environnement de travail original et robuste dont voici un bref aperçu des fonctionnalités :

- analyse adhoc proche de l'add-in Excel,

- rapports formatés à partir de fichiers Excel existants,

- possibilité de saisie et de restitution multi sources sur la même feuille,

- saisie et restitution de commentaires,

- export Excel simple ou en cascade,

- navigation simple et intuitive,

- possibilités de drill dans l'outil et vers des sources de données externes (GL/ERP, factures scannées),

- exécution de calculs dynamiques en fonction du point de vue,

- exécution d'actions sur un évènement particulier,

- log de saisie (audit trail),

- nombreuses fonctions natives,

- interface utilisateur et fonctionnalités hautement personnalisables

Dodeca n'est pas encore distribué en France mais semble rencontrer un certain succès aux Etats-Unis.

- LiveDashboard édité par Prelytis

- Reporting Services édité par Microsoft : propose un accès à travers le protocole XMLA et à partir du SP2 de Reporting Services (version 2005). http://www.microsoft.com/sqlserver/2008/en/us/reporting.aspx

- ReportNet 8 édité par Cognos

- Voyager édité par SAP BUSINESSOBJECTS, à terme remplacé par Pioneer.
Notons que Web Intelligence XI comprend un connecteur Essbase pour l'élaboration de rapports.

VIII - Conclusion et remerciements

Cet article est l'occasion de démystifier et de populariser Essbase, cependant beaucoup de choses restent encore à dire à son sujet. J'espère vous avoir donné un avant-goût positif et que cet article vous incitera à aller plus loin dans le sujet maintenant que les bases sont posées.
Je souhaiterais poursuivre l'aventure et proposer à la suite de nouveaux articles portant sur les nombreuses ressources disponibles sur le sujet (blogs, utilitaires) ainsi sur les différents modules.

Je souhaite remercier cladsam, Adrien Artero et l'équipe BI, pour leur intérêt en m'ayant encouragé à contribuer à la rubrique. Je remercie particulièrement Fleur-Anne Blain, pour son aide précieuse sur les problématiques d'hébergement. Bien sûr je n'oublie pas mon relecteur, Antoun, pour sa patience et ses nombreux retours éclairées. Sans oublier son super article sur la modélisation multidimensionnelle dont je me suis très largement inspiré...