ETL en het genereren van processen

Al zeer lang loop ik er tegenaan dat de meeste ETL processen zo ontzettend eenvoudig zijn dat ze eigenlijk niet geprogrammeerd of getekend moeten worden in een tool, maar gegenereerd.

Zomaar 80% van alle mappings zijn 1 op 1 met een paar standaard bewerkingen en een foutafhandeling. Bij gebruikt van datavault ligt dit nog hoger en is het aantal processen een veelvoud. En dan huren we mensen in om al die processen stuk voor stuk in te brengen. ETL tooling zou zich veel meer op automatisch genereren moeten richten, maar dat is helaas zelden het geval.

Ik heb dan altijd de neiging om zelf een sql generator te schrijven en code vanuit wat meta data te genereren. Hier en daar heb ik dat ook gedaan, maar alleen als ik wist dat ik niet het beheer en onderhoud aan de klant over moest dragen. Dat is net iets te lastig om over te dragen voor de meesten.
Soms kom ik implementaties tegen die niet vanuit meta data genereren, maar meta data gestuurd processing doen. Eén component die dus de data verwerking uitvoert en afhankelijk van de meta data die hem stuurt. Voor een programmeur ziet dit er erg fraai uit; het is de kleinste hoeveelheid te onderhouden code. Maar voor de klant dit is echt een andere en vaak mindere oplossing. Bij een generator is namelijk alleen het development proces afhankelijk van het geknutselde component, maar draaien de gegenereerde processen stand-alone. Bij de processor is de klant ten eeuwigen dage afhankelijk van de geknutselde code, die dan gesupport moet worden door de toevallige ontwikkelaar.

Een tool die daar handig tussen manoeuvreert is BiReady. Er is een model driven generator en ook een runtime processor. Maar de gegenereerde code zou ook zonder de processor kunnen draaien. Zo is de klant niet per se afhankelijk van de leverancier. Handig.

BiReadyBiReady(www.biready.com) doet trouwens op meer fronten verbazen. Vanuit een data model kan hiermee de het data vault schema, de datamarts en de ETL gegenereerd en meteen geimplementeerd worden zonder enig programmeren. Zo kan met onwaarschijnlijke snelheid het grootste deel van een heel data warehouse gebouwd worden. Een protoype van flinke omvang staat gewoon binnen 1 week. Slimme gasten daar bij BiReady!

Posted in Architectuur, ETL | Tagged | 4 Comments

De BI kerkbreuken

Een decennium geleden ging de discussie in BI-land tussen aanhangers van Kimball en aanhangers van Inmon. Kimball was de rijzende ster, Inmon de oude garde. Discussies tussen de twee groepen hadden vaak iets van een geloofsstrijd; het ging nog net niet zover dat de ene groep een gebedsplek van de andere binnendrong om de beelden van de afvalligen te vernietigen.

Tegenwoordig hebben we een nieuw spanningsveld: aanhangers van data vault versus aanhangers van meer traditionele datawarehouse-architecturen. En wederom zijn de verschillen van mening heftig en bevatten de discussies een hoog emotioneel gehalte.

Het viel mij de afgelopen maand op in gesprekken met leveranciers van BI-diensten, dat toen ik vroeg naar hun mening over ‘data vault’, er even een gespannen stilte viel. Ze kenden immers mijn religie niet. Als ze zomaar hun eigen mening gaven, zou ik ze van ketterij kunnen beschuldigen en de geloofsgemeente kunnen oproepen om ze te excommuniceren.

Er zijn nog geen gelovigen met zelfmoordbommen in de BI, maar pas op, de term ‘data vault’ kan wel als een bom in een conversatie vallen.

Posted in Algemeen | Leave a comment

Cloud-diensten leven in andere tijden

Salesforce plaatst haar servers verspreid over de wereld. Om juridische redenen verdient het sowieso aanbeveling om bij de aanbesteding aandacht te hebben voor de locatie van data-opslag. Maar ook een verschil in tijdzones kan behoorlijke uitdagingen met zich meebrengen.

Voor de ondersteuning van een bedrijfsproces dat gebruik maakt van verschillende omgevingen, in de cloud en lokaal, kan men een data-integratieproces ontwikkelen dat gegevens uitwisselt tussen de cloud en de lokale server. Voor Salesforce zijn hiertoe al enkele SQL Server Add-ons beschikbaar, zoals DBAmp van ForceAmp en Task Factory van PragmaticWorks.

Dit werkt behoorlijk goed, maar bij de inzet moet je goed letten op de behandeling van datumtijdvelden. Die kan per tool en zelfs per object verschillen. DBAmp converteert de UTC tijd waarin Salesforce alles standaard opslaat naar de server tijdzone en vice versa. Task Factory doet dit niet. Als je een bedrijfsproces inricht dat van meerdere platforms gebruik maakt, moet je hier goed rekening mee houden.

Posted in Algemeen | Tagged | Leave a comment

Welk project spreekt je aan?

Zoekend naar een nieuwe opdracht kom je in contact met diverse mensen, waaronder detacheerders die jou wat graag in portefeuille hebben. Het is leuk om te zien hoe geïnteresseerd ze daadwerkelijk in je zijn. Vaak heb je het idee dat ze niet eens de moeite hebben genomen om je CV te lezen, ‘de schuivers’. Maar soms krijg je toegevoegde waarde en wordt er doorgevraagd naar wie je bent en wat je zoekt. Vandaag kreeg ik de vraag welk project mij het meeste aansprak en bij welke bedrijven ik niet (meer) zou willen werken. Dat triggerde me.

Alle opdrachten hebben natuurlijke interessante en mindere kanten, maar de opdrachten als a.i. BICC manager hebben mijn voorkeur.
Als BICC manager:
* ben je verantwoordelijk voor het uitstippelen en tot uitvoer brengen van een beleid op het gebied van BI,
* zoek je continue de aansluiting bij de doelstellingen van de organisatie,
* heb je te maken met het hogere management en het politieke spel dat hierbij hoort,
* maar ook met het middenmanagement dat dagelijks in de modder van de operationele processen staat en daarvoor harde stuurinformatie nodig heeft,
* heb je de verantwoording en het dagelijkse contact met je eigen team,
* werk je met mensen die ieder op hun niveau iets willen bereiken voor zich zelf en hun bedrijf,
* stuur je projecten aan met al hun dynamiek en
* ben je dagelijks bezig met risico’s die de productie van informatievoorziening (kunnen) verstoren.

Het is leuk om in de afhankelijkheden hier tussen te zoeken naar verbeteringen in management informatie voorziening en performance van het eigen team. Werkend vanuit een architectuur visie op management informatie. De organisatie een stap verder helpen op het groeipad naar een zelflerende organisatie. Nooit een saaie dag. Dat gaat soms gepaard met bloed, zweet en tranen, maar geeft altijd voldoening.

Er zijn dan ook maar weinig bedrijven waar ik niet zou willen werken. Het gaat immers om het “spel” tussen mens, organisatie, proces, data en techniek en dat wordt in ieder bedrijf gespeeld. BICC manager kan het best worden omschreven als een jongleur met een doel.

Posted in Algemeen | Leave a comment

Kan het wat goedkoper?

Het is al lang bekend dat IT-projecten te lang duren, teveel kosten en dan meestal matige kwaliteit leveren. Je buurjongen van 16 kan vast in een week een mooi dashboard maken, dus waarom twee dure professionals daar maandenlang voor betalen?
In mijn ervaring zijn er twee factoren die het meest verantwoordelijk zijn voor dergelijke dramatische verschil in productiviteit.

- “Gisteren werkte het nog”
Robuustheid van een oplossing bepaalt hoe vaak hij omvalt. Voor elke regel code (of het equivalent) die de normale werking ondersteunt, zijn vier regels nodig om uitzonderingssituaties af te handelen. Als je alleen de normale werking ondersteunt, valt je oplossing om bij de eerste windvlaag.

- “Kun je dit even aanpassen?”
Een snel in elkaar gezette oplossing kan prima werken, totdat er iets moet veranderen. Is het zo opgezet dat iemand anders dan de uitvinder er wijs uit kan worden? Is de werking beschreven en getest? Is de oplossing volgens gangbare standaarden ontwikkeld? In de praktijk is een snel ontwikkelde oplossing van de buurjongen vaak nauwelijks meer aan te passen.

Dit is ook het grote risico als iemand een “prototype” maakt. De neiging is al snel om het prototype te houden – hij werkt immers. De verborgen kosten en risico’s, daar kom je later achter.

Dat wil natuurlijk niet zeggen dat er altijd per se een Bentley moet worden gebouwd, als je met een snorfiets prima uit de voeten kunt.

Posted in Algemeen | Tagged | Leave a comment

Cloud-oplossingen brengen Business Intelligence in het nauw.

Hoewel de introductie van SaaS cloud-oplossingen op een solide business case gebaseerd kan zijn, bestaat er wel het risico van verminderde Business Intelligence. In de regel worden data-analyes over meerdere bronsystemen gedaan, hier hebben we tenslotte het datawarehouse voor ingericht. Zodra bedrijfsprocessen extern worden aangekocht, wordt de koppeling met andere bedrijfssystemen teniet gedaan.

Hoe breng je die systemen weer bij elkaar, zodat je je data-analysesysteem weer in ere kunt herstellen?

  1. Bepaal je behoefte aan platformoverstijgende management-informatie en neem de mogelijkheden tot data-integratie mee in RFP-trajecten voor SaaS cloud-oplossingen.
  2. Stel een strategie op voor de integratie van extern gehoste bedrijfsgegevens. Hierbij moet je denken aan security, datatransfer-protocollen en ondersteunde database connectoren, maar ook de openheid van de gebruikte datamodellen, de toegangsmogelijkheden en de mate van ondersteuning van de leverancier.
  3. Stel een bijpassende Business Intelligence strategie op waarin de infrastructuur, de applicaties en de behandeling van gegevens aan de orde komen.
Posted in Cloud | Leave a comment

Is SCRUM ook toepasbaar binnen mijn vakgebied Business Intelligence?

Te pas en te onpas wordt tegenwoordig gevraagd om kennis van en ervaring met scrum. Al te vaak wordt in dezelfde omschrijving projectleiding genoemd. Als projectleider wordt je dan nieuwsgierig. Is SCRUM ook toepasbaar binnen mijn vakgebied Business Intelligence? Met die vraag begon ik de Scrum Master training bij CIBIT.

Om gelijk maar met de deur in huis te vallen. Ja, de concepten van SCRUM zijn mijns inziens zeker toepasbaar binnen BI. Veel BI afdelingen worden geplaagd door een veelheid aan informatievragen/kleine projecten die moeten worden opgepakt. De ene heeft nog een hogere prioriteit dan de andere. Het risico dat dan ontstaat is dat er versnipperd gewerkt gaat worden en dat het team niet tot resultaat komt. Teleurgesteld wordt het BI experiment dan aan de kant gezet.
Met de scrum technieken in de hand denk ik dat met name dit proces beter in de hand kan worden gehouden. Al was het alleen maar omdat de verantwoordelijkheid van prioriteren eenduidig is belegd. Niet bij het team, niet bij een kibbelende en besluiteloze stuurgroep, maar bij een betrokken Product Owner.

Ook in practische zin kunnen we in de BI teams gebruik maken van de technieken. Strakke timeboxen met een afgebakende en haalbaar resultaat. Teams die de verantwoording nemen over afgegeven planningen. Meetbare performance. Product backlogs die van ideeën in de tijd worden verfijnd tot concrete vragen. Een meetbare definitie van wanneer een sprint gereed is.

Dit vraagt wel het nodige van een organisatie. Is er bijvoorbeeld iemand die de verantwoording van de Product Owner kan dragen. Binnen BI en organisatie beleidslijnen is hij/zij per slot degene die de scepter zwaait. Business en IT moeten hier naar luisteren.

Hoe bewaken we de enterprise-, overall IT – en specifieke DW/BI architectuur als scrum teams zelf de oplossingen mogen/moeten bedenken? Hier wordt veel verantwoording bij het scrum team gelegd. Beperken we de vrijheid van de teams door een architect over hun schouder heen te laten kijken, of proberen we sturing aan te brengen via de backlog? Hoeveel oog heeft de Product Owner voor architectuur vraagstukken? Is hij/zij ook verantwoordelijk voor de lange termijn successen of heeft hij/zij alleen oog voor het laaghangend fruit?

En voor een latere blog laat ik de discussie liggen over hoe sprints af te bakenen. Een volledige business oplossing van bron naar rapport in 3 tot 4 weken voor bedrijfsbrede informatievragen? Misschien dat nieuwe tools generatoren ons hierbij kunnen helpen.

Kortom. Scrum is een goede basis voor een beheersbaar BI ontwikkelteam, maar bezint eer ge begint. Iedere oplossing brengt nieuwe uitdagingen, zo ook Scrum binnen BI.

Overigens nog een kleine waarschuwing. Mocht je in gesprek komen met de organisaties die scrum master en projectleider in één adem noemen. Goed doorvragen, want de agile principes zijn (nog) niet geland! En dan rijst direct de vraag of je als scrum master niet te veel hooi op je vork neemt.

Posted in Algemeen, Architectuur, BICC, Projectleiding, Projectmethoden | Tagged , , , , | Leave a comment

Cloud en applicatie-integratie

De laatste maanden ben ik bezig met een zeer interessante case bij een klant waarbij steeds meer applicaties in de Cloud terechtkomen. De meesten zijn gelukkig met de verplaatsing naar de cloud; projecten door gebruikers geleid en veel minder betrokkenheid van ICT nodig. Zo kunnen snel nieuwe systemen in de lucht geholpen worden, al hangt hier meestal wel een maandelijks prijskaartje aan.

Een lastig punt bij SAAS, de applicaties in de Cloud, is applicatie-integratie. Dit was altijd al een complex deel van een systeemlandschap. Een niet goed doordachte applicatie-integratie veroorzaakt onnodige afhankelijkheid of een serieuze reductie van aanpasbaarheid van elk van de systemen. In de cloud is dit nog net iets lastiger geworden. De data van de applicatie is vaak niet zomaar te benaderen zoals bij de databases van de applicaties die vroeger in-house draaiden.
De meeste SAAS oplossingen bieden wel zeker mogelijkheden voor applicatie-integratie via API’s, import en extracties. Maar nog meer dan voorheen moeten we opletten dat er geen spaghetti structuur van afhankelijkheden tussen de onderlinge applicaties ontstaat. Dus formeel omgaan met het goed bijgehouden canonical data model en interfaces via een centrale broker laten lopen. De broker hoeft hierbij overigens echt niet message based te zijn.

Wat verder compliceert is dat we vaak in-house applicaties mengen met Cloud applicaties. Er zijn inmiddels interfaces as a service, in de Cloud dus, die ook dit ondersteunen. lijkt vooralsnog de fraaiste. Eigendom van Dell, ik snap nog niet wat een hardware leverancier met deze SAAS oplossing moet, maar ze hebben er een fraaie service mee.

Posted in Architectuur, Cloud, Database, Internet, Techniek | Leave a comment

CXAIR is een interessant product

Aanleiding
“Elma, wil jij eens kijken wat CXAIR inhoudt?” Die vraag kreeg ik van een collega, want een klant waar hij werkzaam is, had hiernaar gevraagd. En aangezien ik even in de beschikbaarheid zat voor mij een leuk klusje.
Op internet was nog niet veel gepubliceerd, want het product is relatief kort op de Nederlandse markt verkrijgbaar. Alle wegen leidden naar Systemation, het bedrijf dat het door Connexia ontwikkelde product in Nederland verspreidt. Nadat ik telefonisch het e.e.a. aan informatie had verkregen, maakte ik een afspraak om het product te komen bekijken. Ik zag wel mogelijkheden met het product en wilde dit dan ook mijn collegae niet onthouden. Vorige week kwam Systemation naar Loenen a/d Vecht voor een presentatie van CXAIR.
Wat is het? Het is een tool, waarmee de gebruiker op de wijze van een zoekmachine grote hoeveelheden data kan doorzoeken en de resultaten op een zeer toegankelijke wijze binnen zeer korte tijd gepresenteerd krijgt.
Wat is het bijvoorbeeld niet? Een vervanger van een traditioneel data warehouse.

Achterliggende werkwijze in een notendop
Van te voren wordt bepaald welke groepen gestructureerde en ongestructureerde gegevens doorzocht moeten kunnen worden. Deze worden platgeslagen en in de vorm van indexen (niet te verwarren met een index zoals in RDBMS-en) op een aparte server opgeslagen. Een index bevat dus veel redundante gegevens en bij grote hoeveelheden data dient de opslagcapaciteit navenant uitgebreid te worden. Verversing van de gegevens gebeurt waar nodig met incrementen.

Functionaliteit
Het zoeken gebeurt op ‘Google-achtige’ wijze en is erg snel. Alle mogelijke wildcards kunnen gebruikt worden, evenals uitsluitingen. Resultaten worden getoond in rijen en kolommen. Iedereen die met Google en Excel bekend is kan er mee werken. De gebruiker dient wel enig inzicht te hebben in de gegevens die hij/zij raadpleegt om de resultaten op waarde te kunnen schatten, maar dan kan hij/zij ook heerlijk grasduinen. De meest elementaire rekenfunctionaliteit is aanwezig.
Men beschikt over de diverse gebruikelijke mogelijkheden om de resultaten grafisch weer te geven, waaronder dashboards. Daarnaast is de Venn diagram weergave (verzamelingenleer) een sterke visualisatie methode.
Vanuit ieder verkregen resultaat kan weer ingezoemd worden op de detailgegevens die eraan ten grondslag liggen. De gebruiker is zeer flexibel in het instellen van filters; dat kan door zelf in te typen of door de gebruikmaking van selectieboxen.
Autoriseren kan op index-, rij- en kolom niveau. Gezocht kan worden binnen een index en over de verschillende indexen heen. De weergave kan, als bij iedere webapplicatie, qua kleurstelling, logo’s en dergelijke naar wens aangepast worden.
Naast het beantwoorden van ad-hoc vragen kunnen ook ‘vaste’ rapportages gemaakt worden.
CXAIR is in enkele dagen geïmplementeerd en operationeel gemaakt.

Het proces van het maken van indexen is niet te vergelijken met ETL, omdat transformaties niet of slechts zeer beperkt mogelijk zijn. Ook cleaning e.d. vindt niet plaats. Garbage in, garbage out.
In vergelijking met de meest bekende BI Tools beschikt CXAIR niet over geavanceerde statistische functionaliteit. Zaken als rolling forecasts horen niet tot de mogelijkheden. Het oprollen van data over verschillende hiërarchieën heb ik evenmin tot uitdrukking zien komen.

Gebruik
• Het tool leent zich m.i. het best voor het beantwoorden vragen, waarvan men nu nog niet weet dat men ze heeft.
• Bij organisaties die beginnen vorm te geven aan management informatie kan het zeer behulpzaam zijn bij het verkijgen van inzicht omtrent de informatiebehoefte, zowel inhoudelijk als qua functionaliteit als ook de eerste invulling ervan.
• Voor organisaties met een Data Warehouse en nog geen ingerichte BI tool is CXAIR zeer bruikbaar om de informatiebehoefte vast te stellen en om in de eerste behoefte te voorzien. Op deze wijze kan het meehelpen bij eventueel een latere keuze voor een ‘zwaarder’ BI tool.
• In organisaties met een Data Warehouse en een ingericht BI tool, kan het een zeer bruikbare aanvulling zijn voor de snelle beantwoording van ad-hoc vragen.
• CXAIR kan ingezet worden om de acceptatie van en het draagvlak voor een Data Warehouse te vergroten.

Conclusie
CXAIR is voor zover ik weet de enige tot nu toe die het mogelijk maakt om, op de van Google bekende wijze van een zoekmachine, grote hoeveelheden gestructureerde en ongestructureerde data te doorzoeken zonder tussenkomst van een IT-afdeling en vervult daarmee een grote wens van gebruikers.

Mijn verwachting is, dat met name (productie)managers, salesmensen en marketeers graag gebruik van CXAIR zullen willen maken.

Persoonlijk zie ik veel toegevoegde waarde in CXAIR. Ook bij een traditioneel / klassiek Data Warehouse kan het goed ingezet worden. Met een informatielaag als bron, waarbij alle detaildata beschikbaar is, kan het een welkome aanvulling zijn op in andere tools gedefiniëerde kubussen en rapportages.

Architectonisch gezien blijft het van belang, zoals met veel (alle?) tools, om de behoefte van de klant in het oog te houden en op grond van deze behoefte, in combinatie met een aantal andere factoren zoals bijvoorbeeld toekomstige ontwikkelingen, te bepalen of CXAIR in de specifieke situatie geindiceerd is.

Posted in Algemeen | Leave a comment

Wrap-up

Na een erg lange en vermoeiende reis ben ik weer thuis en tot rust gekomen.
Maar het is allemaal gelukt, zojuist een mail van Hemendra met de woorden:

Greeting from WW and please give privilege to us to thanks you and
SharePeople for assisting WW for making possible through Mr. Wout that
today WomenWeave has its own MIS software for managing its handloom
weaving social enterprise.

Now we are in the stage where just a single click gives us updated
information like raw & finished material stock, weaver engagement
report, per weaver production and incentive details, client order
progress tracking etc.

As a team we would like to thank Wout for his intelligent and hard
work for making this possible.

Warm regards,

Hemendra

Het totale project heeft mij een goed gevoel en fijne herinneringen opgeleverd.
Ik heb veel geleerd over een andere cultuur en leuke en minder leuke mensen leren kennen.
Ik heb erg veel beter leren communiceren en nieuwe manieren bedacht om te verifieren of mensen begrepen hebben wat ik heb gezegd.
Ik heb mooie dingen gezien en mijn begrip verhoogd van de manier waarop mensen in dat gebied van India leven en denken.

Al met al een ervaring die ik niet had willen missen en ik heb denk ik mijn steentje bij kunnen dragen aan de goede werken van WomenWeave. Ik hoop dat ze er hun voordeel mee kunnen doen en vele successen mogen boeken.

Dank aan alle lezers en commentaarschijvers en iedereen die geholpen heeft het project te doen slagen.

Groeten vanuit Woerden, Nederland,
Wout

Posted in Algemeen | 3 Comments