Connecting Objects in BPMN: uitleg voor SaaS
Introductie
In BPMN 2.0 bepalen connecting objects de relaties en de informatiestroom tussen elementen in een process model. Ze verbinden activiteiten, events en gateways, sturen de procesflow aan of dragen data en messages over. De belangrijkste connecting objects zijn sequence flows, message flows en associations.
Sequence Flow
Een sequence flow bepaalt de volgorde waarin activiteiten, events en gateways worden uitgevoerd in een proces. Het laat de logische stap-voor-stap voortgang zien.
Deze lijn geeft de volgorde aan waarin taken uitgevoerd moeten worden. Hij wordt getoond als een rechte lijn met een pijl aan het eind. Dit kan een conditionele of standaard route aanduiden.
- Voorbeeld: Een sequence flow verbindt een “Submit Application” taak met een “Review Application” taak en laat zien dat de review volgt op de indiening.
- Types of Sequence Flows:
- Normal Sequence Flow: Standaard flow tussen activiteiten.
- Conditional Sequence Flow: Deze flow gaat alleen verder als aan een specifieke conditie is voldaan (aangegeven met een kleine ruit).
- Default Sequence Flow: Dit is de fallback flow als er geen condities zijn (herkenbaar aan een diagonale streep bij het beginpunt).
- Use Case: Gebruik sequence flows om de stap-voor-stap voortgang van een proces aan te geven, zodat activiteiten in de juiste volgorde worden uitgevoerd.
Message Flow
Een message flow geeft communicatie weer tussen verschillende deelnemers of processen, meestal als ze in aparte pools zijn ingedeeld. Hiermee toon je de uitwisseling van informatie tussen processen die onafhankelijk van elkaar kunnen werken.
De message flow-connector laat communicatie zien tussen verschillende pools of over organisatiegrenzen heen, zoals afdelingen. Het is niet bedoeld om events of activiteiten binnen dezelfde pool te verbinden. Deze connector wordt getoond als een stippellijn die begint met een cirkel en eindigt met een open pijl.
- Voorbeeld: Een message flow verbindt een “Send Invoice” taak in de ene pool (de leverancier) met een “Receive Invoice” taak in de andere pool (de klant), waarmee wordt getoond dat de factuur tussen hen wordt verzonden.
- Use Case: Gebruik message flows om communicatie tussen verschillende organisaties of business deelnemers weer te geven, bijvoorbeeld wanneer een bedrijf een orderverzoek stuurt naar een ander.
Association
Een association verbindt artefacten (zoals data objects, tekstannotaties of groepen) met flow objects (activiteiten, events, gateways) om context te geven of relaties te verduidelijken. Associations hebben geen invloed op de volgorde van het proces, maar worden gebruikt voor documentatie en extra toelichting.
Dit element wordt weergegeven als een gestippelde lijn zonder pijl of cirkel. Het verbindt een event, activiteit of gateway met een artefact.
- Voorbeeld: Een association verbindt een “Generate Report” taak met een “Report Document” (data object), waarmee duidelijk wordt dat deze taak het document oplevert.
- Types of Associations:
- Normal Association: Verbindt bijvoorbeeld taken met data objects of annotaties.
- Directional Association: Geeft de stroom van data naar of van een taak aan (herkenbaar aan een pijl).
- Bi-Directional Association: Geeft een tweezijdige relatie tussen elementen aan (twee pijlen).
- Use Case: Gebruik associations om extra informatie zoals data objects of tekstannotaties te koppelen aan taken of events zonder de processflow te beïnvloeden.
Belangrijke punten over Connecting Objects
- Sequence Flow: Definieert de volgorde van taken of events binnen één proces (in één pool). Gebruik het om de flow van activiteiten, condities en beslissingen vast te leggen.
- Message Flow: Geeft communicatie weer tussen verschillende deelnemers of processen (over verschillende pools heen). Gebruik dit als processen informatie uitwisselen of acties bij een ander proces starten.
- Association: Verbindt extra informatie zoals data, documenten of annotaties aan activiteiten. Dit biedt context of uitleg, maar stuurt niet de process flow aan.
Voorbeeld
Stel je een proces voor waarin klantorders worden beheerd:
- Sequence Flow: Na het ontvangen van een order wordt de order verwerkt en daarna doorgestuurd voor levering. Elke stap (ontvangen, verwerken, leveren) wordt verbonden door sequence flows.
- Message Flow: Nadat de order is verwerkt, wordt er een message gestuurd naar een externe vervoerder om de levering te regelen. Deze communicatie wordt weergegeven door een message flow tussen de twee partijen.
- Association: Een “Customer Order” data object is gekoppeld aan de “Receive Order” taak om aan te geven dat deze taak order data verwerkt.
Samenvatting
- Sequence Flow: Beheert de volgorde van activiteiten binnen één proces.
- Message Flow: Maakt communicatie mogelijk tussen verschillende entiteiten of pools.
- Association: Verbindt artefacten zoals data of annotaties aan flow-elementen voor extra context.
Deze connecting objects zijn essentieel om te bepalen hoe taken en events gekoppeld zijn, hoe data door processen stroomt en hoe processen onderling samenwerken in een BPMN model.