I highly recommend the following (e-)book in case you want to gain an in-depth knowledge about BPMN. Click here to buy it on amazon: amzn.to/3UJ9no6 I've read this book too and it is the foundation my knowledge is based on. This link is my personal affiliate link, this means in case you are buying this book I get a comission which supports this channel without you having additional costs! Thank you so much :)
Sorry. Still not clear on OR gateway after watching your second video. With XOR a single variable with a single value is evaluated and the single path is decided. with OR it will be a single variable with an array of values that can take execution via various paths? Examples: XOR : var trafficLightsColor=‘RED’ OR : var meal=[‘pizza’, ‘pasta’,’salad’] If I am incorrect please correct my understanding.
Let's forget the amount of variables for a second. ALL outgoing paths of an XOR gateway can be seen as if{} else if{} clauses. E.g. if (car.color==red){ do X } else if (car.color==blue) {do Y} else {do Z} Meaning whatever the outcome is of the evaluation of the expression, ONLY 1 PATH will be chosen. In this case it's only 1 attribute (car.color), but we could test multiple within 1 expression. An OR gateway can be seen as if{} if{} clauses. E.g. if(person.nationality==INDIA) { do A } if(person.nationality==USA) { do B } if(person.yearOfBirth==2022) { do C } As you see, potentially all 3 clauses could be true, but also only 1. It's not like an XOR where ONLY 1 can be chosen, here multiple can be chosen. Hope that helps :)
@@theagilebusinessanalyst Thank and appreciate the effort in answering my question. In you last paragraph I want to disagree with “all three scenarios as possible” as person can not have two nationalities at once India and USA So what are you saying that a token splits during OR gateway diverge or maybe gets duplicated or maybe it is the same token goes different paths. Please explain. What about variables set within those paths. Are they even seeing to that token(s) / what’s their scope and what happens when paths get converged back together. Is the parent process waiting for all token(s) to get back together or not? What happens to the variables? Do they get merged or overwritten, if they happen to have the same name. And what about exceptions should one if() path process throws one during execution? This is the type of explanation I was hoping to hear in your examples.
@@ndk8111 At an OR gateway, indeed the token gets split, 1 token for each path that was chosen. The converging OR gateway waits until all tokens get together again before the process can proceed. The OR gateway is tricky, especially about the questions what happens when one path has an exeception or an error. Theoretically, the parent process would still wait until all tokens are together at the converging OR gateway, and this could cause a deadlock. That's why OR gateways have to be used with caution. regarding variables: When we say we have the variable "var food" and 1 path of the OR gateway is pizza, another is pasta and another is salad, then it depends how we implement that with our activities if we overwrite the variable or add a value to the variable in the sense of an array, list, map or set. E.g. we predefine food as a Set, and when we go path "PIZZA" and path "PASTA", then we both just add this to the "food" set, so we have {PIZZA, PASTA} in the end. BTW: At least in european countries it is valid to have multiple nationalities, e.g. SPAIN and GERMANY, not sure about US and INDIA.
I highly recommend the following (e-)book in case you want to gain an in-depth knowledge about BPMN.
Click here to buy it on amazon: amzn.to/3UJ9no6
I've read this book too and it is the foundation my knowledge is based on.
This link is my personal affiliate link, this means in case you are buying this book I get a comission which supports this channel without you having additional costs! Thank you so much :)
Excellent Sir! Thank you very much from Rome!
Appreciate your feedback! Best wishes to Italy
Thank you so much it is really helpful
Can not assume a better explanation than this. Thanks, Could you please also share the whole BPMN Learning path.
Thanks for the feedback! Glad I could help you out. I‘ll think about creating more content regarding BPMN.
Great presentation. Thanks!
Appreciate your thoughts on this one!
Gutes Video
Sorry. Still not clear on OR gateway after watching your second video. With XOR a single variable with a single value is evaluated and the single path is decided.
with OR it will be a single variable with an array of values that can take execution via various paths?
Examples:
XOR : var trafficLightsColor=‘RED’
OR : var meal=[‘pizza’, ‘pasta’,’salad’]
If I am incorrect please correct my understanding.
Let's forget the amount of variables for a second.
ALL outgoing paths of an XOR gateway can be seen as if{} else if{} clauses.
E.g.
if (car.color==red){ do X }
else if (car.color==blue) {do Y}
else {do Z}
Meaning whatever the outcome is of the evaluation of the expression, ONLY 1 PATH will be chosen. In this case it's only 1 attribute (car.color), but we could test multiple within 1 expression.
An OR gateway can be seen as if{} if{} clauses. E.g.
if(person.nationality==INDIA) { do A }
if(person.nationality==USA) { do B }
if(person.yearOfBirth==2022) { do C }
As you see, potentially all 3 clauses could be true, but also only 1. It's not like an XOR where ONLY 1 can be chosen, here multiple can be chosen.
Hope that helps :)
@@theagilebusinessanalyst
Thank and appreciate the effort in answering my question.
In you last paragraph I want to disagree with “all three scenarios as possible” as person can not have two nationalities at once India and USA
So what are you saying that a token splits during OR gateway diverge or maybe gets duplicated or maybe it is the same token goes different paths. Please explain. What about variables set within those paths. Are they even seeing to that token(s) / what’s their scope and what happens when paths get converged back together. Is the parent process waiting for all token(s) to get back together or not? What happens to the variables? Do they get merged or overwritten, if they happen to have the same name. And what about exceptions should one if() path process throws one during execution? This is the type of explanation I was hoping to hear in your examples.
@@ndk8111
At an OR gateway, indeed the token gets split, 1 token for each path that was chosen. The converging OR gateway waits until all tokens get together again before the process can proceed. The OR gateway is tricky, especially about the questions what happens when one path has an exeception or an error. Theoretically, the parent process would still wait until all tokens are together at the converging OR gateway, and this could cause a deadlock. That's why OR gateways have to be used with caution.
regarding variables:
When we say we have the variable "var food" and 1 path of the OR gateway is pizza, another is pasta and another is salad, then it depends how we implement that with our activities if we overwrite the variable or add a value to the variable in the sense of an array, list, map or set. E.g. we predefine food as a Set, and when we go path "PIZZA" and path "PASTA", then we both just add this to the "food" set, so we have {PIZZA, PASTA} in the end.
BTW: At least in european countries it is valid to have multiple nationalities, e.g. SPAIN and GERMANY, not sure about US and INDIA.
What programm was used for flowcharts?
For drawing, I used bpmn.io online. For simulating the flow with a token, I used PowerPoint animations. I didn‘t use a workflow engine.
ty ty
Thank you so much it is really helpful
Gread that the video helped you out! May I ask for your relationship with BPMN? Are you a process analyst?