SlideShare a Scribd company logo
BI-Tooltip: Ab Initio
Continuous Flows
Door: Arjen Bakker
BI-Tooltip: Ab Initio Continuous Flows
Pg, 2
Dit artikel is onderdeel van de themareeks BI-Tooltips, bedoeld om interessante nieuwsfeiten en
gebruikstips voor specifieke BI-Tools te publiceren. Deze tooltip behandelt enkele
aandachtsgebieden bij het gebruik van Ab Initio’s Continuous Flows voor (near) real-time
oplossingen.
Continuous Flows
In de ‘traditionele‘ BI-omgeving vindt dataverwerking meestal plaats in batch vorm, waarbij
grote hoeveelheden gegevens worden verzameld en in één keer worden verwerkt (in het
algemeen ’s nachts of in het weekend). Steeds vaker is er vanuit onze klanten echter behoefte
aan actuelere gegevens en informatie die constant up-to-date is.
Ab Initio biedt, op hetzelfde platform als hun batch oplossingen, ook real-time mogelijkheden in
de vorm van Continuous Flows. Hierbij komt data binnen als een min of meer continue stroom
van kleine datapakketjes of zelfs losse records (bijvoorbeeld op een queue) en wordt vrijwel
direct verwerkt. Toepassingen hiervoor zijn allerhande operationele processen, bijvoorbeeld
OLTP, maar dus ook real-time BI.
BI-Tooltip: Ab Initio Continuous Flows
Pg, 3
Een bijkomend voordeel is - naast de actualiteit van de data - dat de workload van de
verwerking op deze manier verspreid wordt over de tijd, waardoor de server niet
gedimensioneerd hoeft te zijn op de piekbelasting die vaak optreedt tijdens een batch window.
Ook voor het creëren van applicaties die een service aanbieden en daarom constant in de lucht
moeten zijn (denk aan webservices), kunnen Continuous Flows gebruikt worden.
Een voorbeeld uit de praktijk: de Message Broker
Onlangs werd er bij een relatie van FourPoints een nieuw Microsoft Dynamics CRM systeem
geïmplementeerd. Aan ons de taak om deze nieuwe applicatie te integreren in het reeds
bestaande applicatielandschap, waarbij het noodzakelijk was om met de andere (legacy)
systemen data uit te wisselen, in casu klant- en productgegevens.
Voor deze applicatie-interactie is met behulp van Ab Initio’s Continuous Flows een ‘Message
Broker’ gebouwd; een flexibel systeem volgens een Hub-and-Spoke architectuur voor het
routeren van datapakketjes van en naar verschillende applicaties. De Message Broker wordt ook
gebruikt om bronnen te ontsluiten die real-time data aanleveren en om applicaties te voeden
BI-Tooltip: Ab Initio Continuous Flows
Pg, 4
met live data, zoals in dit geval een website waar de klanten van onze relatie kunnen inloggen
om hun gegevens te bekijken.
Implementatie
De Ab Initio implementatie van deze centrale integratie hub bestaat uit één continuous flow die
constant luistert naar een input queue. Binnenkomende XML messages worden opgepikt en
afhankelijk van het type message doorgestuurd naar één of meerdere micrographs. In deze
micrographs vinden de validaties, transformaties en business ruling plaats die specifiek zijn voor
het type message. Vervolgens wordt de output hiervan beschikbaar gesteld aan de relevante
ontvangende systemen. Dit kan op verschillende manieren, zoals via XML messages op een
output queue of in het geval van MS Dynamics, via webservices (SOAP en REST).
Het systeem is daarbij zo generiek en flexibel mogelijk opgezet, zodat het in de toekomst
gemakkelijk uit te breiden is met bijvoorbeeld andere message types, of nieuwe senders en
receivers. In principe kan het gebruikt worden om willekeurige gegevens in allerlei business
areas binnen de organisatie te distribueren.
BI-Tooltip: Ab Initio Continuous Flows
Pg, 5
Aandachtsgebieden
De klassieke batch-verwerking is vaak een kwestie van alles of niets: als er één record in een
inputbestand een fout oplevert, wordt het hele bestand gereject om wellicht na correctie later
opnieuw in z’n geheel verwerkt te worden. Continue processen daarentegen moeten constant in
de lucht blijven en in staat zijn om direct weer het volgende input request te verwerken. Er is
geen rollback mogelijk. Vaak zijn er meerdere bronnen die soms niet allemaal even betrouwbaar
zijn.
BI-Tooltip: Ab Initio Continuous Flows
Pg, 6
Vanwege dit verschil in karakter, deel ik hieronder enkele punten om extra op te letten bij data
integratie implementaties met Continuous Flows:
 Besteed zo vroeg mogelijk in het proces aandacht aan data validatie (en eventueel
reparatie en cleansing).
 Zorg voor robuuste graphs, bijvoorbeeld door de 'never abort' optie te gebruiken in
transform componenten, met goede reject- en error-handling. Vooral het doorgeven van
errors vanuit een micrograph naar de bijbehorende continue graph behoeft aandacht.
 Het moet op een eenvoudige manier mogelijk zijn om de afgekeurde records opnieuw aan
te bieden. Er mag geen data verloren gaan. Rejects kunnen bijvoorbeeld worden verzameld
en (eventueel na editing) opnieuw op de queue worden gezet als ‘re-injection’ message.
 Via hetzelfde mechanisme kan een testfaciliteit worden opgezet of een manier om
‘handmatig’ records of bestanden op te laden.
BI-Tooltip: Ab Initio Continuous Flows
Pg, 7
 Zorg voor goede logging en tracking van messages binnen de flow, zodat altijd nagegaan
kan worden waar en waarom een message eventueel is gestrand.
 Gebruik een configuratie database voor de aansturing van je proces. Op deze manier is het
systeem onderhoudbaar (eventueel door de business zelf) en hoeft het niet telkens uit de
lucht gehaald te worden bij elke aanpassing.
 Continue graphs zijn in principe niet geschikt om in één keer grote hoeveelheden data te
laden, terwijl een initial load soms wel noodzakelijk is. Het is dan het beste om daar een
aparte batch graph voor te maken. Zorg ervoor dat de bestaande business logic
herbruikbaar is in deze batches.
Heb jij nog andere aandachtspunten voor het gebruik van Continuous Flows?
BI-Tooltip: Ab Initio Continuous Flows
Pg, 8
Je kunt je hieronder abonneren op ons Thema BI-Tooltips:
Dit blogartikel is geschreven door Arjen Bakker.
Wil je meer informatie? Neem dan een kijkje op ons blog.

More Related Content

PDF
De 8 BI-groeisignalen voor managers - Situatie 3: Front-end BI-server
PDF
BI Tooltip: Qlikview in high-performance omgevingen
PDF
38 1 - de 8 bi-groeisignalen voor managers - situatie 1 excel
PDF
De 8 BI-groeisignalen voor managers - Situatie 2: front-end BI-tools
PDF
Wat is een relationele database
PPTX
Cells
PDF
16. BI-Tooltip: MicroStrategy System Manager
De 8 BI-groeisignalen voor managers - Situatie 3: Front-end BI-server
BI Tooltip: Qlikview in high-performance omgevingen
38 1 - de 8 bi-groeisignalen voor managers - situatie 1 excel
De 8 BI-groeisignalen voor managers - Situatie 2: front-end BI-tools
Wat is een relationele database
Cells
16. BI-Tooltip: MicroStrategy System Manager

More from FourPoints Business Intelligence (20)

PDF
De Definition of Done: essentieel voor verwachtingsmanagement
PDF
Business Intelligence voor Managers – Geef Big Data de ruimte
PDF
Business Intelligence voor Managers – Big Data zonder Warehouse (2)
PDF
marketing intelligence voor managers - big data heeft data science nodig
PDF
marketing intelligence voor managers – wat is big data? en moeten we er inmid...
PDF
BI architectuur - business versus enterprise
DOCX
Marketing Intelligence voor Managers – Big Data voor MKB (2)
DOCX
Marketing Intelligence voor Managers – Het Marketing Data Lake (2)
DOCX
Marketing Intelligence voor Managers – Marketing Automation Tools
PDF
Marketing intelligence voor managers – data science exploratory analysis
PDF
Marketing intelligence voor managers – data science proces
PDF
Marketing intelligence voor managers – de marketing data scientist
PDF
Marketing intelligence voor managers – de marketing cyclus
PDF
Marketing intelligence voor managers – data science - Intro
PDF
Marketing intelligence voor managers – big data voor mkb
PDF
Marketing Intelligence voor Managers – Customer Data voor MKB
PDF
Marketing Intelligence voor Managers - Zinvolle Big Data
PDF
Marketing Intelligence voor Managers – Inbound Marketing voor MKB
PDF
Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?
PDF
Marketing Intelligence voor Managers – Kanalen, Verkoop en Marketing
De Definition of Done: essentieel voor verwachtingsmanagement
Business Intelligence voor Managers – Geef Big Data de ruimte
Business Intelligence voor Managers – Big Data zonder Warehouse (2)
marketing intelligence voor managers - big data heeft data science nodig
marketing intelligence voor managers – wat is big data? en moeten we er inmid...
BI architectuur - business versus enterprise
Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Het Marketing Data Lake (2)
Marketing Intelligence voor Managers – Marketing Automation Tools
Marketing intelligence voor managers – data science exploratory analysis
Marketing intelligence voor managers – data science proces
Marketing intelligence voor managers – de marketing data scientist
Marketing intelligence voor managers – de marketing cyclus
Marketing intelligence voor managers – data science - Intro
Marketing intelligence voor managers – big data voor mkb
Marketing Intelligence voor Managers – Customer Data voor MKB
Marketing Intelligence voor Managers - Zinvolle Big Data
Marketing Intelligence voor Managers – Inbound Marketing voor MKB
Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?
Marketing Intelligence voor Managers – Kanalen, Verkoop en Marketing
Ad

BI-Tooltip: Ab Initio Continuous Flows

  • 1. BI-Tooltip: Ab Initio Continuous Flows Door: Arjen Bakker
  • 2. BI-Tooltip: Ab Initio Continuous Flows Pg, 2 Dit artikel is onderdeel van de themareeks BI-Tooltips, bedoeld om interessante nieuwsfeiten en gebruikstips voor specifieke BI-Tools te publiceren. Deze tooltip behandelt enkele aandachtsgebieden bij het gebruik van Ab Initio’s Continuous Flows voor (near) real-time oplossingen. Continuous Flows In de ‘traditionele‘ BI-omgeving vindt dataverwerking meestal plaats in batch vorm, waarbij grote hoeveelheden gegevens worden verzameld en in één keer worden verwerkt (in het algemeen ’s nachts of in het weekend). Steeds vaker is er vanuit onze klanten echter behoefte aan actuelere gegevens en informatie die constant up-to-date is. Ab Initio biedt, op hetzelfde platform als hun batch oplossingen, ook real-time mogelijkheden in de vorm van Continuous Flows. Hierbij komt data binnen als een min of meer continue stroom van kleine datapakketjes of zelfs losse records (bijvoorbeeld op een queue) en wordt vrijwel direct verwerkt. Toepassingen hiervoor zijn allerhande operationele processen, bijvoorbeeld OLTP, maar dus ook real-time BI.
  • 3. BI-Tooltip: Ab Initio Continuous Flows Pg, 3 Een bijkomend voordeel is - naast de actualiteit van de data - dat de workload van de verwerking op deze manier verspreid wordt over de tijd, waardoor de server niet gedimensioneerd hoeft te zijn op de piekbelasting die vaak optreedt tijdens een batch window. Ook voor het creëren van applicaties die een service aanbieden en daarom constant in de lucht moeten zijn (denk aan webservices), kunnen Continuous Flows gebruikt worden. Een voorbeeld uit de praktijk: de Message Broker Onlangs werd er bij een relatie van FourPoints een nieuw Microsoft Dynamics CRM systeem geïmplementeerd. Aan ons de taak om deze nieuwe applicatie te integreren in het reeds bestaande applicatielandschap, waarbij het noodzakelijk was om met de andere (legacy) systemen data uit te wisselen, in casu klant- en productgegevens. Voor deze applicatie-interactie is met behulp van Ab Initio’s Continuous Flows een ‘Message Broker’ gebouwd; een flexibel systeem volgens een Hub-and-Spoke architectuur voor het routeren van datapakketjes van en naar verschillende applicaties. De Message Broker wordt ook gebruikt om bronnen te ontsluiten die real-time data aanleveren en om applicaties te voeden
  • 4. BI-Tooltip: Ab Initio Continuous Flows Pg, 4 met live data, zoals in dit geval een website waar de klanten van onze relatie kunnen inloggen om hun gegevens te bekijken. Implementatie De Ab Initio implementatie van deze centrale integratie hub bestaat uit één continuous flow die constant luistert naar een input queue. Binnenkomende XML messages worden opgepikt en afhankelijk van het type message doorgestuurd naar één of meerdere micrographs. In deze micrographs vinden de validaties, transformaties en business ruling plaats die specifiek zijn voor het type message. Vervolgens wordt de output hiervan beschikbaar gesteld aan de relevante ontvangende systemen. Dit kan op verschillende manieren, zoals via XML messages op een output queue of in het geval van MS Dynamics, via webservices (SOAP en REST). Het systeem is daarbij zo generiek en flexibel mogelijk opgezet, zodat het in de toekomst gemakkelijk uit te breiden is met bijvoorbeeld andere message types, of nieuwe senders en receivers. In principe kan het gebruikt worden om willekeurige gegevens in allerlei business areas binnen de organisatie te distribueren.
  • 5. BI-Tooltip: Ab Initio Continuous Flows Pg, 5 Aandachtsgebieden De klassieke batch-verwerking is vaak een kwestie van alles of niets: als er één record in een inputbestand een fout oplevert, wordt het hele bestand gereject om wellicht na correctie later opnieuw in z’n geheel verwerkt te worden. Continue processen daarentegen moeten constant in de lucht blijven en in staat zijn om direct weer het volgende input request te verwerken. Er is geen rollback mogelijk. Vaak zijn er meerdere bronnen die soms niet allemaal even betrouwbaar zijn.
  • 6. BI-Tooltip: Ab Initio Continuous Flows Pg, 6 Vanwege dit verschil in karakter, deel ik hieronder enkele punten om extra op te letten bij data integratie implementaties met Continuous Flows:  Besteed zo vroeg mogelijk in het proces aandacht aan data validatie (en eventueel reparatie en cleansing).  Zorg voor robuuste graphs, bijvoorbeeld door de 'never abort' optie te gebruiken in transform componenten, met goede reject- en error-handling. Vooral het doorgeven van errors vanuit een micrograph naar de bijbehorende continue graph behoeft aandacht.  Het moet op een eenvoudige manier mogelijk zijn om de afgekeurde records opnieuw aan te bieden. Er mag geen data verloren gaan. Rejects kunnen bijvoorbeeld worden verzameld en (eventueel na editing) opnieuw op de queue worden gezet als ‘re-injection’ message.  Via hetzelfde mechanisme kan een testfaciliteit worden opgezet of een manier om ‘handmatig’ records of bestanden op te laden.
  • 7. BI-Tooltip: Ab Initio Continuous Flows Pg, 7  Zorg voor goede logging en tracking van messages binnen de flow, zodat altijd nagegaan kan worden waar en waarom een message eventueel is gestrand.  Gebruik een configuratie database voor de aansturing van je proces. Op deze manier is het systeem onderhoudbaar (eventueel door de business zelf) en hoeft het niet telkens uit de lucht gehaald te worden bij elke aanpassing.  Continue graphs zijn in principe niet geschikt om in één keer grote hoeveelheden data te laden, terwijl een initial load soms wel noodzakelijk is. Het is dan het beste om daar een aparte batch graph voor te maken. Zorg ervoor dat de bestaande business logic herbruikbaar is in deze batches. Heb jij nog andere aandachtspunten voor het gebruik van Continuous Flows?
  • 8. BI-Tooltip: Ab Initio Continuous Flows Pg, 8 Je kunt je hieronder abonneren op ons Thema BI-Tooltips: Dit blogartikel is geschreven door Arjen Bakker. Wil je meer informatie? Neem dan een kijkje op ons blog.