S90-09A · Question #9
Service A is a task service that sends Service B a message (2) requesting that Service B return data back to Service A in a response message (3). Depending on the response received. Service A may be…
The correct answer is B. The Protocol Bridging pattern can be applied by establishing an intermediate processing layer. Option B is correct because this scenario requires combining the Protocol Bridging pattern (to resolve the SOAP 1.1/1.2 incompatibility between Service A and Service B via an intermediary layer) with an Asynchronous Queued Messaging approach to prevent Service A from holding…
Question
Service A is a task service that sends Service B a message (2) requesting that Service B return data back to Service A in a response message (3). Depending on the response received. Service A may be required to send a message to Service C (4) for which it requires no response. Before it contacts Service B, Service A must first retrieve a list of code values from its own database (1) and then place this data into its own memory. If it turns out that it must send a message to Service C, then Service A must combine the data it receives from Service B with the data from the code value list in order to create the message it sends to Service C. If Service A is not required to invoke Service C, it can complete its task by discarding the code values. Service A and Service C reside in Service Inventory A. Service B resides in Service Inventory B. You are told that the services in Service Inventory A are all SOAP-based Web services designed to exchange SOAP 1.1 messages and the services in Service Inventory B are SOAP-based Web services designed to exchange SOAP 1.2 messages. Therefore, Service A and Service B cannot currently communicate. Furthermore, you are told that Service B needs to access a shared database in order to retrieve the data required by Service A. The response time of the database can sometimes be lengthy, which would cause Service A to consume too much resources while it is waiting and keeping the code values in memory. How can this service composition architecture be changed to avoid these problems?
Exhibit
Options
- AThe Protocol Bridging pattern can be applied by establishing an intermediate processing layer
- BThe Protocol Bridging pattern can be applied by establishing an intermediate processing layer
- CThe Protocol Bridging pattern can be applied by establishing an intermediate processing layer
- DNone of the above.
How the community answered
(20 responses)- A5% (1)
- B65% (13)
- C20% (4)
- D10% (2)
Explanation
Option B is correct because this scenario requires combining the Protocol Bridging pattern (to resolve the SOAP 1.1/1.2 incompatibility between Service A and Service B via an intermediary layer) with an Asynchronous Queued Messaging approach to prevent Service A from holding code values in memory while waiting on Service B's slow database - the full solution addresses both problems simultaneously. In the original source question (from Thomas Erl's SOA materials), options A and C likely describe incomplete solutions - for example, applying only Protocol Bridging without addressing the latency/resource issue, or addressing only the queue without bridging the protocol gap - making them insufficient on their own. As presented here, all three options appear identically worded, which suggests a copy/paste truncation of the original choices; in the real exam, B's description includes both patterns working together. The key insight is that a single-pattern fix fails: you need the protocol bridge and a mechanism (async queuing) to release Service A from holding state while waiting.
Memory tip: Think "two problems → two patterns." Protocol mismatch = Bridge it. Long wait + memory held = Queue it. If an answer only mentions one fix for a two-problem scenario, it's a distractor.
Topics
Community Discussion
No community discussion yet for this question.
