Kernonderdelen van het procesframework

Het Process Framework is gebaseerd op een modulaire architectuur waarmee ontwikkelaars geavanceerde werkstromen kunnen maken via de kernonderdelen. Inzicht in deze onderdelen is essentieel voor het effectief benutten van het framework.

Proces

Een proces fungeert als de overkoepelende container waarmee de uitvoering van stappen wordt ingedeeld. Het definieert de stroom en routering van gegevens tussen stappen, zodat procesdoelen efficiënt worden bereikt. Processen verwerken invoer en uitvoer en bieden flexibiliteit en schaalbaarheid in verschillende werkstromen.

Procesfuncties

  • Stateful: ondersteunt het uitvoeren van query's op informatie, zoals het bijhouden van de status en het voltooiingspercentage, evenals de mogelijkheid om te onderbreken en hervatten.
  • Herbruikbaar: Een proces kan binnen andere processen worden aangeroepen, wat modulariteit en herbruikbaarheid bevordert.
  • Gebeurtenisgestuurd: maakt gebruik van een stroom op basis van gebeurtenissen met listeners om gegevens te routeren naar stappen en andere processen.
  • Schaalbaar: maakt gebruik van gevestigde runtimes voor wereldwijde schaalbaarheid en implementaties.
  • Cloudgebeurtenis geïntegreerd: bevat industriestandaardgebeurtenissen voor het activeren van een proces of stap.

Een proces maken

Als u een nieuw proces wilt maken, voegt u het procespakket toe aan uw project en definieert u een naam voor uw proces.

Stap

Stappen zijn de fundamentele bouwstenen binnen een proces. Elke stap komt overeen met een discrete werkeenheid en bevat een of meer kernelfuncties. Stappen kunnen onafhankelijk van hun gebruik in specifieke processen worden gemaakt, waardoor hun herbruikbaarheid wordt verbeterd. Ze verzenden gebeurtenissen op basis van het uitgevoerde werk, waardoor volgende stappen kunnen worden geactiveerd.

Stapfuncties

  • Stateful: vereenvoudigt het bijhouden van informatie zoals status en gedefinieerde tags.
  • Herbruikbaar: Stappen kunnen worden gebruikt in meerdere processen.
  • Dynamisch: stappen kunnen indien nodig dynamisch worden gemaakt door een proces, afhankelijk van het vereiste patroon.
  • Flexibel: biedt verschillende soorten stappen voor ontwikkelaars door gebruik te maken van kernelfuncties, waaronder alleen-code, API-aanroepen, AI-agents en Human-in-the-loop.
  • Controleerbaar: Telemetrie is ingeschakeld voor zowel stappen als processen.

Een stap definiëren

Als u een stap wilt maken, definieert u een openbare klasse om de stap een naam te geven en deze toe te voegen aan kernelStepBase. Binnen uw klasse kunt u één of meerdere kernelfuncties opnemen.

Een stap registreren bij een proces

Zodra uw klas is gemaakt, moet u deze registreren in uw proces. Voor de eerste stap in het proces voegt u dit toe isEntryPoint: true , zodat het proces weet waar u moet beginnen.

Stap-gebeurtenissen

Stappen hebben verschillende gebeurtenissen beschikbaar, waaronder:

  • OnEvent: geactiveerd wanneer de klasse de uitvoering voltooit.
  • OnFunctionResult: geactiveerd wanneer de gedefinieerde kernelfunctie resultaten verzendt, zodat uitvoer naar een of meer stappen kan worden verzonden.
  • SendOutputTo: Definieert de stap en invoer voor het verzenden van resultaten naar een volgende stap.

Patroon

Patronen standaardiseren algemene processtromen, waardoor de implementatie van veelgebruikte bewerkingen wordt vereenvoudigd. Ze bevorderen een consistente benadering voor het oplossen van terugkerende problemen in verschillende implementaties, waardoor zowel de onderhoudbaarheid als de leesbaarheid worden verbeterd.

Patroontypen

  • Ventilator In: De invoer voor de volgende stap wordt ondersteund door meerdere uitvoer van vorige stappen.
  • Uitwaaieren: De uitvoer van de vorige stappen wordt omgeleid naar meerdere stappen verderop in het proces.
  • Cyclus: Stappen blijven herhalen totdat ze zijn voltooid op basis van invoer en uitvoer.
  • Kaart reduce: uitvoer van een stap wordt samengevoegd tot een kleiner bedrag en doorgestuurd naar de invoer van de volgende stap.

Een patroon instellen

Zodra uw klasse is gemaakt voor uw stap en is geregistreerd in het proces, kunt u de gebeurtenissen definiëren die downstream naar andere stappen moeten worden verzonden of voorwaarden instellen voor het opnieuw opstarten van stappen op basis van de uitvoer van uw stap.