Workflow Pattern - Synchronization
There's no need to re-invent the wheel. Although your work processes will certainly have some unique aspects, it's likely that your workflows will align with some kind of pattern. In their book, Workflow Patterns, the authors identify many patterns that can help you create the workflow you need. Over the next few blog posts, I will share one of these patterns with you. This month we will look at a control pattern called synchronization. In this pattern, multiple paths of tasks are merged into a single path of subsequent tasks. For example, imagine that an order you are processing has to go both to accounting to process the payment and to fulfillment to package the order. It's possible you might want to do both of these at the same time for purposes of efficiency. However, before you start the task of shipping, you want to make sure that both of these parallel tasks - billing and fulfillment - have been completed. To do that, you would synchronize these two paths before starting the shipping task. In Ecsazza's workflow tool Effecs, this is achieved by adding a merge point that joins the parallel paths into the final shipping path.