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 i
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.
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
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