nerdexam
SOA

S90-09A · Question #36

Service Consumer A sends a message with a business document to Service A (1), which writes the business document to Database A (2). Service A then forwards the business document to Service B (3)…

The correct answer is A. The Legacy Wrapper pattern can be applied so that data access to Database B is separated into a. Option A correctly addresses both problems by applying the Legacy Wrapper pattern to Database B, which centralizes the XML-to-CSV transformation logic into a single wrapper service - eliminating the redundant transformation code maintained separately by Service Consumer A and…

Advanced Service Design and Patterns

Question

Service Consumer A sends a message with a business document to Service A (1), which writes the business document to Database A (2). Service A then forwards the business document to Service B (3), which writes the business document to Database B (4). Service B then responds to Service A with a message containing a failure or success code (5) after which Service A responds to Service Consumer A with a message containing a failure or success code (6). Upon receiving the message, Service Consumer A updates a log table in Database B (7). The log entry is comprised of the entire business document. Database A is dedicated to the Service A service architecture and Database B is a shared database. There are two problems with this service composition architecture that you are asked to address:

First, both Service Consumer A and Service B need to transform the business document data from an XML format to a proprietary Comma Separated Value (CSV) in order to write the data to Database B. This has led to redundant data format transformation logic that has been difficult to keep in synch when Database B changes. Secondly, Service A is an entity service that is being reused by several other service compositions. It has lately developed reliability problems that have caused the service to become unavailable for extended periods. What steps can be taken to solve these problems?

Exhibit

S90-09A question #36 exhibit

Options

  • AThe Legacy Wrapper pattern can be applied so that data access to Database B is separated into a
  • BThe Legacy Wrapper pattern can be applied so that data access to Database B is separated into a
  • CThe service composition can be redesigned with the application of the Contract Centralization
  • DNone of the above.

How the community answered

(50 responses)
  • A
    48% (24)
  • B
    18% (9)
  • C
    26% (13)
  • D
    8% (4)

Explanation

Option A correctly addresses both problems by applying the Legacy Wrapper pattern to Database B, which centralizes the XML-to-CSV transformation logic into a single wrapper service - eliminating the redundant transformation code maintained separately by Service Consumer A and Service B, and ensuring Database B schema changes only need to be handled in one place. For Service A's reliability issues, Option A also correctly prescribes the Redundant Implementation pattern (or similar availability pattern), deploying multiple service instances so that if one becomes unavailable, others can continue serving the reusing service compositions.

Option B appears textually identical in the visible portion but differs in the cut-off section - likely it misapplies one of the patterns (e.g., applying the Legacy Wrapper to the wrong layer, or recommending an inappropriate reliability solution), making it a subtle distractor. Option C's Contract Centralization pattern consolidates service contracts under a central broker, which addresses governance and coupling concerns - not data format redundancy or service availability - so it doesn't solve either stated problem. Option D is wrong because a valid solution clearly exists.

Memory tip: Match each problem to its pattern - "Wrap the shared database to DRY up transforms; Replicate the unreliable service to stay alive." Legacy Wrapper = one transformation point for shared resources; Redundant Implementation = resilience for heavily reused services.

Topics

#Legacy Wrapper pattern#database abstraction#service composition#Contract Centralization

Community Discussion

No community discussion yet for this question.

Full S90-09A Practice