S90-09A · Question #39
Service A is an orchestrated task service that is invoked by a separate composition initiator (1) and then sends a request message to Service C (2). Service C queries Database B to retrieve a large…
C (Data Format Transformation) and D (Data Model Transformation) are the correct answers. These two patterns must be applied in addition to the ESB compound pattern because they directly address the two explicitly stated incompatibility requirements. Data Format Transformation…
Question
Service A is an orchestrated task service that is invoked by a separate composition initiator (1) and then sends a request message to Service C (2). Service C queries Database B to retrieve a large data record (3) and provides this data in a response message that is sent back to Service A. Service A temporarily stores this data in a central state database (4) and then sends a request message to Service D (5), which accesses a legacy system API to retrieve a data value (6). Service D then sends this data value in a response message back to Service A. The data in the state database is subsequently retrieved by Service A (7) and merged with the newly received data value. This combined data is written to Database A (8), which triggers an event that results in the invocation of Service B (9). Service B is an orchestrated task service that sends a request message to Service D (10). which accesses a legacy system API to retrieve a data value (11) and then sends this data value in a response message back to Service B. Service B temporarily stores this data in a central state database (12) and then sends a request message to Service E (13), which performs a runtime calculation and then responds with the calculated data value back to Service B. The data in the state database is then retrieved by Service B (14) and merged with the calculated data value. Service B then uses the merged data to complete its business task. The following specific problems and requirements exist:
- Database B uses a proprietary data format that is not compliant with the XML format used by all
of the services in this service composition architecture This incompatibility needs to be solved in order to enable the described service message exchanges.
- The service contract provided by Service D does not comply with the data model standards that
were applied to the other services and therefore uses a different data model to represent the same type of data that is exchanged. This incompatibility needs to be solved in order to enable communication with Service D.
- Database B is a shared database that can be accessed by other services and applications
within the IT enterprise, which causes unpredictable runtime performance. This performance problem needs to be solved in order to make the runtime behavior of Service C more predictable.
- For performance and maintenance reasons, Service A and Service B need to be deployed in the
same physical environment where they can share a common state database. Upon reviewing these requirements it becomes evident to you that the Enterprise Service Bus compound pattern will need to be applied. However, there are additional requirements that need to be fulfilled. To build this service composition architecture, which patterns that is not associated with the Enterprise Service Bus compound pattern need to also be applied? (Be sure to choose only those patterns that relate directly to the requirements described above. Patterns associated with the Enterprise Service Bus compound pattern include both the required or core patterns that are part of the basic compound pattern and the optional patterns that can extend the basic compound pattern.)
Exhibit
Options
- AAtomic Service Transaction
- BCompensating Service Transaction
- CData Format Transformation
- DData Model Transformation
- EEvent-Driven Messaging
- FIntermediate Routing
- GPolicy Centralization
- HProcess Centralization
- IProtocol Bridging
- JRedundant Implementation
Explanation
C (Data Format Transformation) and D (Data Model Transformation) are the correct answers.
These two patterns must be applied in addition to the ESB compound pattern because they directly address the two explicitly stated incompatibility requirements. Data Format Transformation solves the mismatch between Database B's proprietary format and the XML standard used by all services in the composition (step 3 in the flow). Data Model Transformation resolves the non-standard data model exposed by Service D's contract, enabling interoperability with steps 5–6 and 10–11. The ESB handles the remaining stated requirements: its intermediation layer addresses the shared Database B performance issue by decoupling Service C from direct consumer contention, and the shared central state database for Services A and B is a co-location deployment concern satisfied by the ESB infrastructure itself.
Why the distractors are wrong:
- A/B (Atomic/Compensating Service Transaction): No transactional rollback or atomicity requirements are described anywhere in the scenario.
- E (Event-Driven Messaging): The Database A write triggering Service B (step 9) is an event pattern, but this is already an optional extension included within the ESB compound pattern.
- F (Intermediate Routing) / I (Protocol Bridging): Both are core ESB patterns; no additional instantiation is needed.
- G (Policy Centralization): No governance or policy enforcement requirements are mentioned.
- H (Process Centralization): Services A and B remain distinct orchestrators; co-location is a deployment decision, not a process consolidation one.
- J (Redundant Implementation): No availability or redundancy requirements are stated.
Memory tip: When you see two distinct incompatibilities - one about the shape of data (format) and one about the meaning of data (model) - you always need both C and D together. Think of them as a pair: "Format is the wrapper, Model is the meaning."
Topics
Community Discussion
No community discussion yet for this question.
