anonymous


{ City } bangalore
< Country > india
* Profession * webmethods analyst
User No # 111528
Total Questions Posted # 0
Total Answers Posted # 1

Total Answers Posted for My Questions # 0
Total Views for My Questions # 0

Users Marked my Answers as Correct # 13
Users Marked my Answers as Wrong # 0
Questions / { anonymous }
Questions Answers Category Views Company eMail




Answers / { anonymous }

Question { Tech Mahindra, 43106 }

Can U Explain JDBC Adapter Transaction types..?


Answer

While reading this material please do not confuse a Transaction with an Operation. A transaction might consist of multiple operations like select, insert, delete,update etc. Also multiple operations can be of two types:

A series of operations i.e operations taking place one after the other and are inter-related.
A batch of operations which takes place concurrently all together.

Description:
Some transactions involve a series of related operations, not just one single operation always. In webmethods such multiple operations are performed even using a single adapter service or a flow service or a Java service or in multiple steps in a flow service.

There is a loophole in such kind of transaction if the different operations are performed in different DB servers not in same DB server:

The webmethods makes use of multiple connections in one service itself, in this case.

If either of the operation fails in the transaction, the other operations which have been already performed in other DB servers will not be notified for roll back. This would result in incomplete transaction.

To get rid of this problem we have something called 2-Phase commit. That is whenever such multiple operations occur in multiple, distributed DB servers, they(the operations) occur in 2 phases. And also the operations are monitored by a coordinator.

The coordinator asks the data-source of the operation if it is ready to commit the operation in so called Prepare Phase.
If the operation is ready to be committed, the operation gets committed in the data-source in so called Commit Phase.

If not, then the coordinator rolls back all the previous operations from the DB servers to avoid an incomplete transaction from happening.

This concept of multiple operations in multiple, distributed DB servers in one single transaction belongs to DB not to webmethods. It's just webmethods supports such kind of transaction using so called XA_Transaction type of connection.

XA transaction stands for distributed transaction. It is also called Global Transaction.

Local transactions differ from XA_Transaction in using one single connection rather than multiple, distributed Database servers to perform a series of operations. In local transactions, it is not a big deal to commit all operations or roll back the operations together in case of a failure in any operation, as all the operations take place in one single data-source in one single DB server. So coordinator is also not required in local transactions.


No Transaction: If a connections is of type ''no connection'' then even if an operation fails,it does not matter, the other operations in the transaction will be committed. This is because such transactions have auto-commit capability only, no rolling back.

Is This Answer Correct ?    13 Yes 0 No