S90-09A · Question #32
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 B. The Legacy Wrapper pattern can be applied so that Component B is separated into a separate. Option B correctly identifies the appropriate SOA design patterns applied to the right components: the Legacy Wrapper pattern belongs to Component C (which wraps the legacy system API), a Data Access utility service applies to Component B (which queries Database A), and a…
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 te>X 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 an entity service with a service architecture that has grown over the past few years. As a result of a service inventory-wide redesign project, you are asked to revisit the Service A service architecture in order to separate the logic provided by Components B, C, and D into three different utility services without disrupting the behavior of Service A as it relates to Service Consumer A . What steps can be taken to fulfill these requirements?
Exhibit
Options
- AThe Legacy Wrapper pattern can be applied so that Component B is separated into a separate
- BThe Legacy Wrapper pattern can be applied so that Component B is separated into a separate
- CThe Legacy Wrapper pattern can be applied so that Component B is separated into a separate
- DNone of the above.
How the community answered
(17 responses)- A12% (2)
- B65% (11)
- C6% (1)
- D18% (3)
Explanation
Option B correctly identifies the appropriate SOA design patterns applied to the right components: the Legacy Wrapper pattern belongs to Component C (which wraps the legacy system API), a Data Access utility service applies to Component B (which queries Database A), and a dedicated utility service with batch-aware behavior handles Component D's file-drop-and-wait logic - all without changing Service A's external contract with Service Consumer A.
Option A is incorrect because it likely misassigns the Legacy Wrapper pattern to Component B (a database accessor, not a legacy system wrapper), conflating data access logic with legacy integration - these require distinct patterns.
Option C is wrong because it likely omits a necessary step or misorders the pattern applications, failing to fully isolate all three components into independent, reusable utility services.
Option D is incorrect because a valid redesign clearly does exist: the scenario is a textbook application of utility service extraction using established SOA patterns.
Memory tip: Match the pattern to the resource type - Legacy Wrapper = old system APIs, Data Service = database reads, Agnostic utility = file/batch I/O. If Component C touches a "legacy system," the Legacy Wrapper goes there, not on Component B.
Topics
Community Discussion
No community discussion yet for this question.
