Reputation: 359
Is there any possibility to propagate transactions between different SOA services which are from different platforms like .NET or Java?
I know the transaction can flow in and out between WCF services which is coming from .NET. But I am not familiar with Java platform.
Now I am working in a project which communicates the services from different platform.
How can I maintain consistency in business?
Upvotes: 8
Views: 856
Reputation: 643
If your client and server SOA infrastructure (and by extension, the underlying back-end systems being accessed in the various service implementations) support WS-Transaction, then this would allow for transaction propagation.
However, I work in a huge financial services SOA middleware environment and we choose to manage transactions ourselves: using manual compensation. While more complex, not relying on any distributed transaction coordinator does give us flexibility and performance increases.
Upvotes: 1
Reputation: 494
Try this pattern: http://www.atomikos.com/Publications/TryCancelConfirm
It is related to the saga and compensation approaches and combines the best of all worlds.
Best
Upvotes: 0
Reputation: 25909
Transactions between services are bad for your SOA as they introduce a lot of coupling between services. Service boundary is a trust boundary. You are better off using Sagas and compensations as Daniel noted
Upvotes: 1