05-Choosing Appropriate Message Transformation and Routing Patterns
05-Choosing Appropriate Message Transformation and Routing Patterns
Goal
n (n - 1)
⎯⎯⎯⎯⎯⎯
2
A B
C D
● Supports metadata for input and output payload, input and output
variables, output attributes
application/flatfile flatfile Flat File Format, COBOL Copybook Format, Fixed Width Format
App 1 App 4
CSV ACCT_ID
1234
App 6 App 5
5678
All contents © MuleSoft Inc. 20
The schema mapping explosion problem
N*(N - 1) mappings
App 2 App 3
Fixed Width
"4acct141234214acct21245678"
O(N²) O(N)
Pros
● Reduces #transformations
● Reusability of CDM-level validations
● Provides common language
Cons
● CDM can become very complex
● A given CDM may lack data sent or required by some applications
– CDM should be extensible and flexible
• E.g., FlexFields, anyType, etc.
● Problem
– Incorrect data sent to downstream systems may cause data-related errors
– At a minimum, this could consume unnecessary system resources
– Even worse, unexpected data errors could crash downstream applications
external
system
All contents © MuleSoft Inc. 27
Applying message
transformation, validation, and
routing patterns
Exercise 5-1: Apply message transformation and
routing patterns to a systems integration use case
● Design integration between multiple inbound and outbound
systems
● Apply enterprise integration design patterns efficiently and
effectively to meet the requirements of a specific scenario
#[vars.src == "System1"]
#[vars.src == "System2"]
#[vars.src == "System1"]
#[vars.src == "System2"]
Summary