Is it possible that one service written in java and one in .net run
under one transaction?
How it is possible?
Because both will be using WS-Automic protocol for managing services.
How transaction works in WCF?
When we say Transaction, it means more than one party will be involved in order to complete one single logical operation. In case of SOA party means service.
Normally WCF transaction follow two faces. In Phase 1 Transaction manager checks whether all services have completed their work and ready to commit. This phase is termed as prepare phase. If it’s done then in Phase 2 actual commit happens which is termed as Commit Phase.
What all things we have to do in order to achieve WCF Transaction?
- All operation contracts should be decorated with TransactionFlow attribute
- While implementing Operation Contract specify OperationBehavior attribute setting TransactionScopeRequired to true.
- Enable transaction flow for binding in Web.Config
- While invoking every service at client side use TransactionScope .
Where the transaction manager does resides, in service side or client side?
At client side
What’s the difference between Allowed and Mandatory in TransactionFlow attribute?
TransactionFlowOption.Allowed means client can call the service in transaction if he/she wants.
TransactionFlowOption.Mandatory means client must call the service in transaction.
You can also see how WCF transactions is implemented Step by Step from here http://www.codeproject.com/Articles/38793/6-Steps-to-Enable-Transactions-in-WCF
In Mumbai TCS WCF interview one of our WCF friends was asked about WCF REST. Below is a great video which discusses how to answer the WCF interview question
For live training on WCF and other Microsoft technologies including MVC, BI, WPF, Web API visit www.sukesh-Marla.com