Explain the common technical complexities and patterns in integration development18% of the exam

Aggregation, orchestration and choreography composition patterns

How the three composition patterns place control: aggregation fans one request out in parallel and combines the results with Scatter-Gather, orchestration puts the logic in a central controller, and choreography lets each service know its own part with no coordinator.

Official exam objective
Explain the differences between the aggregation, orchestration, and choreography composition patterns.

~6 min read · 4 practice questions ·

What the exam expects

  • Identify orchestration from a design where one central controller knows the business logic and the order of calls.
  • Identify choreography from a design where services react to one another with no central orchestrator.
  • Identify composition aggregation from a requirement to call several sources at once and return one combined result, and name Scatter-Gather as the Mule router for it.
  • Explain why the three patterns are not interchangeable: each places the business logic somewhere different.

Key terms:

  • Composition pattern: a way of combining several services into a higher-level service.
  • Orchestration: a central controller couples the services and alone knows the logic and messaging sequence.
  • Choreography: no central messaging engine; each participating service knows the logic, sequence and timing.
  • Aggregation (composition): one request fans out to several routes in parallel and the results combine into one event.
  • Scatter-Gather: the Mule router that runs routes in parallel and combines their results.

Key facts

Orchestration control
Detail
A central controller couples the services
Typical orchestrator
Detail
A central messaging engine such as an ESB
Choreography control
Detail
No central messaging engine or orchestrator
Scatter-Gather execution
Detail
Routes run in parallel, each on its own thread
Minimum routes
Detail
At least two, or the app does not start
Route failure
Detail
Router throws MULE:COMPOSITE_ROUTING and the flow branches to error handling
Choice router
Detail
Picks one of two or more routes
Sources for this section (3)
  • Why does a Scatter-Gather with only one route stop the app from starting?
  • When two Scatter-Gather routes change the same variable, what value remains?
  • Why did ESBs become the usual tool for service orchestration?
  • What does the For Each scope do with a collection?

The questions are free to read. Answers with their sources and self-grading are included with the pack.

Keep reading with the MuleSoft Integration Foundations pack

  • Core concepts
  • Exam traps
  • Worked scenario

The pack includes:

  • All 37 lessons of the MuleSoft Integration Foundations guide, with reading progress
  • Interactive decision walks and step-by-step sequence steppers
  • Practice exams purchase adds inline bank questions and topic practice (4 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Choose guide-only, practice-only, or save $4 with both

Practice for the MuleSoft Integration Foundations exam