BI-omgeving

Tools op het gebied van business intelligence (BI) en dashboards met als uitgangspunt Opensource.

Het vakgebied van business intelligence is een breed gebied van theorie, praktijk en hulpmiddelen. In het verleden werd de term MI-omgeving (management-informatie) gehanteerd.

Veel organisaties gebruiken verschillende oplossingen voor rapportages en management-informatie onder de vlag BI. Om het gebied beter te kunnen structureren gebruiken wij in de uitwerking aantal lagen. Elke laag vraagt om invulling met behulp van software-oplossingen. Soms kunnen lagen worden gecombineerd in één oplossing.

In bijgaand model is de architectuur opgenomen van een BI-omgeving bestaande uit vier lagen: 

  1. Analyse en presentatielaag (data analytics en dashboards)
  2. Data management laag (data wharehouse)
  3. Data integrationlaag (extractie, schoning- en verrijking) 
  4. Bronlaag (gestructureerde en ongestructureerde data)

Een vier lagen model.

Op deze pagina geven we per laag een korte toelichting en mogelijke tools waarvan wij inschatten dat deze interessant zijn voor publieke en semi-publieke organisaties. Uitgangspunt volgens onze visie is dat de tools Opensource zijn tenzij. Met dit soort tools kunnen we vaak al een 70% oplossing realiseren tegen bescheiden licentiekosten. 

Ad 4.
De bronlaag bestaat uit de verschillende gestructureerde bronnen, veelal de productiesystemen, in een organisatie. Dat kan een ERP-systeem zijn maar ook specifieke productie-informatiesystemen zoals we die in de gezondheidszorg kennen. Naast de gestructureerde data wordt in steeds belangrijkere mate ook ongestructureerde informatie van belang. 

Ad 4.
De bronlaag bestaat uit de verschillende gestructureerde bronnen, veelal de productiesystemen, in een organisatie. Dat kan een ERP-systeem zijn maar ook specifieke productie-informatiesystemen zoals we die in de gezondheidszorg kennen. Naast de gestructureerde data wordt in steeds belangrijkere mate ook ongestructureerde informatie van belang. 

In de praktijk blijken veel productiesystemen onderling niet of nauwelijks aan elkaar gekoppeld te zijn. Zo is er vrijwel altijd een HRM-systeem en gelijktijdig een productiesysteem. Lang niet altijd zijn productiegegevens met betrekking tot uitvoerend medewerkers gekoppeld aan HR-gegevens van medewerkers in het HR-systeem. Anderzijds blijkt een OE-structuur in een productiesysteem vaak weer niet gekoppeld te zijn aan een kostenplaatsstructuur in het financiele systemen. 

Kortom in de ontwikkeling van een BI-omgeving is het van belang dat bronsystemen op orde worden gebracht via schoning en afstemming van onderlinge stamgegevens. Een uniek medewerkernummer zou dus in de ene applicatie gelijk moeten ijn aan het medewerkernummer in de andere applicatie. Vaak is dat nog niet eenvoudig door verschillen in definities. Zo kan in productiesysteem de Medewerker de bepalende entiteit zijn terwijl in het HR-systeem juist het Dienstverband de bepalende entiteit is. Gegegevensmodellering en het definiëren van gegevens vormen hulpmiddelen bij het uitwerken van een goede Bronlaag. 

Opslag van gegevens vindt over het algemeen plaats in productiedatabases zoals Oracle, MS SQL, MySQL en DB2. 

Ad 3. 
Om tot BI-platform te kunnen komen zullen gegevens uit de bronsystemen (productiesystemen) onttrokken moeten worden (veelal met een regelmatige frequentie) en zullen gegevens geschoond, gekoppeld en verrijkt moeten met aanvullende informatie. Dit soort bewerkingen kunnen met reguliere programmeertalen zoals Java of Python in combinatie met een ondersteunende database, maar er zijn vandaag de dag ook steeds meer specifieke tools beschikbaar om gegevens te kunnen verrijken. Het verrijken wordt in de vakliteratur vaak "data-blending" genoemd.
Wikipedia definieert data-blending als een proces waarmee big data van meerdere bronnen worden samengevoegd in een enkelvoudig gegevenspakhuis (data warehouse) of een data set. Het betreft in hoofdzaak de integratie van verschillende file-formaten of gescheiden bronnen met data maar ook verschillende varieteiten in data. 

Wij zijn een aantal tools tegengekomen die goed bruikbaar zijn voor data-blending. Een goed voorbeeld hiervan is Talend. Een closed source alternatief is Alteryx. Met Alteryx hebben wij een proefproject uitgevoerd om vanuit verschillende bronsystemen gegevens te onttrekken en aan de hand van een visueel gemodelleerde workflow de gegevens te verrijken. Dat verliep positief. Op basis van een nadere verkenning lijkt ons Talend een serieus opensource alternatief. Talend wordt al door vele organisaties gebruikt.  

Ad 2.
In de datamanagementlaag bestaan verschillende opensource alternatieven die naast elkaar gebruikt kunnen worden. Op basis van nader onderzoek is MongoDB een interessante oplossing. Deze wordt veel gebruikt. Er bestaat ook een bekende Opensource -ontwikkelstack genaamd "Mean". Hiermee worden veel webapplicaties ontwikkeld. Mean staat voor MongoDB, Express, Angular en NodeJS. Het is een op Javascript gebaseerd ontwikkelomgeving voor webapplicaties. Angular 5 is op dit moment een belangrijke opensource-ontwikkeling. Het is een op Javascript/Typescript gebaseerd framework waarmee de frontend van webapplicaties ontwikkeld kan worden. Omdat MongoDB onderdeel uitmaakt van deze ontwikkelstack (andere database-systemen kunnen overigens ook worden gebruikt) is opgenomen vinden wij het een interessante optie in een Opensource BI-omgeving. MongoDB wordt een NoSQL-database genoemd. Naast MongoDB experimenteren wij al enige tijd met 4thDimension. Ook 4th Dimension biedt NoSQL-ondersteuning. 4D is geschikt voor kleinere omgevingen maar biedt ook steeds meer mogelijkheden binnen voor grotere omgevingen. 4D werkt met het ORDA-concept, Object Relational Data Access layer. Dit is een NoSQL access laag die de toegang tot dat sterk vereenvoudigt.

Ad 1. 
Voor de invulling van de presentatielaag bestaan veel mogelijkheden. Bekende producten zijn Tableau, QlikView en Microsoft BI. In de gezondheidszorg wordt veel het product LogiXML toegepast. Excel kan in deze laag ook worden toegepast in combinatie met een SharePoint-server voor de publicatie en toegang. Met Tableau hebben wij recent een proof of concept uitgevoerd. Tableau scoort goed in de Gartner magic quadrants voor BI-tools.

In de keuze van de tools bestaat voor veel organisaties een belangrijk aandachtspunt. Veel van de leveranciers is hier niet heel transparant in er er is weinig tot geen informatie over te vinden. Dit zijn de Total cost of Ownership kosten van een dergelijke omgeving wanneer veel gebruikers gebruik moeten gaan maken van dit platform. Wij vinden een belangrijk uitgangspunt dat alle teams en alle medewerkers van een organisatie transparant inzicht moeten kunnen krijgen in het functioneren van een organisatie. Nog nadrukkelijker is dit uitgangspunt voor de invoering van zelfsturing. Tools als Tableau, Qlikview en Microsoft BI brengen bij de uitrol naar veel gebruikers veel extra kosten met zich mee omdat deze leveranciers vrijwel allen een licentiemodel hanteren per gebruiker. Dat geldt zowel voor een exploitatiemodel in de cloud als een model "on premise", dat wil zeggen op een eigen infrastructuur. Licenties kunnen soms afgekocht worden maar dit vraagt om aanzienlijke investeringen. Het is daarom aan te raden om al in een vroegtijdig stadium te onderzoeken wat de exploitatiekosten zullen worden bij een volledige uitrol in de gehele organisatie die verder gaat dan slechts alleen de managementlagen.

Bij de keuze van de presentatietools speelt nog een tweede overweging. Onze ervaring is dat deze tools veel functionaliteit bieden maar in de meeste gevallen eigenlijk veel te veel. Meestal wordt slechts een beperkt deel van de functionaliteit benut. Bovendien is de functionaliteit veelal te complex gemaakt voor de meeste gebruikers. Denk maar even aan het het gebruik van Excel. Excel is voor het overgrote deel van de gebruikers veel te complex.

Dashboard obv JQWidgetsOm deze reden zijn wij begonnen met een alternatief concept voor een presentatie-omgeving gebaseerd op de eerder genoemde mean-stack. Deze hebben wij aangevuld met een Javascript componentenlibrary met grafische widgets. We noemen twee concrete voorbeelden van libraries: JQWidgets en Kendo UI. De ontwikkelingskosten liggen mogelijk in de aanvang wat hoger. Door de ontwikkeling van een herbruikbare  componentenbiblitoheek kunnen de kosten in een latere fase veel lager uitvallen. Bovendien kan met beperkte meerkosten kosten de uitrol naar de volledige organisatie plaatsvinden. Omdat de MEAN-stack bovendien opensource is, zijn er veel meer ontwikkelaars te vinden, zowel lokaal als internationaal. Een lock-in op een bepaalde leverancier kan hiermee worden voorkomen.

Een alternatief voor het gebruik van javascriptlibraries kan de BI-omgeving JasperSoft zijn. Jaspersoft is een opensource data-analytics-omgeving van Tibco. Wij hebben echter nog geen praktische ervaring opgedaan met dit product. We kennen in Nederland ook geen concrete implementaties met dit product maar in Duitsland wordt het binnen een aantal organisatie toegepast. Mogelijk dus interessant binnen de gezondheidszorg in Nederland. Jaspersoft maakt overigens ook gebruik van Javascript libraries voor grafische presentaties.