CSI System-to-System Integration Patterns 3 — Questions and Answers
Question 1: Which pattern splits a large message into smaller chunks, routes them independently, and reassembles the results before delivering to the recipient?
- Content-Based Router
- Splitter-Aggregator (Correct answer)
- Dead Letter Queue
- Scatter-Gather
Correct answer: Splitter-Aggregator
The Splitter-Aggregator pattern breaks a message into parts, processes them independently, then recombines the outputs into a single response.
Question 2: An integration engineer needs to route an incoming order message to different fulfillment systems based on the product category field. Which EIP pattern applies?
- Message Filter
- Content-Based Router (Correct answer)
- Aggregator
- Claim Check
Correct answer: Content-Based Router
Content-Based Router inspects message content (such as a field value) to determine which downstream endpoint should receive it.
Question 3: What problem does the 'Claim Check' enterprise integration pattern solve?
- Authentication of message senders
- Handling large payloads by storing them externally and passing only a reference token (Correct answer)
- Retrying failed message deliveries
- Logging message metadata for auditing
Correct answer: Handling large payloads by storing them externally and passing only a reference token
Claim Check stores bulky message content in external storage and passes a lightweight token through the messaging channel, reducing channel load.
Question 4: In a choreography-based microservices integration, how do services coordinate their actions?
- A central orchestrator sends commands to each service
- Each service reacts to events and publishes its own events without a central controller (Correct answer)
- Services share a common database and poll for changes
- A human workflow engine drives the sequence
Correct answer: Each service reacts to events and publishes its own events without a central controller
Choreography relies on each service listening for events and emitting its own events, forming a decentralized coordination without a central orchestrator.
Question 5: Which protocol is commonly used for lightweight, machine-to-machine messaging in IoT system integration due to its low bandwidth overhead?
- SOAP over HTTP
- MQTT (Correct answer)
- CORBA
- SMTP
Correct answer: MQTT
MQTT is a publish-subscribe protocol designed for constrained environments, offering minimal overhead ideal for IoT device-to-platform integration.
Question 6: When two systems exchange data using a 'shared database' integration pattern, what is the primary drawback?
- Data is always stale because of replication lag
- Tight coupling makes it hard to change the schema without impacting all connected systems (Correct answer)
- The database cannot handle concurrent connections
- Security cannot be enforced at the database level
Correct answer: Tight coupling makes it hard to change the schema without impacting all connected systems
A shared database creates tight schema coupling — any schema change by one team can break other systems that depend on the same tables.
Question 7: A Saga pattern in distributed integration is primarily used to manage what?
- High-throughput message batching
- Long-running business transactions across multiple services without a global distributed lock (Correct answer)
- Schema versioning between API versions
- Load balancing across integration nodes
Correct answer: Long-running business transactions across multiple services without a global distributed lock
The Saga pattern coordinates multi-step distributed transactions by defining compensating actions for each step to handle failures without two-phase commit.
Which pattern splits a large message into smaller chunks, routes them independently, and reassembles the results before delivering to the recipient?