CSI System-to-System Integration Patterns 2 — Questions and Answers
Question 1: Which integration pattern is best suited when a source system must trigger actions in multiple downstream systems simultaneously without waiting for responses?
- Request-Reply
- Publish-Subscribe (Correct answer)
- Polling
- File Transfer
Correct answer: Publish-Subscribe
Publish-Subscribe decouples the sender from receivers, allowing one event to fan out to multiple subscribers simultaneously.
Question 2: In an ESB-based integration architecture, what is the primary responsibility of the message broker?
- Storing business data permanently
- Routing, transforming, and mediating messages between systems (Correct answer)
- Generating UI components for connected applications
- Managing user authentication across integrated systems
Correct answer: Routing, transforming, and mediating messages between systems
An ESB message broker handles routing logic, protocol mediation, and message transformation between heterogeneous systems.
Question 3: A company integrates two systems using canonical data model (CDM). What is the main benefit of this approach?
- It eliminates the need for any data transformation
- It reduces point-to-point mappings by using a shared neutral format (Correct answer)
- It forces all systems to use identical databases
- It replaces the need for an integration middleware
Correct answer: It reduces point-to-point mappings by using a shared neutral format
A CDM provides a neutral data format so each system maps only to/from the canonical model rather than to every other system directly.
Question 4: Which pattern uses a database table or queue to temporarily store messages so that the sender and receiver do not need to be available at the same time?
- Synchronous RPC
- Store-and-Forward (Correct answer)
- Direct Socket Connection
- Polling Loop
Correct answer: Store-and-Forward
Store-and-Forward decouples temporal availability by persisting messages until the receiver is ready to process them.
Question 5: When integrating a legacy COBOL mainframe with a modern REST API, which integration approach is most commonly used to avoid rewriting the legacy system?
- Replacing the mainframe with microservices
- Wrapping the legacy system with an adapter or facade (Correct answer)
- Recompiling COBOL code to Java
- Using only batch file transfers
Correct answer: Wrapping the legacy system with an adapter or facade
An adapter or facade exposes legacy functionality through a modern interface without requiring internal changes to the legacy system.
Question 6: In event-driven integration, what does 'event sourcing' refer to?
- Pulling events from a source system on a schedule
- Storing state changes as an immutable sequence of events rather than current state only (Correct answer)
- Using HTTP webhooks to push events
- Configuring event rules in a GUI tool
Correct answer: Storing state changes as an immutable sequence of events rather than current state only
Event sourcing captures every state change as an event record, enabling full audit trails and state reconstruction from event history.
Question 7: Which integration challenge does idempotency address in system-to-system communication?
- Ensuring messages arrive in order
- Preventing duplicate processing when a message is delivered more than once (Correct answer)
- Encrypting messages in transit
- Compressing large payloads for faster delivery
Correct answer: Preventing duplicate processing when a message is delivered more than once
Idempotency ensures that processing the same message multiple times produces the same result, protecting against duplicate delivery side effects.
Which integration pattern is best suited when a source system must trigger actions in multiple downstream systems simultaneously without waiting for responses?