Hi,
How things are going on these tasks?
While you and david will go on with requirement and design I can take
care of AS7 management model for tx subsystem, going through and
cleaning it a bit.
I have also to check if mgmt model is full supporting all the JTS config
parameters. Maybe I'll ping you on this argument.
Have you already created any Jiras about these arguments I should take
over or just link? In case you haven't I'll create some to track my work.
let me know if you have any concerns
regards
S.
On 08/10/2011 02:43 PM, Jonathan Halliday wrote:
I've recently created a bunch of JIRAs for the simpler bits of
the
transaction integration work. However, there are some design issues that
need discussion before the work can be codified into JIRAs...
First up, distributed transactions. By that I mean ones involving
business logic in more that one JVM. The simpler case of 'distributed'
in the multiple resource manager sense already more or less works.
The transaction system can run in two modes - jta, which does not
support transactions spanning multiple jvms, or jts, which does.
Right now the AS decides which mode to boot depending on the presence of
an ORB, since that is used as the transport for distributed transaction
coordination. This is itself potentially a problem, since it's possible
that a user wants the ORB for non-transaction use only and does not want
to pay the performance penalty for running jts mode transactions that
never actually leave the local jvm. Even for local use the jts is
substantially slower than jta. So, you may want to consider allowing the
currently automated jta/jts choice to be overridden by the user. Another
interesting possibility is to use the module system to run two isolated
copies of the transaciton engine, one in jta and one in jts mode, then
allow applications to determine which they want and bind the JNDI
lookups accordingly. But I digress.
There is an interdependency between the ORB and the transaction system,
in that the ORB runs a set of iniializers at startup and when the jts is
enabled these must include the jts service inializers. However, the
transaction system depends on the ORB... (AS7-1494)
Assuming the user does require distributed transactions and the server
is running magically running with the jts enabled, we come to the
problem of distributed transaction boundary demarcation and context
propagation.
Whilst the transaction control traffic always runs over CORBA, the
business logic, typically EJB calls, may not. As far as I can tell
there is as yet no spec or documentation on what we intend to support
here or how tx context propagation and inflow is intended to work.
There is also the question of the extent to which we'll support tx use
by external or legacy clients, be they Java or CORBA. i.e. client to
server or server to older server, rather than between two AS7 instances.
The ClientUserTransaction proxy arrangement in the old AS pre-dated
the jts integration and never worked cleanly with it. We need to come up
with something better.
Who is handling the requirements and design for this in AS7?
Thanks
Jonathan.