SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
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.

Mais conteúdo relacionado

Semelhante a BI-Tooltip: Ab Initio Continuous Flows

De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouse
De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouseDe 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouse
De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouseFourPoints Business Intelligence
 
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?FourPoints Business Intelligence
 
Automatiseren van IT activiteiten
Automatiseren van IT activiteitenAutomatiseren van IT activiteiten
Automatiseren van IT activiteitenRob Akershoek
 
Datawarehousing kan sneller en flexibeler
Datawarehousing kan sneller en flexibelerDatawarehousing kan sneller en flexibeler
Datawarehousing kan sneller en flexibelermkompagne
 
Data-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenData-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenJulia Lebedeva
 
Data-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenData-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenMirabeau
 
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal Dwh
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal DwhDe 8 BI-groeisignalen voor managers - Situatie 7: het Centraal Dwh
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal DwhFourPoints Business Intelligence
 
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)FourPoints Business Intelligence
 
10 trend in IT automation
10 trend in IT automation10 trend in IT automation
10 trend in IT automationRob Akershoek
 
BusinessBase MS CRM solutions
BusinessBase MS CRM solutionsBusinessBase MS CRM solutions
BusinessBase MS CRM solutionsBusinessBase
 
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...CONFENIS 2012
 
D0R29A-Sessie5a-20071031
D0R29A-Sessie5a-20071031D0R29A-Sessie5a-20071031
D0R29A-Sessie5a-20071031Tom.Broos
 
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...FourPoints Business Intelligence
 
Productinformatie Conneo
Productinformatie ConneoProductinformatie Conneo
Productinformatie ConneoJ.R. Voorhorst
 

Semelhante a BI-Tooltip: Ab Initio Continuous Flows (20)

De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouse
De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouseDe 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouse
De 8 BI-groeisignalen voor managers - Situatie 4: Het afdeling data warehouse
 
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?
BI-Tooltip: Hoe beheer je een self-service BI-tool, zoals QlikView?
 
Wms 2015
Wms 2015Wms 2015
Wms 2015
 
PerlzMBEModule
PerlzMBEModulePerlzMBEModule
PerlzMBEModule
 
Automatiseren van IT activiteiten
Automatiseren van IT activiteitenAutomatiseren van IT activiteiten
Automatiseren van IT activiteiten
 
Datawarehousing kan sneller en flexibeler
Datawarehousing kan sneller en flexibelerDatawarehousing kan sneller en flexibeler
Datawarehousing kan sneller en flexibeler
 
Data-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenData-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerken
 
Data-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerkenData-science, een kwestie van goed samenwerken
Data-science, een kwestie van goed samenwerken
 
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal Dwh
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal DwhDe 8 BI-groeisignalen voor managers - Situatie 7: het Centraal Dwh
De 8 BI-groeisignalen voor managers - Situatie 7: het Centraal Dwh
 
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)
De 8 BI-groeisignalen voor managers - Situatie 8: enterprise Dwh (EDW)
 
BI voor managers: Master Data Management (MDM), deel 2
BI voor managers: Master Data Management (MDM), deel 2BI voor managers: Master Data Management (MDM), deel 2
BI voor managers: Master Data Management (MDM), deel 2
 
10 trend in IT automation
10 trend in IT automation10 trend in IT automation
10 trend in IT automation
 
BusinessBase MS CRM solutions
BusinessBase MS CRM solutionsBusinessBase MS CRM solutions
BusinessBase MS CRM solutions
 
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...
[Dutch] JIT 2.0. - een methode voor ondersteunen van proces-automatisatie en ...
 
Xero op hoofdlijnen
Xero op hoofdlijnenXero op hoofdlijnen
Xero op hoofdlijnen
 
Info-ApplRat
Info-ApplRatInfo-ApplRat
Info-ApplRat
 
D0R29A-Sessie5a-20071031
D0R29A-Sessie5a-20071031D0R29A-Sessie5a-20071031
D0R29A-Sessie5a-20071031
 
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...
De 8 BI-groeisignalen voor managers - Situatie 5: Het geborgd afdeling data w...
 
Productinformatie Conneo
Productinformatie ConneoProductinformatie Conneo
Productinformatie Conneo
 
Skelta Bedrijfsbrochure
Skelta BedrijfsbrochureSkelta Bedrijfsbrochure
Skelta Bedrijfsbrochure
 

Mais de FourPoints Business Intelligence

De Definition of Done: essentieel voor verwachtingsmanagement
De Definition of Done: essentieel voor verwachtingsmanagement De Definition of Done: essentieel voor verwachtingsmanagement
De Definition of Done: essentieel voor verwachtingsmanagement FourPoints Business Intelligence
 
Business Intelligence voor Managers – Geef Big Data de ruimte
Business Intelligence voor Managers – Geef Big Data de ruimteBusiness Intelligence voor Managers – Geef Big Data de ruimte
Business Intelligence voor Managers – Geef Big Data de ruimteFourPoints Business Intelligence
 
Business Intelligence voor Managers – Big Data zonder Warehouse (2)
Business Intelligence voor Managers – Big Data zonder Warehouse (2) Business Intelligence voor Managers – Big Data zonder Warehouse (2)
Business Intelligence voor Managers – Big Data zonder Warehouse (2) FourPoints Business Intelligence
 
marketing intelligence voor managers - big data heeft data science nodig
marketing intelligence voor managers - big data heeft data science nodigmarketing intelligence voor managers - big data heeft data science nodig
marketing intelligence voor managers - big data heeft data science nodigFourPoints Business Intelligence
 
marketing intelligence voor managers – wat is big data? en moeten we er inmid...
marketing intelligence voor managers – wat is big data? en moeten we er inmid...marketing intelligence voor managers – wat is big data? en moeten we er inmid...
marketing intelligence voor managers – wat is big data? en moeten we er inmid...FourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)Marketing Intelligence voor Managers – Big Data voor MKB (2)
Marketing Intelligence voor Managers – Big Data voor MKB (2)FourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Het Marketing Data Lake (2)
Marketing Intelligence voor Managers – Het Marketing Data Lake (2)Marketing Intelligence voor Managers – Het Marketing Data Lake (2)
Marketing Intelligence voor Managers – Het Marketing Data Lake (2)FourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Marketing Automation Tools
Marketing Intelligence voor Managers – Marketing Automation ToolsMarketing Intelligence voor Managers – Marketing Automation Tools
Marketing Intelligence voor Managers – Marketing Automation ToolsFourPoints Business Intelligence
 
Marketing intelligence voor managers – data science exploratory analysis
Marketing intelligence voor managers – data science exploratory analysis Marketing intelligence voor managers – data science exploratory analysis
Marketing intelligence voor managers – data science exploratory analysis FourPoints Business Intelligence
 
Marketing intelligence voor managers – data science proces
Marketing intelligence voor managers –  data science proces Marketing intelligence voor managers –  data science proces
Marketing intelligence voor managers – data science proces FourPoints Business Intelligence
 
Marketing intelligence voor managers – de marketing data scientist
Marketing intelligence voor managers –  de marketing data scientistMarketing intelligence voor managers –  de marketing data scientist
Marketing intelligence voor managers – de marketing data scientistFourPoints Business Intelligence
 
Marketing intelligence voor managers – de marketing cyclus
Marketing intelligence voor managers – de marketing cyclusMarketing intelligence voor managers – de marketing cyclus
Marketing intelligence voor managers – de marketing cyclusFourPoints Business Intelligence
 
Marketing intelligence voor managers – data science - Intro
Marketing intelligence voor managers – data science - IntroMarketing intelligence voor managers – data science - Intro
Marketing intelligence voor managers – data science - IntroFourPoints Business Intelligence
 
Marketing intelligence voor managers – big data voor mkb
Marketing intelligence voor managers – big data voor mkbMarketing intelligence voor managers – big data voor mkb
Marketing intelligence voor managers – big data voor mkbFourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Customer Data voor MKB
 Marketing Intelligence  voor Managers – Customer Data voor MKB Marketing Intelligence  voor Managers – Customer Data voor MKB
Marketing Intelligence voor Managers – Customer Data voor MKBFourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Inbound Marketing voor MKB
Marketing Intelligence voor Managers – Inbound Marketing voor MKBMarketing Intelligence voor Managers – Inbound Marketing voor MKB
Marketing Intelligence voor Managers – Inbound Marketing voor MKBFourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?
Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?
Marketing Intelligence voor Managers – Inbound, een organisatorisch debacle?FourPoints Business Intelligence
 
Marketing Intelligence voor Managers – Kanalen, Verkoop en Marketing
Marketing Intelligence voor Managers – Kanalen, Verkoop en MarketingMarketing Intelligence voor Managers – Kanalen, Verkoop en Marketing
Marketing Intelligence voor Managers – Kanalen, Verkoop en MarketingFourPoints Business Intelligence
 

Mais de FourPoints Business Intelligence (20)

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

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.