priceline
priceline

Reputation: 91

Transaction handling multi-tier application

Is there a possibility having transactions across multiple systems?

For exeample:

layer 1 - exposes web services (Deployed to weblogic) layer 2 - .NET front end (Deployed to IIS)

Can we have transaction commit or rollback for multiple web service calls initiated from .NET?

If so, can someone point me any resource or document? And is there any special requirement for each of the layer comply to participate in transactions?

Upvotes: 7

Views: 470

Answers (3)

nsfyn55
nsfyn55

Reputation: 15363

Its definitely possible, but could prove to be harrier than you'd think. You need control to modify the execution environment of those web services to augment them such that they can consume the WS-AT headers. In addition as with any distributed transaction environment you probably will incur a performance increase because of the substantial administrative overhead.

SOA-WORLD had some great articles that explain Web Service transactions and all the related OASIS standards. Here is the one on WS-Coordination if I can find the rest I'll add them.

Upvotes: 0

Godeke
Godeke

Reputation: 16281

casperOne's mention of TransactionScope is an excellent solution if it is available in your scenario. I have fallen in love with the simplicity and power it brings to the table.

However, I note that you have a Java tag and mention Weblogic as the web service tier, so the TransactionScopeRequired property would have to be implemented via WS-AT (Web Services Atomic Transaction) or a similar transcriptional protocol.

See here: http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/cjta_wstran.html

Upvotes: 0

casperOne
casperOne

Reputation: 74530

Yes, it is possible. WCF allows for the consumption of web services that utilize the WS-Atomic Transaction standard, assuming you have System.Transactions.TransactionScope available in your .NET client (Silverlight, for example, does not have this).

There is an excellent example on CodeProject that shows both how to produce and consume transaction web services in .NET using TransactionScope.

Upvotes: 1

Related Questions