8

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?

Daniel Fischer
  • 181,706
  • 17
  • 308
  • 431
malai.kuangren
  • 349
  • 4
  • 11

3 Answers3

1

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.

Plamen G
  • 4,729
  • 4
  • 33
  • 44
  • In my personally opinion, using Compensation coding manually . Sometimes It is not enough reliable for consistency. But actually We do design in this way. thanks – malai.kuangren Jul 28 '12 at 03:13
1

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

Arnon Rotem-Gal-Oz
  • 25,469
  • 3
  • 45
  • 68
0

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

Guy Pardon
  • 484
  • 2
  • 8