Hi,
I've been following this thread for the past couple of days and wanted to
suggest the following. There seems to be a discussion about the need of
DTM implementation for JBoss. Well, I've ran into this lack of DTM support
with my experiments with PetStore (see my post about Distributed
Transactions). So, I went and looked into it a bit more.
Here is what my be a reasonable alternative to implementing a DTM from
scratch: at least for the short term we can do a very simple thing --
piggyback ourselves on Tyger -- DTM from exolab.org. It is well-tested and
close to 1.0 release. Since it conforms to JTA and other necessary specs,
it should be easy to integrate it into JBoss as an MBean. As Ole Husgaard
wrote in a reply to me, it is a matter of implementing a few classes and
cleaning up interceptor code from using JBossTM-specific calls.
I have not yet looked into Tyger's source code and how it is tied to other
things. Perhaps, those who are interested may poke around it as well and
see how would it fit into the overall scheme.
Anatoly Akkerman
On Thu, 8 Mar 2001, Tom Cook wrote:
> Cool. I haven't really the first idea where to start on it, but I do have
> time now, so I'll start looking into DTMs.. anyone else out there looking?
>
> Tom
>
> On Wed, 7 Mar 2001, marc fleury wrote:
>
> > Ok, time to be more precise...
> >
> > Assume a client talking directly to the bean, and load balance SSB. When
> > THAT is done we will get B2B calls that need DTM. XP methodology. Don't
> > stop.
> >
> > We know all that :) YES trivially if you deploy to n nodes, and you do
> > nothing about "keep beans of an app in one node" and you do B2B, then you
> > need a DTM.
> >
> > In clear I specifically want to avoid what mr cook is talking about. 10k
> > feet "approach" talk. We need this and that oh but first bla bla.. XP!
> >
> > If DTM is your thing then please work on it since we will need it at the
> > end. But in terms of approach I want to think of SSB direct clustering :)
> >
> >
> > marc
> >
> > |-----Original Message-----
> > |From: [EMAIL PROTECTED]
> > |[mailto:[EMAIL PROTECTED]]On Behalf Of Jeremy Boynes
> > |Sent: Wednesday, March 07, 2001 1:35 AM
> > |To: [EMAIL PROTECTED]
> > |Subject: RE: [jBoss-Dev] CL: Clustering, let's get started
> > |
> > |
> > |Tom's question was really about approach rather than solutions and you did
> > |ask for views... You might choose a "simple" scenario such as pure SSBs
> > |first, but I tend to agree with Tom that you should consider the core
> > |building blocks (e.g. DTM, cluster membership, resource location, state
> > |replication, and many more) whilst doing so as in reality none of the
> > |scenarios are actually that simple.
> > |
> > |
> > |As for applicability of a DTM, one of the goals of a cluster is location
> > |transparency (at least to the application). So consider a cluster with two
> > |nodes, 1 & 2, and two SSBs A & B; SSB A calls a method on SSB B; SSB A is
> > |deployed to node 1, SSB B to node 2.
> > |
> > |So if a client invokes SSB A, it is directed by availability to node 1. SSB
> > |A calls SSB B and is directed by availability to node 2. You now have more
> > |than one node involved which requires a distributed transaction.
> > |
> > |Now make it more complex, deploy SSB A on both node 1 and node 2 so the
> > |client could be load balanced to either node. If it goes to node 1 then you
> > |have a distributed transaction as above whereas if it is directed to node 2
> > |then the transaction is local to node 2.
> > |
> > |Take it further and deploy both beans on both nodes. The client can get
> > |load-balanced to either node; in theory so could the inter-bean
> > |call but due
> > |to the overhead of a remote call + DTM you would prefer it was directed to
> > |the local machine.
> > |
> > |However, suppose SSB B becomes temporarily unavailable on one node for some
> > |reason; availability would require that the inter-bean call is now directed
> > |to the surviving node. The determination of which node will service the
> > |request is dynamic, based on availability, and as a result so is the
> > |determination of whether the transaction is local or distributed.
> > |
> > |If you plan to support scenarios beyond the most basic, you *will* need a
> > |DTM so design it in early.
> > |
> > |Jeremy
> > |
> > |-----Original Message-----
> > |From: [EMAIL PROTECTED]
> > |[mailto:[EMAIL PROTECTED]]On Behalf Of marc fleury
> > |Sent: Tuesday, March 06, 2001 7:18 PM
> > |To: JBoss-Dev
> > |Subject: RE: [jBoss-Dev] CL: Clustering, let's get started
> > |
> > |
> > |what does a dtm have to do with Stateless session bean load balancing and
> > |high availability....
> > |
> > |?
> > |
> > |marc
> > |
> > |
> >
> >
> >
>
> --
> "If you mess with something for long enough it will break." - Schmidt
>
>
>