SOA and Distributed Transactions

When do distributed transactions make sense in a service-oriented architecture?

+5
source share
2 answers

Distributed transactions are used very often in SOA environments. If you have a composite service that calls multiple services, basic service calls should be handled as a single transaction. Business processes should allow the rollback of their steps. If basic resources allow this, you can use two-phase commits, but in many cases this is not possible. In these cases, compensation actions should be performed for services / resources called before the failed step. In other words, undo the following steps in reverse order.
Imaginary example: a telecommunications company claims a new VoIP product for a client with 6 service calls:

  • inventory of requests to verify that the customer has the right equipment.
  • configure client equipment through
  • update inventory with new configuration
  • CDR
  • , .
  • CRM-

6 . . , () .

+2

, . ( ) , , . .

( A, B) . ( , , ) , , . ( , ) .

+1

All Articles