Boundary Events

Zbigniew Misiak
A free video tutorial from Zbigniew Misiak
BPMN practitioner, trainer, BPM consultant
4.4 instructor rating • 2 courses • 12,959 students

Learn more from the full course

BPMN for business analysts

Learn the best practices of process modeling and analysis with Business Process Model and Notation (BPMN 2.0) standard

04:56:14 of on-demand video • Updated April 2021

  • You will see how to use BPMN in practice, which elements to use and which are not so useful
  • You will learn how to use events in BPMN and what are the event types
  • You will practice how using object types for tasks and subprocesses can make your diagrams easier to understand and more powerful
  • You will understand how to show the process flows with various gateways (XOR, AND, OR) and how to make sure token flows correctly
  • You will master usage of pools and lanes to show collaboration in a proces, so that you never make the popular rookie mistakes
  • You will learn how to easily extend your diagrams with additional information with artifacts and data objects
English [Auto] Did you ever watch Discovery Channel movie about sea creatures. If so probably so. Remoras those are small animals but spend their lives attached to larger creatures like sharks. Of course we are not talking about marine animals but we are talking about intermediate events boundary intermediate events. Those are special events that spend their lives attached to the boundaries of a larger elements. Subprocesses and tasks as you know they look very similar like normal intermediate events all written. So they have double fin line on the border and some markers inside they are placed on a boundary of activities so tasks are subprocesses and they allow you to determined how to react to a specific event. Most of them are active only when Very well let's call it parent is active and as you can see from the marker they're getting only we are only listening. The boundary event on the right side looks slightly different from the one on the left hand side. This is because we have two types of boundary intermediate events. They're interrupting boundary events that are drawn with solid line and they are not interrupting boundary events that are drawn with dashed lines. What is the difference. As you might imagine interrupting boundary events will interrupt their parent. So if a customer counseled while we're processing the order we no longer continue. And we want to order. Instead we'll document in CRM and finish our process. But if customer asks to send the items to a new shipping address obviously we don't want to interrupt order processing. What we do will be only updating address in some I.T. system and we'll continue with our order processing. And when it's done we'll ship the order so we can save it. Normally the events create some additional tokens. Now you may ask what happens when a customer counsels after we are here. After we started shipping the order obviously nothing happens. As I told you boundary events are attached to their parents and very active at least most of them are active only when we are here. So when the token is in this element when the token moves on we are no longer at mask of course. Why do we need boundary events maybe we can do it like this. We could place a gateway after the subprocess and simply check if the customer Council will determine this in CRM and finish the process. If the customer not Council will ship to order. Of course it will be valid approach. However using boundary events gives you much more flexible way of handling different results of subprocess. First of all it is much easier to see what is there happy path and without exception flows. Additionally boundary events allow you to handle special cases the activity is still being maybe not active but executed. So you can react if something happens while you are processing the order and you don't need to wait till the end. Now let's take a look at a few types of boundary events. Most of them will contain shapes of what they already know. So we'll have boundary Given's messages that can be BAAF interrupting and interrupting. So for example if we receive some communication from a customer during our process step we can react either interrupting it or not interrupting and doing something Cattish. Maybe we'll want to use the time as a trigger. So for example if completing certain steps takes more than 5 minutes we can either interrupt it or do something additional. Maybe in from someone but it is taking longer than expected expected it it's very similar conditions. They can be not interrupting and interrupting the some of signals not interrupting and interrupting escalations. We mentioned them briefly in the previous lecture about intermedia once in a little while Ousley example showing how to use escalations. So far you know but there something that allows you to react on a higher level and they can be both interrupting and interrupting errors are something very serious. So that can be only interrupting. And there are some more types for more technical scenarios but that is something I'll cover in additional lectures. Now let's take a look at a simple Pieman diagram here you can see Pieman diagram from BP and by example document. Let's take a look at this order fullfilment when we received AUCTOR we need to take the availability if the article is available we simply shipped the article and then perform final settlement and the end event is payment received. But if we don't have the article we need to perform procurement. And now let's see what happens inside the procurement looks like this with tech availability of the supplier. If the item can be delivered in two days or less then simply order from supplier and when we receive the article we finish. This is our happy path article procure then we simply go back and our cocaine flows through the ship article and that process can finish. But it is not always that easy. Let's see it is possible but I can order from supplier but I get information but it will take some more time than two days. In this case I want to be able to inform our customers but I will deliver but it late delivery. So please take a look here. I'm furrowing escalation and then I continue with the process. The process can continue can still be here but I'm over reacting. So while that procurement is active I catch it with not interrupting boundary event and inform customer that that the library will be light. Please note that when I finish path this one is still active sewing waiting till the articles arrive and then ship them anyhow. Let's take a look at the first half. If I get information but the article is not deliverable I finish with an error. So I hit something with my online catalog and it turns out that I cannot offer it. So something serious in this case if there were some additional steps in this subprocess I would interrupted and again I need to inform the customer and possibly apologize and remove the article from the catalog. And now let's take a look at additional process. First of stock maintenance here. We're not dealing with customer orders. Instead we're watching our stock levels. If the stock level drops below minimum we need to procure the items. And then the Heppy path is that stock level is OK. But it is also possible but we wanted to order something which is not deliverable. In this case we simply remove article from the catalog. You will notice that this approach allows us to have different handling of the procurement collectivity subprocess. So when we are in the customer facing process we are informing about delays when we are ordering for our own internal needs. We don't need to inform anyone. We simply want to have the item on stock. This is why we are only using error handling and we don't care but not about escalations. So I hope that this example showed you why boundary events are very useful and very powerful in the next videos. I'll tell you about more advanced ways of handling special cases.