S90-09A · Question #33
Service Consumer A sends Service A a message containing a business document (1). The business document is received by Component A, which keeps the business document in memory and forwards a copy to…
The correct answer is A. Additionally, Database B is being replaced with a different database product that supports a. Option A is correct because it directly addresses the root-cause infrastructure problem - replacing Database B with a product better suited to the workload resolves the performance bottleneck without conflicting with the architecture's synchronous request-response requirement…
Question
Service Consumer A sends Service A a message containing a business document (1). The business document is received by Component A, which keeps the business document in memory and forwards a copy to Component B (3). Component B first writes portions of the business document to Database A (4). Component B writes the entire business document to Database B and then uses some of the data values from the business document as query parameters to retrieve new data from Database B (5). Next, Component B returns the new data back to Component A (6), which merges it together with the original business document it has been keeping in memory and then writes the combined data to Database C (7). The Service A service capability invoked by Service Consumer A requires a synchronous request-response data exchange. Therefore, based on the outcome of the last database update, Service A returns a message with a success or failure code back to Service Consumer A (8). Databases A and B are shared and Database C is dedicated to the Service A service architecture. There are several problems with this architecture: First, the response time of Database A is often poor, resulting in Component B taking too much time to provide a response to Component A. This results in Component A consuming too many runtime resources while it holds the business document in memory and it also causes unreasonable delays in responding to Service Consumer
Options
- AAdditionally, Database B is being replaced with a different database product that supports a
- BThe State Repository pattern is applied so that Component A can defer the business document
- CThe State Repository pattern is applied so that Component A can defer the business document
- DThe Legacy Wrapper pattern is applied so that Database B is wrapped in a standardized contract.
- ENone of the above.
How the community answered
(24 responses)- A63% (15)
- B21% (5)
- C8% (2)
- D4% (1)
- E4% (1)
Explanation
Option A is correct because it directly addresses the root-cause infrastructure problem - replacing Database B with a product better suited to the workload resolves the performance bottleneck without conflicting with the architecture's synchronous request-response requirement, which is a hard constraint Service Consumer A imposes on Service A.
Options B and C both describe the State Repository pattern, which would allow Component A to externalize the in-memory business document, but this pattern introduces asynchronous/deferred behavior that fundamentally conflicts with the synchronous request-response exchange mandated by the service capability - applying it here would break the contract with Service Consumer A, not fix the problem.
Option D (Legacy Wrapper) wraps Database B behind a standardized interface, but this is an abstraction/interoperability pattern; it does nothing to improve Database A's poor response times or Component A's excessive memory consumption, which are throughput and latency problems, not interface problems.
Option E fails because a valid solution does exist.
Memory tip: When a question pairs a synchronous exchange requirement with a pattern that introduces deferred or asynchronous state handling (like State Repository), treat that as an automatic disqualifier - synchronous contracts require a path to completion without deferral.
Topics
Community Discussion
No community discussion yet for this question.