The next Enterprise Integration Pattern within my blog series covers the Message Filter pattern. It is used to remove any message that you are not interested in. So, it’s actually similar to the Content-Based Router pattern that we have described earlier. For the Message Filter pattern however, you only have one single receiver. Any incoming message is evaluated, and if it meets the routing criteria specified by the filter, the message is routed to the receiver, otherwise it is discarded.
If you like to find out more about the motivation and use cases for the patterns blog series, start with the Enterprise Integration Patterns at SAP Cloud Integration: Scatter-Gather blog. Also, check out the Integration Flow Design Guidelines for SAP Cloud Integration blog referring to integration flow design guidelines and patterns for SAP Cloud Integration that SAP has recently published on the SAP Help Portal.
Message Filter on SAP Process Orchestration
As said, the Message Filter can be modeled similarly to the Content-Based Router. So, it actually corresponds to the Content-Based Router variant where the message is ignored if the receiver can’t be determined. The only difference is that it only has one single receiver, see figure below.
Message Filter on SAP Cloud Integration
On SAP Cloud Integration, the Message Filter pattern is modeled using a router flow step with one route pointing to the actual receiver and a default route pointing to an End event. In our case, messages with the product category Notebooks are routed to the receiver. Otherwise, the messages are discarded. For a detailed description please check out the SAP Help Portal.
On the SAP API Business Hub, you find the sample integration flow within the Integration Flow Design Guidelines – Enterprise Integration Patterns package. You can test the pattern either on your SAP Cloud Integration tenant or on the cloud integration runtime of your SAP Process Orchestration 7.5 system.
Want to learn more about the other blogs published so far? Here’s the list of patterns: