Enterprise Foundation: Batchprocessing

Functionaliteit
Batchverwerking biedt flexibele verwerking van gegevens op basis van externe definities, waardoor het gemakkelijker wordt om dit type functionaliteit te implementeren zonder codeervaardigheden. De definities zelf worden opgeslagen als templates en toegepast op selecties van gegevens die bekend staan ​​als batches met batchdoelen. Een batchdoel is de kleinste gegevenseenheid die kan worden verwerkt. Templates kunnen worden gebouwd met behulp van meer dan 50 vooraf gedefinieerde bouwstenen met de naam acties.

 

Templates
Een template bestaat uit een of meer opeenvolgende stappen waarbij elke stap een type actie specificeert dat moet worden uitgevoerd. De onderstaande figuur vat het concept van een sjabloon samen in drie stappen.

Acties zijn de bouwstenen die worden gebruikt om een ​​dataproces te creëren. Een actie kan bijvoorbeeld een eenvoudige wiskundige bewerking zijn die een aantal operanden nodig heeft en de som van de invoer produceert. Acties kunnen ook databases opvragen of repository-bewerkingen uitvoeren om gegevens op te vragen, te maken of te verwijderen.

Afhankelijk van het type actie zal het verschillende invoerparameters vereisen of optioneel accepteren en kan het verschillende uitvoerparameters produceren. Voor onze eenvoudige wiskundige actie kunnen er 2 invoerparameters zijn genaamd Operand1 en Operand2 en een enkele uitvoerparameter Result. Andere actietypen vereisen meer gecompliceerde parameters, zoals query’s of gegevenssets. De details van deze parameters voor elke actie worden afzonderlijk gedocumenteerd, maar het basismechanisme is hetzelfde voor alle actietypen. De waarden voor parameters kunnen scalaire waarden (enkele waarden), arrays, complexe data-objecten met benoemde eigenschappen en lijsten met complexe data-objecten zijn. Het type waarde dat door een parameter is toegestaan, wordt bepaald door de actie.

Invoer- / uitvoerparameters kunnen verschillende bronnen / doelen hebben. Een invoerbron kan een constante waarde zijn, maar het kan ook een variabele zijn die door een eerdere actie in de uitvoeringscontext is opgeslagen of rechtstreeks uit het batchdoel wordt verkregen, zoals een doel-ID of een van de vrije velden. Momenteel is alleen de uitvoeringscontext beschikbaar als een uitvoerdoel. Samen met de doelnaam kan een variabele uniek worden geïdentificeerd.

Bij IQ-TEC Enterprise Foundation zijn veel soorten acties inbegrepen, zoals weergegeven in de onderstaande tabel. Sommige actietypes vereisen specifieke IQ-TEC-modules die ook in de tabel worden weergegeven, samen met de sectie van de volledige actietypereferentie.
SDK-ontwikkelaars zijn zelfs in staat om eigen actietypes voor batchprocessen te ontwikkelen die kunnen worden gebruikt in combinatie met de standaardactietypen.

 

Trigger
Templates zijn herbruikbare componenten die kunnen worden gebruikt om de vooraf geconfigureerde acties uit te voeren op een bepaalde set gegevensobjecten. Een trigger wordt gebruikt om deze acties te starten. Een trigger maakt een batch op basis van de sjabloon en batchdoelen voor elk gegevensobject dat moet worden afgehandeld. De data-objecten worden bepaald met behulp van een data-object-selectiemethode. Onderstaande figuur geeft een overzicht van het triggerproces.

Momenteel worden meerdere triggertypen ondersteund, zoals geplande taken, systeemgebeurtenissen en handmatige acties. Afhankelijk van het triggertype zijn er ook meerdere selectiemethoden voor gegevensobjecten beschikbaar, zoals vaste objecten, query, bestandslocatie, mailbox of expressie. De onderstaande tabel toont de huidige lijst met beschikbare triggertypen, selectiemethoden voor gegevensobjecten en de overeenkomstige sectie die de configuratie beschrijft. De lijst toont ook de vereiste licentiemodule, indien van toepassing.

IQ-TEC Enterprise Foundation ondersteunt ook planningen, die meerdere planningsopdrachten bevatten. Schema’s worden gebruikt om periodiek een of meerdere batchprocessen (geplande taken) te activeren met behulp van de IQ-TEC-planningsservice of een andere planner zoals Windows Task Scheduler. Een schema specificeert herhaling, start- / einddatum en een verzameling geplande taken.

 

Executie
Een trigger resulteert in het creëren van een batch met doelen. Batches kunnen worden gezien als instanties van een sjabloon, gecombineerd met een selectie van gegevensobjecten die bekend staan ​​als batchdoelen. Wanneer een batch wordt gemaakt, wordt een kopie van de geselecteerde sjabloon gemaakt met alle stappen en bijbehorende configuratie, ook wel stapparameters genoemd. Vanwege de flexibele aard van het systeem, bevat een batchdoel een doel-ID en verschillende vrije velden die kunnen worden gebruikt om aanvullende parameters op te geven die door de afzonderlijke stappen moeten worden gebruikt. Gewoonlijk verwijst een batchdoel naar de feitelijke (externe) gegevens die moeten worden verwerkt door een unieke identificatie of sleutel. Het kan bijvoorbeeld een project targeten op projectnummer of een verzoek op verzoek-ID.

Elk batchdoel behoudt een persoonlijke uitvoeringscontext die gegevens bevat die doorgaans door een enkele stap worden geproduceerd als resultaat van uitvoerparameters. Deze context wordt gebruikt om gegevens tussen de afzonderlijke stappen uit te wisselen, zodat gegevens die door stap A als output zijn geproduceerd, vervolgens door stap B als input kunnen worden gebruikt. Het systeem slaat deze uitvoeringscontext op in de database voor elk batchdoel.

De uitvoering van batchprocessen kan automatisch worden gestart door de trigger of handmatig door uitvoering vanaf de opdrachtregel (of een planner zoals Windows Task Scheduler), afhankelijk van de triggermethode. Tijdens de uitvoering, afhankelijk van de trigger, worden ook twee methoden voor foutafhandeling ondersteund: “Aan gebruiker presenteren” en “Opslaan met doel”.

Wanneer de fout aan de gebruiker wordt gepresenteerd, wordt de feitelijke batch volledig teruggedraaid, zonder opties om het opnieuw te proberen, behalve door het batchproces opnieuw te triggeren. Wanneer het batchproces deel uitmaakt van een grotere systeemactie, zoals het wijzigen van gegevens, worden ook de veroorzakende gebeurtenissen teruggedraaid.

Batchprocessen met fouten die zijn opgeslagen met target verlopen zonder een zichtbare gebruikersfout, maar de uitvoeringscontext en fout worden opgeslagen in de database zodat in het geval dat een stap mislukt, de onderliggende oorzaak van de fout kan worden geanalyseerd, opgelost en de verwerking kan worden uitgevoerd op een later tijdstip hervat. Batch-doelen die fouten bevatten, worden overgeslagen bij het verwerken van batches, zodat de oorzaak van de storing kan worden geanalyseerd en opgelost. Nadat de fouten zijn gewist, kan het proces worden hervat waar het was gebleven door de volledige uitvoeringscontext te herstellen (inclusief eventuele resultaten van eerdere stappen).

De onderstaande tabel toont de beschikbare uitvoeringsmethoden en foutafhandelingsmethoden voor elk beschikbaar triggertype.