whitepaper

Mobile.de realiseert het genereren van autodealer-­‐documenten met Talend Inleiding / Uitdagingen Als grootste online-automarkt in Duitsland is mobile.de in het bezit van omvangrijke gegevens met
betrekking tot vraag en aanbod, die de actuele ontwikkelingen op de automarkt weerspiegelen. De
business unit Automotive Intelligence van mobile.de maakt de marktgegevens beschikbaar aan de
autodealers. De autodealers worden hierdoor in staat gesteld een inschatting te maken of het inruilen
van een auto tegen bepaalde voorwaarden zinvol is, krijgen inzicht in de prijspositionering van auto’s,
enz. De vergelijkende cijfers en het leveren van een concrete aanbeveling zorgt ervoor dat de
autobranche nog sneller en succesvoller voertuigen kan verkopen.
Afbeelding 1: Overzicht van de verwerking en de data flows
Het gehele proces om noodzakelijke resources te bevragen en kengetallen samen te stellen, alsook
het genereren van de documenten, wordt gerealiseerd door middel van Talend.
De werknemers van mobile.de kunnen het verwerkingsproces te allen tijde controleren en sturen via
het Talend Administration Center (TAC).
Uitdagingen in het project:
1. geringe verwerkingstijden en schaalbaarheid.
2. controle over het gehele proces in TAC.
3. genereren van Excel-en PDF bestanden gebaseerd op templates met een interactieve inhoud.
4. tolerantie ten opzichte van externe resources die soms af en toe beperkt beschikbaar zijn.
1
Realisering Hoge doorvoer door parallellisatie De doorlooptijd per klant is verminderd door het gebruik van parallellisatie. De afzonderlijke
verwerkingsstappen kunnen parallel worden uitgevoerd. Het hoofdproces controleert of nog verdere
verwerkingseenheden beschikbaar zijn (klantenanalyses bereiken de betreffende startpositie).
In een enkele verwerkingsstap kan een willekeurig aantal aan klantenanalyses parallel verwerkt
worden.
Afbeelding 2: Parallelle verwerking (principe van het proces)
Voor de load balancing is in de TAC een virtuele Jobserver ingericht die automatisch de proces-load
verdeelt over de individuele jobservers.
De parallellisatie in een task (het starten van een job instance) gebeurt door middel van een parallelle
iteratie.
Afbeelding 3: Parallelle starten van job instances, het aantal van de job instances blijft zover als
mogelijk constant.
2
Sturing van het gehele proces in TAC De ETL-processen, die ervoor zorgen dat de benodigde gegevens van te voren worden geladen, en
het proces dat de analysedocumenten genereert voor de dealers moeten als een enkele eenheid
worden beschouwd: alleen de algehele sturing en controle in TAC garandeert de consistentie van de
documenten.
De concrete implementatie van het sturen van de verwerking, gebruikt de mogelijkheid van TAC om
RESTful Webservices te starten. Deze functie is ingekapseld in de Custom-Component tRunTask.
Afbeelding 4: Samenspel Control-Task en Task voor verwerking in afzonderlijke stappen.
In deze samenhang kan ook worden gewezen op het voordeel van het gebruik van een afzonderlijke
taak voor het uitvoeren van het gehele proces. Door het gebruik van deze architectuur kan een
bepaalde stap afzonderlijk worden geactualiseerd zonder dat het gehele system hoeft te worden
geactualiseerd. Dit heeft het voordeel dat de stabiliteit en transparantie worden verbeterd, omdat de
stappen in afgezonderde processen worden uitgevoerd en de logdata beperkt worden tot een enkele
stap.
De individueel uitgevoerde taken veroorzaken een gelijkmatige load. De horizontale verdeling van de
load wordt bewerkstelligd door de inzet van een enkele virtuele Jobserver die de load verdeelt over de
beschikbare Jobservers.
3
Template-­‐gebaseerde rapportgeneratie Voor het genereren van de PDF documenten wordt als Design-Tool JasperStudio ingezet.
JasperStudio biedt een een gebruiksvriendelijke WYSIWIG interface en met de JasperLibrary is het
mogelijk om het genereren van rapporten in een applicatie te integreren.
In deze casus werd de mogelijkheid van Talend benut om, door middel van Custom Components het
functionele spectrum van Talend uit te breiden, door het integreren van deze JasperLibrary in Talend.
Afbeelding 5: aanmaken PDF-Rapport gebaseerd op JasperReport Design en tJasperReportExec
Voor het aanmaken van de PDF-bestanden wordt de Custom-Component tJasperReportExec gebruikt.
Deze biedt het gemak dat JasperReport Design-Templates automatisch gecompileerd worden en uit
het ETL-proces de noodzakelijke parameters kunnen worden gedistilleerd voor het genereren van een
rapport.
4
Afbeelding 6: Aanmaken van een Excel-rapport
De Excel-Templates bevatten de formatteringsinformatie, zoals celkleuren en bepaalde formatteringen.
De verwerking door Talend zorgt ervoor dat de gegevens worden weggeschreven in het Excelbestand en dat de noodzakelijke formattering wordt toegepast op de cellen. Daarnaast worden ook
nog formules ingevoegd.
Voor deze taak zijn de volgende Custom-Components gebruikt:
tFileExcelWorkbookOpen,
tFileExcelSheetOutput,
tFileExcelNamedCellOutput und
tFileExcelWorkbookSave
Tolerantie ten opzichte van externe resources die af en toe beperkt beschikbaar zijn In het kader van dit project zijn applicatie-interfaces gebruikt, die te maken hebben met een grote
volatiliteit van de load. Daardoor is het gebeurd dat requests af en toe zijn afgewezen. Een herhaling
na de wachttijd lost het probleem meestal op.
Met een passende beschikbaarstelling van de status per Job-Instance kan de herhaling van een
proces gericht worden gestart. De handmatige monitoring wordt hierdoor tot een minimum
gereduceerd. Hierdoor is het niet nodig dat bij een normale uitval de systeembeheerders worden
ingeschakeld, omdat het systeem hier zelfstandig mee kan omgaan. Alleen wanneer een herhaling
van het proces mislukt, wordt een alarm-melding gestuurd.
Deze korte systeemhaperingen zijn via logging in te zien in TAC.
5
Kengetallen van het project Het project is in een tijdsbestek van vier maanden ontwikkeld, getest en naar productie gebracht. Aan
het project zijn circa twee man-maanden besteed.
De klant, mobile.de, gebruikte bij de start van het project de Talend-Release versie 5.1.3.
Het project was een van de eerste in het kader van de migratie is omgezet naar versie 5.4.2
De gebruikte componenten zijn gedeeltelijk in het kader van het project uitgebreid en zijn ook gratis
beschikbaar in de Talend Exchange:
http://www.talendforge.org/exchange
Contact: eBay Mobile.de
Michael Schulz: [email protected]
cimt objects AG:
Jan Lolling: [email protected]
6