S90-09A · Question #31
When Service A receives a message from Service Consumer A(1),the message is processed by Component A. This component first invokes Component B (2), which uses values from the message to query…
The correct answer is C. The interaction between Service Consumer A and Component A is then redesigned so that. Option C is correct because it is the only choice that proposes a comprehensive solution addressing all three problems: applying the Service Data Replication pattern so Component B queries a private local replica of Database A (eliminating wait times from shared access)…
Question
When Service A receives a message from Service Consumer A(1),the message is processed by Component A. This component first invokes Component B (2), which uses values from the message to query Database A in order to retrieve additional data. Component B then returns the additional data to Component A. Component A then invokes Component C (3), which interacts with the API of a legacy system to retrieve a new data value. Component C then returns the data value back to Component A. Next, Component A sends some of the data it has accumulated to Component D (4), which writes the data to a text file that is placed in a specific folder. Component D then waits until this file is imported into a different system via a regularly scheduled batch import. Upon completion of the import, Component D returns a success or failure code back to Component A. Component A finally sends a response to Service Consumer A (5) containing all of the data collected so far and Service Consumer A writes all of the data to Database B (6). Components A, B, C. and D belong to the Service A service architecture. Database A, the legacy system, and the file folders are shared resources within the IT enterprise. Service A is a task service that completes an entire business task on its own without having to compose other services. However, you have received many complaints about the reliability of Service A . Specifically, it has three problems. First, when Component B accesses Database A, it may not receive a response for several minutes when the database is being accessed by other applications in the IT enterprise. Secondly, the legacy system accessed by Component C frequently crashes and therefore becomes unavailable for extended periods of time. Third, for Component D to respond to Component A, it must first wait for the batch import of the files to occur. This can take several minutes during which Service Consumer A remains stateful and consumes excessive memory. What steps can be taken to address these three problems?
Exhibit
Options
- AThe Legacy Wrapper pattern can be applied so that Component B is separated to wrap the shared
- BThe Service Data Replication pattern can be applied so that Component B can access a replicated
- CThe interaction between Service Consumer A and Component A is then redesigned so that
- DThe Service Data Replication pattern can be applied so that Component B can access a replicated
- ENone of the above.
How the community answered
(31 responses)- A3% (1)
- B10% (3)
- C65% (20)
- D6% (2)
- E16% (5)
Explanation
Option C is correct because it is the only choice that proposes a comprehensive solution addressing all three problems: applying the Service Data Replication pattern so Component B queries a private local replica of Database A (eliminating wait times from shared access), applying the Legacy Wrapper pattern around the legacy system accessed by Component C to handle crashes gracefully, and redesigning the Service Consumer A interaction to be asynchronous so it does not remain stateful while waiting for Component D's batch import to complete.
Option A is wrong because it applies the Legacy Wrapper to Component B, which accesses a database - not a legacy system; the Legacy Wrapper should be applied to Component C's integration point instead. Option B is wrong because Service Data Replication alone only addresses problem 1 (the slow database); it ignores the crashing legacy system and the stateful consumer memory problem. Option D, while similar to B, also fails to address all three problems together - particularly the async redesign needed to eliminate Service Consumer A's stateful wait. Option E is incorrect because a valid, complete solution does exist.
Memory tip: Think "RWA" - Replicate the shared database, Wrap the legacy system, make the consumer Asynchronous - one letter per problem, in order.
Topics
Community Discussion
No community discussion yet for this question.
