This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
How do you design a consumer which calls 2 web services from different sources and then combine results from them to give a final result.
The question is that the consumer is responsible for transaction scope. So if one of the service call fails then the other service call should be reverted.
Any help will be appreciated
The pattern is called compensating transaction, I believe.
Briefly, it means that if service A makes some operation B available, then it should also make an operation C available that is able to revert the effect of invoking operation B.
This way, a client of service A can call operation B and, if things fail when invoking some other operation on the same or another service, operation C to restore the state in service A as it was before the operation B was called.