Automatiseer de dataomzetting met FlowForce Server

Altova heeft FlowForce Server ontworpen om uitgebreide automatisering, beheer en controle te bieden over datatransformaties die worden uitgevoerd door speciale, snelle servers. FlowForce Server Beta 3 is momenteel gratis beschikbaar voor gebruikers van de Enterprise- en Professional-edities van MapForce tijdens de beta-testperiode. De FlowForce Server kan geautomatiseerde verwerking van gegevens uitvoeren via "hot folders" en onderhoudt een gedetailleerd activiteitenlogboek, dat gebruikers op afstand kunnen volgen via een webbrowser. De onderstaande screenshot toont het logbestand van de FlowForce Server, die de MapForce datamapping "CameraLogToGPX" uitvoert, waar we in de blogpost met de titel Meerdere invoerbestanden verwerken in één datamapping over hebben geschreven. Deze mapping maakte gebruik van wildcards om meerdere invoerbestanden te specificeren die verwerkt moesten worden.

Het kost slechts een paar minuten om een taak zoals deze in te stellen, uit te voeren en de resultaten te bekijken op de FlowForce Server.

Wildcards of "hot folders"? Wildcards en "hot folders" verhogen de complexiteit van een data-transformatieproces, en het succesvol gebruiken ervan vereist zorgvuldige planning. Laten we even dieper kijken naar het scenario dat we willen implementeren. Stel dat we de IT-afdeling zijn van een bedrijf dat reisgidsen over natuur en wandelen uitgeeft. We hebben fotografen in dienst die op excursie gaan en hun routes registreren met behulp van de GPS-trackingfunctie van hun digitale camera's. We willen de GPS-logbestanden van de camera's omzetten naar het XML-gebaseerde .gpx-formaat voor het maken van kaarten en andere verwerkingen. We zullen een map op ons netwerk publiceren waar fotografen hun GPS-logbestanden kunnen plaatsen. Dit zal de "hot folder" zijn waar FlowForce Server op let om nieuwe bestanden te vinden die als invoer kunnen worden gebruikt voor de CameraLogToGPX-conversie. We hoeven elk invoerbestand slechts één keer te verwerken. Daarom kunnen we het invoerbestand verwijderen uit de "hot folder" nadat de data-transformatie is voltooid. We willen ook het uitvoerbestand in een aparte map plaatsen. Dit suggereert de volgende stappen voor de FlowForce Server-taak:

  • Controleer de map voor nieuwe bestanden om te zien of er nieuwe invoerbestanden zijn aangekomen
  • Voer de datamapping uit op het invoerbestand en plaats het uitvoerbestand in een aparte map
  • Verplaats het invoerbestand naar een permanente locatie

Het onderstaande diagram toont een mapstructuur die we kunnen gebruiken voor de workflow, met bestanden die klaar zijn om in de "hot folder" te plaatsen voor verwerking:

De "hot folder" is C:CameraGPShotFolder en de gegenereerde .gpx-bestanden worden opgeslagen in C:CameraGPSoutputFiles. Nadat de datamapping is voltooid, worden de invoerbestanden verplaatst naar C:CameraGPScompletedInput.

De mapping implementeren op een server MapForce Beta is een component van FlowForce Server die op dezelfde manier werkt als MapForce, en voegt een functie toe om mappingbestanden te implementeren op een FlowForce Server. Bestaande datamappings vereisen weinig tot geen speciale voorbereiding voor implementatie. Het enige waar we rekening mee moeten houden zijn de bestandsnamen van de invoer- en uitvoerbestanden. We zullen FlowForce Server instrueren om de invoerbestandsnaam als een taakparameter te gebruiken, zodra nieuwe bestanden in de "hot folder" aankomen voor verwerking. De oorspronkelijke mapping gebruikte een wildcard-bestandsnaam voor het invoercomponent, wat niet langer nodig is. We willen ook dat FlowForce de locatie van het uitvoerbestand specificeert. We kunnen de mapping openen in MapForce Beta, de bestandsnaam verwijderen uit het invoercomponent en een functie toevoegen die een map- en bestandspad aangeeft voor het uitvoerbestand, zodat FlowForce Server de bestemming kan instellen. De onderstaande screenshot toont de nieuwe bestandsnaamdefinities in de mapping.

In het MapForce Beta-dialoogvenster om de mapping te implementeren, kunnen we ervoor kiezen om de mapping direct te openen in een FlowForce Server-taakdefinitievenster in een webbrowser, zodat we de taakbewerkingen kunnen voltooien.

Een taak definiëren in FlowForce Server De onderstaande screenshot toont alle stappen van een taak, zoals gedefinieerd in het configuratievenster van een FlowForce Server-taak:

De trigger voor de taak wordt onderaan het venster gedefinieerd. Elke 30 seconden controleert de FlowForce Server de "hot folder". Als de inhoud is gewijzigd, voert de FlowForce Server de stappen van de taak uit. Elke uitvoeringsstap kan een geïmplementeerde MapForce-mapping zijn, een systeemstap, of zelfs een andere FlowForce Server-taak. De naam van elk nieuw bestand dat in de "hot folder" terechtkomt, wordt de parameter , die we gebruiken in de mapping-stap als de invoerbestandsnaam, en in de verplaatsingsstap als de naam van het bestand dat verplaatst moet worden. De parameter "werkmap" in de mapping-stap definieert waar de uitvoerbestanden worden opgeslagen. FlowForce Server bevat ook functies om automatische start- en stoptijden voor taken in te stellen, gebruikersrechten en rollen, en wachtrijinstellingen om de minimale tijd tussen taakuitvoeringen en het maximale aantal parallelle instanties van een taak te definiëren. In ons scenario ontvangen we waarschijnlijk meerdere invoerbestanden in groepen, omdat ze gekopieerd worden van de geheugenkaarten van fotografen. Meerdere parallelle uitvoeringen kunnen de doorvoer aanzienlijk verbeteren. Als vuistregel kunt u het aantal cores of CPU's in de machine waarop FlowForce Server draait, als richtlijn nemen.

Het bekijken van het activiteitendagboek

Elke keer dat de FlowForce Server onze taak uitvoert, worden er zes regels toegevoegd aan het logvenster dat in de illustratie bovenaan deze tekst wordt weergegeven. De eerste en laatste regels registreren het begin en het einde van de taak, en elke uitvoeringsstap genereert zijn eigen start- en eindberichten. De zin "voltooid met status: 0" betekent dat de stap succesvol is verlopen zonder fouten.

We kunnen op de "meer" links klikken voor een gedetailleerd rapport over elke stap in de uitvoering. De onderstaande screenshot toont het bericht voor de uitvoeringsstap "MapForce mapping":

Elk bestand dat in de "hot folder" wordt geplaatst, genereert een individuele FlowForce Server taak. Dit geldt ook als meerdere bestanden tegelijkertijd worden toegevoegd. Hierdoor is het eenvoudig om de status van elk individueel invoerbestand te volgen, zelfs als er een fout optreedt. Toen we vier bestanden in de "hot folder" plaatsten, startte FlowForce Server vier taken, en de inhoud van de uitvoermap zag er als volgt uit: