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
© Copyright 2024 ExpyDoc