0
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 interessan...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 3
Een bijkomend voordeel is - naast de actualiteit van de data - dat de workloa...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 4
met live data, zoals in dit geval een website waar de klanten van onze relati...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 5
Aandachtsgebieden
De klassieke batch-verwerking is vaak een kwestie van alles...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 6
Vanwege dit verschil in karakter, deel ik hieronder enkele punten om extra op...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 7
 Zorg voor goede logging en tracking van messages binnen de flow, zodat alti...
BI-Tooltip: Ab Initio Continuous Flows
Pg, 8
Je kunt je hieronder abonneren op ons Thema BI-Tooltips:
Dit blogartikel is g...
Upcoming SlideShare
Loading in...5
×

BI-Tooltip: Ab Initio Continuous Flows

46

Published on

Dit artikel beschrijft een implementatie van AB Initio’s Continuous Flows als een message hub voor applicatie-integratie. Lees snel verder!

Published in: Data & Analytics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
46
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "BI-Tooltip: Ab Initio Continuous Flows"

  1. 1. BI-Tooltip: Ab Initio Continuous Flows Door: Arjen Bakker
  2. 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. 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. 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. 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. 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. 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. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×