Follow Us on Twitter

Hands-on Oracle Endeca Information Discovery

Gepubliceerd in

December 2013 - In een eerder Whitebook is de theorie achter Oracle's product voor agile-BI, Oracle Endeca Information Discovery (OEID), behandeld. Er is ingegaan op de diverse componenten die samen OEID vormen, en een kijkje onder de motorkap heeft o.a. inzicht gegeven in de manier waarop gestructureerde én ongestructureerde data wordt opgeslagen in, en ontsloten vanuit de Endeca Server.

Sinds het vorige Whitebook over OEID, uit mei 2013, is de productstack enigszins geëvolueerd. De meest actuele versies van de divers componenten zijn:

Product Versie
Endeca Serve 7.6.0
Endeca Information Disccovery (Integrator & Studio) 3.1.0.0
Endeca IAS 3.1

Een belangrijke voortuitgang is dat de recente versies ondersteuning bieden voor deployment  op de Oracle  Weblogic-applicatieserver, met alle voordelen van dien als het gaat om bijv. schaalbaarheid, beschikbaarheid en beveiliging. Voorheen draaide de Endeca Server op een Jetty-applicatieserver, die als onderdeel van de installatiesoftware werd meegeleverd.

N.B. Het in vorige versies aanwezige Endeca Content Acquistion System (CAS), waarmee data kan worden verzameld door het 'afstruinen' van bijv. filesystemen, webservers of 'content management'-systemen, is in de nieuwste versies vervangen door het Integrator Acquisition System (IAS). IAS vervult dezelfde functies CAS.

Dit vervolg op het eerdere Whitebook heeft de intentie om de praktische kant van het werken met OEID te belichten. Aan de hand van een voorbeeldcase zullen diverse facetten van het werken met OEID de revue passeren.

Aan de slag

Context

Sinds enige tijd ben ik een fervent gebruiker van de producten en de software van het Amerikaanse bedrijf Fitbit. Met behulp van één van hun 'activity trackers', een klein apparaatje dat ik in mijn broekzak draag, kan ik inzichtelijk maken hoe actief ik op een dag, en interessanter, over een periode ben geweest. Het meet onder andere hoeveel stappen ik zet, hoeveel trappen ik oploop en, bij benadering, hoeveel calorieën ik op een dag verbrand.

Dit alles past in het begrip  'Quantified Self', ofwel het periodiek meten van allerlei aspecten van het dagelijks leven. Het verzamelen van een diversiteit aan data over een persoon door de tijd (activiteit, slaappatronen, hartslag, glucosegehalte enz.) legt de basis voor (agile)-BI op microniveau. Het combineren van de diverse gegevensstromen kan correlaties blootleggen die misschien anders onopgemerkt zouden zijn gebleven.

In het voorbeeld zal het verzamelen en laden van de data in de Endeca Server, alsmede het presenteren van deze data in Endeca Studio, centraal staan.
We maken gebruik van een OEID-installatie op Windows 7, waarbij zowel de Endeca Server, Endeca Integrator Server als Endeca Studio ieder zijn gedeployed in een eigen WebLogic-domein.

In dit Whitebook wordt niet ingegaan op de benodigde acties om OEID te installeren. Gedetailleerde instructies voor het installeren van de diverse OEID-componenten op WebLogic zijn te vinden in de diverse OEID-installatiehandleidingen op oracle.com.

Endeca Server voorbereiden op het laadproces

Teneinde het mogelijk te maken dat er data geladen wordt in de Endeca Server, moeten we een datastore creëren, waarin de te laden data kan 'landen'.

We openen voor dit doel een dos-prompt naar de locatie van de endeca-cmd CLI. Vervolgens voeren we het commando endeca-cmd create-dd fitbit uit. Dit commando creëert de datastore waarin de data geladen kan gaan worden. Met het commando endeca-cmd list-dd kan vervolgens worden opgevraagd welke datastores zijn gecreëerd op de server.

DOS prompt create datastore
Afbeelding 1 - Aanmaken van een datastore in Endeca Server

Data verzamelen en laden met behulp van Endeca Integrator

De volgende stap is het verkrijgen van de Fitbit-data om deze te kunnen laden in de datastore die zojuist is gecreëerd.

De apparaten van Fitbit synchroniseren regulier hun meetdata door middel van Bluetooth via een smartphone of pc/laptop naar de cloud. Naast de eigen website biedt Fitbit een publieke API waarmee de meetdata in XML- of JSON-formaat kan worden gedownload. Voor het verkrijgen van de data zal deze API worden gebruikt.

Om ervoor te zorgen dat niet iedereen zomaar willekeurige data via de API kan benaderen, werkt Fitbit met OAuth, een open standaard voor autorisatie. Het data-verzamel- en laadproces wordt vormgegeven in de Endeca Integrator Designer, een tool gebaseerd op Eclipse en CloverETL. De designer werkt met een zogenaamde graph. Dit is een grafische weergave van het data-verzamel- en laadproces, en wordt (deels) declaratief samengesteld. Voor het verzamelen en inladen van de Fitbit-data werken we toe naar de volgende graph:

Overview totale graph
Afbeelding 2 - Graph in Integrator Designer ten behoeve van het data-verzamel- en laadproces

De graph is onderverdeeld in twee fasen. Alle stappen die zich in dezelfde fase bevinden, worden simultaan uitgevoerd. Er wordt pas overgegaan tot uitvoering van een volgende fase, wanneer alle processen binnen de voorgaande fase succesvol zijn afgerond. Het fasenummer vind je per component terug in de linkerbovenhoek.

De lijnen tussen de stappen in de graph vertegenwoordigen de gedefinieerde metadata die tussen de stappen wordt doorgegeven.

Binnen het project in Integrator Designer herbergt het bestand workspace.prm een aantal belangrijke properties. Eén daarvan is de verwijzing naar de datastore die binnen de graphs in het project gebruikt worden. We moeten zorgen dat deze naar fitbit wijst om er zeker van te zijn dat de data in de juiste datastore terechtkomt.
 
workspace .prm
Afbeelding 3 - Workspace.prm met verwijzing naar datastore

In de eerste stap treffen we de voorbereidingen voor de vereiste OAuth-authenticatie en wordt de juiste URL geconstrueerd. De data zal worden gedownload in XML-formaat.

OAuth- en URL-constructie
Afbeelding 4 – OAuth- en URL-constructie

De Reformat-stap draagt zorg voor de daadwerkelijk uitvoering van de OAuth-communicatie met Fitbit, waarna de weg vrij is om de gewenst data te benaderen.

OAuth in uitvoering 
Afbeelding 5 – OAuth in uitvoering

In de derde stap van fase 0, wordt de gewenste data daadwerkelijk binnengehaald. In deze stap wordt gespecificeerd wat de bestandslocatie moet zijn van de gedownloade data.

Bestandslocatie gedownloade data
Afbeelding 6 – Bestandslocatie gedownloade data

Het verkregen OAuth-token en de benodigde URL worden vanuit de vorige stap gemapped naar de juiste attributen voor deze component.
 
Mapping Oauth- en URL-gegevens
Afbeelding 7 – Mapping OAuth- en URL-gegevens

De stappen in fase 0 resulteren uiteindelijk in de creatie van een aantal bestanden in XML-formaat op het lokale filesysteem, één per type data (stappen, afgelegde afstand, trappen en calorieën). Een voorbeeld van de inhoud van een dergelijk bestand is te zien in afbeelding 8.

Fitbit spappendata in XML formaat
Afbeelding 8 – Fitbit-stappendata in XML-formaat

In fase 1 wordt de inhoud van de XML-bestanden gecombineerd op basis van de gemeenschappelijke sleutel dateTime, deels getransformeerd,  en vervolgens ingeladen in de Endeca-datastore en weggeschreven naar een Excel-sheet.

Join en transformatie datarecords uit de diverse XML-bestanden
Afbeelding 9 – Join en transformatie datarecords uit de diverse XML-bestanden

Wanneer we de graph starten zien we dat deze succesvol wordt uitgevoerd. De data wordt realtime opgehaald bij Fitbit en weggeschreven in XML-bestanden. Deze bestanden worden vervolgens gelezen, gecombineerd en ingeladen in Endeca Server.

Als extraatje wordt de gecombineerde data weggeschreven naar een Excel-bestand. Dit geeft de gelegenheid om datamanipulatie en –analyse uit te voeren met de geëigende tools uit de Microsoft Office-productstack.

Afbeelding 10 – Graph-uitvoering

Afbeelding 10 – Graph-uitvoering

Data presenteren en correleren met behulp van Endeca Studio

Nu alle data met succes is ingeladen in de Endeca Server-datastore, kan de data ontsloten worden met behulp van een applicatie die wordt gemaakt in Endeca Studio. Endeca Studio is een webapplicatie en draait derhalve in een browser. De Studio-applicatie is in een eigen domein op WebLogic gedeployed.

Alvorens er een applicatie wordt gemaakt waarmee de data in de datastore wordt ontsloten, is het zaak om in Endeca Studio een datasource aan te maken, welke een verwijzing betreft naar de fitbit-datastore, zoals deze eerder is gedefinieerd. Deze stap kan worden uitgevoerd via Control Panel -> Data Sources. Afbeelding 11 geeft de creatie van de datasource weer.

Aanmaken van een datasource in Endeca Studio
Afbeelding 11 – Aanmaken van een datasource in Endeca Studio

De volgende stap in het proces is het aanmaken van een applicatie die gebruikmaakt van de zojuist gedefinieerde datasource. In het startscherm van Endeca Studio kiezen we voor New Application,  en geven de naam fitbit op. Als bijbehorende datasource wordt eveneens fitbit gekozen. Afbeelding 12 geeft deze actie weer.

Creëren van de fitbit-applicatie in Endeca Studio
Afbeelding 12 – Creëren van de fitbit-applicatie in Endeca Studio

De applicatie die vervolgens gegenereerd wordt, heeft één pagina met daarop een aantal standaard componenten (Search Box, Breadcrumbs, Guided Navigation en Result Table), zoals is te zien in afbeelding 13.

Standaard gegenereerde Endeca Studio-applicatie
Afbeelding 13 – Standaard gegenereerde Endeca Studio-applicatie

Het is nu mogelijk om vrijelijk meerdere nieuwe pagina's (via Add Page, rechtsboven in het browserscherm) en componenten (via het menu in de rechterbovenhoek en dan Add Component) aan de applicatie toe te voegen.

In de huidige versie van Endeca Studio is het aantal te kiezen componenten onderverdeeld in drie categorieën : Content Management, Information Discovery en Layout Control. Voornamelijk de tweede categorie is (functioneel) interessant (zie afbeelding 14).

Mogelijke componenten in een Endeca Studio-applicatie
Afbeelding 14 – Mogelijke componenten in een Endeca Studio-applicatie

Alle componenten bieden op hun eigen manier een weergave van de data uit de datastore die aan de applicatie gekoppeld is, en benadrukken ieder een eigen aspect van deze data. Standaard is een gekozen component gebaseerd op de basale view van de data, zoals deze zichtbaar is in bijvoorbeeld de Result Table  in afbeelding 13. Dit betreft feitelijk een zoekvraag in de vorm 'selecteer alle kolommen en rijen uit de datastore, zónder beperking of filter'.

Het is echter mogelijk om in Endeca Studio voor de onderhavige applicatie eigen, aangepaste views op de data te definiëren, waarin bijvoorbeeld wél één of meer condities of (aggregatie)functies worden gebruikt (via Application Settings -> View Manager). Een component op een pagina kan dan vervolgens gebaseerd worden op een dergelijke aangepaste view. Voor het definiëren van views dient gebruik te worden gemaakt van Endeca Query Language (EQL), een op SQL gelijkende querytaal.

Afbeelding 15 geeft een impressie van de mogelijkheden die Endeca Studio biedt om voor de fitbit-applicatie componenten te definiëren. Het betreft een mix van grafische- en niet-grafische weergaven van de onderliggende data. De kracht van de applicatie schuilt in het feit dat wanneer de data in één van de componenten wordt gefilterd via bijvoorbeeld Guided Navigation (ook wanneer dit plaatsvindt op een andere pagina), de data-representatie in de overige componenten eveneens wordt aangepast. Op deze manier blijft de data over alle componenten heen consistent.

In het in dit Whitebook gebruikte voorbeeld is er slechts sprake van één bron voor de te presenteren data, waardoor het vinden van correlaties enigszins beperkt is. Wanneer data van meerdere bronnen in een datastore wordt gecombineerd, en deze data integraal wordt gepresenteerd, wordt de kans groter dat door het 'grasduinen' in de betreffende gegevens op voorhand niet verwachte correlaties worden blootgelegd. En dan is agile-BI een feit.

Palet van mogelijke componenten in een Studio-applicatie
Afbeelding 15 – Palet van mogelijke componenten in een Studio-applicatie

Tot slot

Het is onmogelijk om het rijke scala aan mogelijkheden dat OEID biedt in het bestek van een Whitebook te behandelen. In het kader van helderheid is gekozen voor het uitwerken van een vrij rechttoe rechtaan-voorbeeld, met data op microniveau. In de praktijk hebben organisaties vaak een veel grotere, complexere en meer diverse hoeveelheid data waarop BI dient te worden toegepast.

Desalniettemin veranderen de principes die aan OEID ten grondslag liggen, en de manier waarop met de tools gewerkt kan worden, niet met deze grotere en meer diverse hoeveelheid data. In dat opzicht is het in dit Whitebook getoonde voorbeeld representatief voor een deel van datgene wat met OEID bereikt kan worden.

Het feit dat OEID in de recente versies ondersteuning biedt voor deployment op WebLogic, maakt dat het product weer een verdere stap heeft gezet naar volwassenheid. Het zal daarom in de toekomst voor meer en meer organisaties een geschikt middel kunnen zijn om agile-BI mee te bedrijven.

Referenties

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.