-
1. Re: Transaction Bridging (JIRA: JBTM-44)
marklittle Jun 1, 2006 11:02 AM (in response to paul.robinson)Hmmm, you mean XAResource doesn't have prepare, commit or rollback operations? I'm sure it did last time I looked.
Plus, open-top and closed-top are BTP terms. -
2. Re: Transaction Bridging (JIRA: JBTM-44)
paul.robinson Jun 1, 2006 12:04 PM (in response to paul.robinson)I think I need to re-phrase my question.
The main question:
1) What is "Transactional bridging". I think (and hope) that it allows you to update transactional resources such as entity beans, queues and databases, within a Web service and if that web service is called within a WS-TX transaction, those resources will be transparently enlisted in that transaction.
The secondary issue:
2) I originally thought about wrapping an XA resource with a Durable2PCParticipant, to achieve bridging between a WS-TX transaction and an XA resource. However, I don't think you will *always* be able to obtain an XA resource. For example, what about if you where doing work on an entity bean?
My other thought was that I could undertake the work within the scope of a new UserTransaction. But this interface only allows me to initiate the termination protocol, which would be un-satisfactory. I used the term "Closed top" because the UserTransaction doesn't give you control over each phase of the termination protocol. I didn't realise this was a term only used in BTP.
I hope this clarifies things,
Paul. -
3. Re: Transaction Bridging (JIRA: JBTM-44)
marklittle Jun 1, 2006 2:32 PM (in response to paul.robinson)"n9086822" wrote:
I think I need to re-phrase my question.
The main question:
1) What is "Transactional bridging". I think (and hope) that it allows you to update transactional resources such as entity beans, queues and databases, within a Web service and if that web service is called within a WS-TX transaction, those resources will be transparently enlisted in that transaction.
Yes. Another term for it is end-to-end transactions.
The secondary issue:
2) I originally thought about wrapping an XA resource with a Durable2PCParticipant, to achieve bridging between a WS-TX transaction and an XA resource. However, I don't think you will *always* be able to obtain an XA resource. For example, what about if you where doing work on an entity bean?
Obviously if *you* can't get a 2PC resource (XAResource is just a particular type of 2PC resource) and wrap it, then you're in trouble. Even end-to-end transactions will only take things so far: as some point you will find applications where you will need to have control over what gets registered with the transaction.
My other thought was that I could undertake the work within the scope of a new UserTransaction. But this interface only allows me to initiate the termination protocol, which would be un-satisfactory. I used the term "Closed top" because the UserTransaction doesn't give you control over each phase of the termination protocol. I didn't realise this was a term only used in BTP.
You should not have access over the termination protocol like this. You should read this paper (http://www-128.ibm.com/developerworks/webservices/library/ws-comproto/) to understand why.