Skip to main content
Skip table of contents

Call activities & called workflows

Definitie

Een called workflow is een workflow die aangeroepen en opgestart wordt vanuit het hoofdproces. Dit gebeurt door middel van een call activity. De belangrijkste use case voor called workflows, is het hergebruiken van standaard procedures. Dit kan binnen in één en hetzelfde hoofdproces of over meerdere hoofdprocessen heen.

Binnen één en hetzelfde hoofdproces.

Voorbeeld: berekening van een premie of subsidiebedrag die je op meerdere punten in je workflow wil laten herberekenen.

Over meerdere hoofdprocessen heen.

Voorbeeld: beroepsprocedure die je vanuit verschillende dienstverleningen kan aanspreken.

Voordelen

Het onderbrengen van dergelijke standaard procedures in een called workflow brengt een aantal voordelen met zich mee:

  • Je hoeft de called workflow maar op één plek aan te maken en te onderhouden.

  • De hoofdprocessen blijven overzichtelijker, d.w.z. ze zijn beter leesbaar voor een business owner.

  • Je kan de called workflow afzonderlijk gaan testen tegen een set van sample data.

  • De called workflow is volledig ontkoppeld van de hoofdprocessen. Wijzigingen in de hoofdprocessen hebben geen effect op de called workflow, en vice versa. De interface tussen beide gebeurt via de input en output mapping.

Symbool

Het symbool voor een call activity is een afgeronde tegel met dikke rand en een plus icoon erin.

Beheer call activity & called workflow

Call activity

Een call activity kan je via de workflow editor toevoegen aan je bpmn-workflow. Via het eigenschappen panel krijg je toegang tot onderstaande instellingen.

Basis

Basisinstellingen die corresponderen met de belangrijkste instelling onder Geavanceerd > general en Geavanceerd > template.

Eigenschap

Beschrijving

Naam

Naam of label van de call activity zoals die gevisualiseerd wordt binnen de bpmn-workflow.

Element template

Keuze uit volgende templates:

  • Link naar bpmn

  • Link naar cmnn

  • eSignFlow

  • eGovFlow betaling

Opgeroepen element

Enkel indien template op Link naar bpmn is ingesteld. Hier moet je de gewenste bpmn-workflow uit een dropdown-lijst selecteren.

Case ref

Enkel indien template op Link naar cmmn is ingesteld. Hier moet je de gewenste cmmnp-workflow uit een dropdown-lijst selecteren.

Template id

Enkel indien template op eSignFlow is ingesteld.

Document title

Enkel indien template op eSignFlow is ingesteld.

Communicatie id

Enkel indien template op eSignFlow is ingesteld.

Bedrag

Enkel indien template of eGovFlowBetaling is ingesteld. Hier moet je aan de hand van een expressie het te betalen bedrag instellen, bijvoorbeeld ${50,0}.

Geavanceerd > general

Eigenschap

Beschrijving

Id

Unieke id of key van de call activity

Name

Naam of label van de call activity zoals die gevisualiseerd wordt binnen de bpmn-workflow.

Element template

  • [Leeg]: dit is de default.

  • eSignFlow: zie vervolgens tabblad Geavanceerd > template.

  • egovflowPayment: zie vervolgens tabblad Geavanceerd > template.

CallActivity Type

bpmn of cmmn

Called Element

Selecteer de bpmn-worfklow of cmmn-workflow die je wil aanroepen.

Binding

Welke versie van de aangeroepen workflow wil je?

  • Latest: de laatst gedeployede versie.

  • Deployment: de versie zoals die was bij opstart van het hoofdproces.

  • Version: een specifieke versie.

  • Version tag: specifieke versie op basis van version tag.

Version

Enkel indien binding op version is ingesteld

Version tag

Enkel indien binding op version tag is ingesteld

Tenant Id

Parameter irrelevant bij Skryv applicaties

Business Key

True of false. Standaard ingesteld op True. Dit betekent dat alle informatie opgebouwd binnen de called workflow behoort tot hetzelfde dossier als dat van het hoofdproces.

Business Key Expression

Expressie die de business key definieert. Standaard is dit vooraf ingevuld op #{execution.processBusinessKey}. Dit haalt de business key (dossierId) van het hoofdproces op.

Delegate Variable Mapping

info volgt

Asynchronous before

Zie asynchroniciteit voor meer info.

Asynchronous after

Zie asynchroniciteit voor meer info.

Exclusive

Enkel beschikbaar indien Asynchronous before en/of Asynchronous after ingeschakeld zijn. Zie asynchroniciteit voor meer info.

Element documentation

Volledige beschrijving van het element als de Naam van het element onvoldoende informatie biedt. Daarnaast kan hier alle informatie worden ingevoerd die kan bijdragen aan het begrip van het element en zijn functie binnen de workflow.

Geavanceerd > template

Deze eigenschappen zijn enkel beschikbaar als je eerst een relevante template hebt geselecteerd onder Geavanceerd > general > template.

Geavanceerd > variables

  • In Mapping: hier kan je informatie uit het hoofdproces vatten in variabelen die je vervolgens meestuurt naar de called workflow.

  • Out Mapping: hier kan je informatie uit de called workflow vatten in variabelen die vervolgens ter beschikking gesteld worden binnen het hoofdproces.

Bij aanmaak van een variabele kies je volgende opties.

  • Type: source expression

  • Source expression: ${procesVariabele}

  • Target: procesVariabele (naam van de procesvariabele waar je de waarde naartoe wilt schrijven).

Bij input mapping is de source een variabele uit het hoofdproces en de target is de variabele die je ter beschikking stelt in de called workflow. Bij output mapping is het net andersom.

Geavanceerd > execution listeners

Listeners zijn scripts of expressies die getriggerd worden bij opstart of op het einde van de call activity. Zie de pagina over listeners voor meer info.

Geavanceerd > input/output

Declareren en mappen van input en output parameters die enkel geldig zijn voor de scope van de call activity zelf. Dit zijn dus niet de variabelen die doorgegeven worden aan of teruggenomen worden vanuit de called workflow. Voor meer praktische info, zie taak input en output parameters.

Called workflow

Een called workflow kan ofwel van het type bpmn, ofwel van het type cmmn zijn. Klik op de gewenste link voor meer informatie over hoe je dergelijke workflows opbouwt.

Gedrag called workflow

Gedrag call activity binnen hoofdproces

Een called workflow is niet opgenomen in de bpmn-workflow van het hoofdproces, maar wordt er vertegenwoordigd door een call activity. Deze functioneert net zoals een taak. Ze wordt geactiveerd door een incoming process token. De call activity start de called workflow op en wacht totdat deze doorlopen is. Pas nadat de called workflow volledig afgesloten is, geeft de call activity de process token door aan de volgende stap in het hoofdproces.

Intern gedrag called workflow

Een called workflow werkt zoals ieder andere workflow, hetzij van het type bpmn, hetzij van het type cmmn. Klik op de gewenste link voor meer informatie over hoe je dergelijke flows opbouwt.

Input mapping en output mapping

Een called workflow heeft een eigen scope. Alle informatie die je wil overbrengen vanuit het hoofdproces naar de called workflow moet je declareren via de input mapping in de call activity. Alle informatie die je wil terughalen vanuit de called worfklow naar het hoofdproces moet je declareren via de output mapping in de call activity.

Gelijkenissen en verschilpunten met subprocessen

Subprocessen

Zowel bij embedded subprocessen als bij called workflows is het mogelijk om binnen een workflow een andere workflow aan te roepen en op te starten. Hoewel er inderdaad gelijkenissen zijn, bestaan er toch ook enkele fundamentele verschilpunten.

Gelijkenissen

Subproces

Called workflow

Het hoofproces activeert het subproces en wacht totdat het subproces afgesloten is vooraleer zelf verder te gaan.

Het hoofdproces roept een andere workflow aan en wacht totdat deze afgesloten is vooraleer zelf verder te gaan.

Een subproces heeft een lokale scope waarin je lokale variabelen kunt definiëren die geen effect uitoefenen op het hoofdproces.

Een called workflow heeft een eigen scope met eigen variabelen die geen effect uitoefenen op het hoofdproces.

Verschilpunten

Subproces

Called workflow

Hoofdproces en subproces zitten vervat in één enkele BPMN-workflow definitie.

De twee worflows hebben elk een aparte BPMN-workflow definitie.

Een subproces is niet apart versioneerbaar. Het maakt immers deel uit van één en dezelfde BPMN-workflow definitie.

Een called workflow is apart versioneerbaar. Dit betekent dat je vanuit het hoofdproces een specifieke versie van de called workflow kan aanroepen.

Hoofdproces en subproces maken noodzakelijkerwijs deel uit van één en hetzelfde dossiertype.

De twee workflows kunnen ofwel deel uitmaken van hetzelfde ofwel van een ander (gelinkt) dossiertype. Beide opties zijn mogelijk.

Hoewel je in de praktijk met lokale variabelen werkt, kan het subproces beschikken over alle informatie die in de scope van het hoofdproces beschikbaar is (d.w.z. de globale variabelen).

Wanneer je werkt met een call activity heeft de aangeroepen worfklow geen enkele notie van het eerste proces. In dat geval moet je expliciet vastleggen welke informatie je van het ene naar het andere proces overbrengt. Dit gebeurt via mapping van globale procesvariabelen.

Een subproces is altijd een bpmn-proces.

Een called workflow kan ofwel van het type bpmn, ofwel van het type cmmn zijn.

De use case van een subproces is het duidelijk structureren en compartimenteren van een workflow. Dit om de leesbaarheid te verhogen en de foutgevoeligheid te verminderen.

De use case van een called workflow is het centraliseren van bepaalde gestandaardiseerde functies die gedeeld kunnen worden over verschillende worfklows heen.

Voorbeeld called workflow

Hieronder vind je een eenvoudig voorbeeld van hoe een called workflow werkt. In workflow A (hoofdproces) is een call activity ‘bereken kwadraat’ opgenomen. Deze roept workflow B (called workflow) aan waar dan de effectieve berekening van het kwadraat uitgevoerd wordt. Workflow B spitst zich dus toe op één enkele functie en kan daarom potentieel opgeroepen worden vanuit meerdere hoofdprocessen. De interface tussen workflow A en workflow B kan je instellen via de input mapping en de output mapping. Zo kan je het input getal doorgeven en het resultaat terugnemen.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.