BPMN Gateways

Introductie

In BPMN 2.0 controleren Gateways de flow van processen door te bepalen hoe sequentieflows worden gesplitst, samengevoegd of gericht op basis van bepaalde voorwaarden. Ze zijn beslispunten binnen een proces waar het pad kan divergeren of convergeren en stellen je in staat om complexe workflows met meerdere mogelijke uitkomsten te modelleren. Gateways worden weergegeven door ruitvormen in BPMN-diagrammen, met verschillende pictogrammen erin om hun specifieke gedrag aan te geven.

Types of Gateways:

Exclusieve GatewayExclusieve Gateway
Inclusieve GatewayInclusieve Gateway
Parallelle GatewayParallelle Gateway
Event GatewayEvent Gateway

Exclusieve Gateway (XOR Gateway)

Exclusieve Gateway
  • Doel: Dit is het meest voorkomende type gateway, waarbij slechts één uitgaand pad wordt gevolgd op basis van voorwaarden.
  • Visuele Weergave: Een ruitvorm met een “X” erin.
  • Voorbeeld: In een goedkeuringsproces, als het verzoek is goedgekeurd, volgt het één pad; als het wordt afgewezen, volgt het een ander pad.
  • Gebruiksscenario: Wanneer het proces slechts één pad kan nemen op basis van een beslissing, zoals “ja/nee” of “waar/onwaar.”

Inclusieve Gateway (OR Gateway)

Inclusieve Gateway
  • Doel: Deze gateway maakt het mogelijk om één of meerdere paden te volgen op basis van voorwaarden. Alle paden waarvan de voorwaarden als waar worden beoordeeld, worden gevolgd.
  • Visuele Weergave: Een ruitvorm met een cirkel erin.
  • Voorbeeld: In een proces waarbij meerdere goedkeuringen nodig zijn (maar niet allemaal), kan het systeem alle toepasselijke goedkeuringspaden volgen op basis van ingestelde voorwaarden.
  • Gebruiksscenario: Wanneer meerdere paden kunnen worden gevolgd, afhankelijk van voorwaarden, zoals meerdere criteria die verschillende acties kunnen triggeren.

Parallelle Gateway (AND Gateway)

Parallelle Gateway
  • Doel: Deze gateway wordt gebruikt om de flow op te splitsen in meerdere parallelle paden, waarbij alle takken gelijktijdig moeten worden gevolgd. Het kan ook worden gebruikt om meerdere inkomende paden te synchroniseren.
  • Visuele Weergave: Een ruitvorm met een ”+” erin.
  • Voorbeeld: Een taak waarbij documenten tegelijkertijd door meerdere afdelingen worden beoordeeld.
  • Gebruiksscenario: Wanneer taken of acties parallel moeten plaatsvinden of wanneer meerdere paden moeten worden gesynchroniseerd voordat men verder kan gaan.

Event-Based Gateway

Event-Based Gateway
  • Doel: Deze gateway leidt de flow op basis van events die zich voordoen. Hij wacht op een specifiek event (bijv. bericht, timer, signaal) om te bepalen welk pad te volgen.
  • Visuele Weergave: Een ruitvorm met een pentagon binnenin.
  • Voorbeeld: Een proces dat wacht op een reactie van de klant of een timeout om de flow voort te zetten.
  • Gebruiksscenario: Wanneer de volgende stap van een proces afhangt van externe events, zoals het wachten op een bericht of een timer-trigger.

Belangrijke Punten over Gateways

  • Opsplitsen van Flows: Gateways kunnen een enkele sequentieflow splitsen in meerdere takken, waarbij wordt bepaald welk(e) pad(en) te volgen op basis van voorwaarden of events.
  • Samenvoegen van Flows: Gateways kunnen ook meerdere sequentieflows samenvoegen tot één, waarbij parallelle paden worden gesynchroniseerd of geconvergeerd op basis van specifieke voorwaarden.
  • Besluitvorming: Gateways zijn essentieel voor het modelleren van beslispunten, waarbij de flow van het proces afhangt van de uitkomst van evaluaties, events of gebruikersinvoer.

Gebruiksscenario’s

  • Exclusieve Gateway: Wanneer slechts één voorwaarde waar kan zijn en het proces een enkel pad moet volgen.
  • Parallelle Gateway: Wanneer meerdere taken gelijktijdig kunnen plaatsvinden en allemaal moeten worden voltooid.
  • Inclusieve Gateway: Wanneer één of meer voorwaarden waar kunnen zijn en meerdere paden moeten worden gevolgd.
  • Event-Based Gateway: Wanneer de flow afhankelijk is van externe events, zoals het wachten op een bericht of timer.
  • Complex Gateway: Wanneer complexe regels of voorwaarden bepalen hoe het proces verder gaat.

Voorbeeld

In een eenvoudige goedkeuringsworkflow:

  1. Exclusieve Gateway: Als het verzoek is goedgekeurd, gaat het proces verder; als het is afgewezen, eindigt het.
  2. Parallelle Gateway: Na goedkeuring kunnen twee taken (documentvoorbereiding en notificatie) parallel worden uitgevoerd.
  3. Event-Based Gateway: Het proces wacht op een reactie van de klant of een timeout om de volgende stap te bepalen.

Gateways zijn cruciaal voor het flexibeler maken van bedrijfsprocessen, doordat ze besluitvorming, parallelle verwerking en synchronisatie van verschillende paden binnen de workflow mogelijk maken.