Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Transaction in SOA

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?

like image 616
malai.kuangren Avatar asked Jul 26 '12 14:07

malai.kuangren


People also ask

What is SOA (service as a service)?

It defines a way to make software components reusable using the interfaces. Formally, SOA is an architectural approach in which applications make use of services available in the network. In this architecture, services are provided to form applications, through a network call over the internet.

What is Service-Oriented Architecture (SOA)?

Service-Oriented Architecture (SOA) Cloud Computing depict a broad movement towards internet and the use of WAN and enable smooth interaction between IT service providers of many types and consumers. Cloud technology brings with it a large number of key benefits and risks. These includes: Outsourcing to cloud-providers. Dependence on network.

What is SOA in Salesforce cloud?

SOA provides a translation and management layer within the cloud architecture that removes the barrier for cloud clients obtaining desired services. Multiple networking and messaging protocols can be written using SOA's client and components and can be used to communicate with each other.

What are the applications of SOA in different fields?

1 SOA infrastructure is used by many armies and air force to deploy situational awareness systems. 2 SOA is used to improve the healthcare delivery. 3 Nowadays many apps are games and they use inbuilt functions to run. ... 4 SOA helps maintain museums a virtualized storage pool for their information and content.


2 Answers

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.

like image 84
Daniel P. Bullington Avatar answered Oct 09 '22 21:10

Daniel P. Bullington


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

like image 36
Arnon Rotem-Gal-Oz Avatar answered Oct 09 '22 21:10

Arnon Rotem-Gal-Oz