![Design Patterns](/assets/content/images/_thumbnail/686983/Design-Patterns.webp)
Avoid Typical Errors in Process Models Through Design Patterns
Learn how to break down and optimise complex processes into manageable elements using design patterns.
Moreby Christian Mächler
Almost simultaneously with the publication of our article Avoid Typical Errors in Process Models Through Design Patterns, Camunda launched Process Blueprints on their marketplace. We were promptly asked if we could make these design patterns available on the marketplace. During the preparations for this, we realized that we were not quite pursuing the same goal with the design patterns as Camunda was with the blueprints. The interesting discussion with Camunda about the differences between design patterns and blueprints finally led me to write this article. With Camunda's support, our design patterns were then converted into blueprints and published.
What do the two terms mean in the software engineering context? The research on «blueprint» did not result in an established definition. «Blueprint» just refers to a plan or design. The definition of "design pattern" is somewhat more specific (from the recommended Wikipedia article):
In software engineering, a design pattern describes a relatively small, well-defined aspect (i.e. functionality) of a computer program in terms of how to write the code.
Below are the definitions in the BPMN context, derived from the research and the exchange with Camunda.
Blueprints are reusable BPMN processes. These can be either
Ideally, the blueprint is only controlled via variables so that no customization is necessary when using it.
A design pattern shows how a specific modeling problem can be solved reliably. It is a (preferably) independent solution concept. This independence allows different design patterns to be combined with each other as desired. Examples of this would be
The main difference is the concrete BPMN process and everything associated with it. Blueprints always contain a BPMN process and can theoretically be used as black boxes (you only need to understand the inputs and outputs, but not the process itself). Design patterns, on the other hand, are on a conceptual level, have no BPMN process (at most they are used for explanation) and without a clear understanding, they are useless. The way a design pattern is used is the same for all processes, but the implementation or the resulting process can look different each time.
Blueprints can include design patterns, but design patterns cannot include blueprints.
Whether blueprint or design pattern, the most important thing is to understand the context in which they are used.
Otherwise, a design pattern can quickly degrade into an antipattern (opposite).
Learn how to break down and optimise complex processes into manageable elements using design patterns.
MoreProcess automation aims to execute business processes automatically in order to achieve an increase in efficiency, productivity and quality. We've put together a guide for you that includes seven essential steps for successful process automation.
MoreThere are numerous benefits that process automation can bring to your business. It simplifies the work process, optimizes costs, and makes results more reliable and satisfying. This article will show you the positive effects of process automation on your company.
More