Hi!

> here are some comments on support for distrubuted TX in JBoss.
>
> Marc asked for a scenario showing the need for distributed TX so I made
one
> up:

I think you misunderstood him. We know perfectly well when distributed TX's
are needed. We are just saying that since we are now prioritizing heavily
this is not a top priority (if we suddenly saw lots of people saying "waah,
I want distributed Tx's NOW!" that would be a different story. But currently
this is not the case).

> Though I haven't read the EJB2.0 spec in detail I think that it mandates
> IIOP-support. As for propagating TX contexts the CORBA OTS uses a featute
> called Service Context Lists (ctx id - bytearray mappnings). I know that
> both Inprise Application Server and IONA:s iPortal Application Server uses
> the CORBA OTS for distributed TX.

The IIOP support in EJB 2.0 does not mandate distributed tx's. And having
talked in person to da man last week (Mark Hapner) I can tell you that not
even he sees that as a big priority: application integration is going to
happen through XML/HTTP, not IIOP. And I and Marc agree with that
conclusion.

> If you add IIOP support you could send TX-context around multiple vendor
> EJB-servers, e.g. As for creating TX context:s you could plug in an OTS
> implemention and get a TX from its TX-factory (possibly running on another
> host and possibly written in another language than Java).

Not by only going with the EJB-spec, no. (since tx-propagation is not
mandatory/well-defined).

> To conclude:
> I agree that in-process transactions are much faster than distributed
> transactions and that most systems won't need distributed TX. However this
> does not rule out the need for distributed TX (as outlined in the scenario
> above - and I have stepped across this problem in real life making calls
> from an EJB server to a CORBA Server that was updating another database).
>
> I'm also aware of the fact that 2-PC really isn't totally secure (e.g.
after
> collecting the votes the TX and issuing commit orders the
> coordinator/manager would not see if all commits actually succeded or
not).

A real 2-phase commit system doesn't care if all commits actually worked,
since the re-start facility of the 2-phase commit resource that crashed
should take care of that.

> I guess that the bottom line is that I think that IIOP-support is more
> important than support for distributed TX and that distributed TX could
> (should) be implemented over IIOP/CORBA OTS:-)

Why is IIOP-support important? Do you have C or COBOL clients that you want
to communicate with jBoss?

/Rickard



Reply via email to