Whoops, forgot to send this too.

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of David
> Jencks
> Sent: Friday, February 21, 2003 5:02 PM
> To: [EMAIL PROTECTED]
> Subject: RE: [JBoss-dev] TxInterceptor split is really really bad
>
>
> I'm getting kind of tired of what I find vague complaints without detailed
> explanations of the framework in which you think there might be a problem.
>

I don't think I was vague.  I gave a specific example.  The same object
could be accessed locally and remotely.  Locally through a regular/plain
Java reference.  Remotely, through a proxy.  Because of the way you have
defined the TM interaction, the "server"-side tx interceptor for AOP will
have to know if the invocation passed through a Proxy since the object
instance can be referenced directly locally.

> I think remote AOP is going to need;
>
> 1. some representation of the object you are calling
>
> 2. client interceptors.  For instance,  to get the security context.
>
> 3. a transport mechanism
>
> 4. something on the other end of the transport mechanism to find the right
> target
>
> 5. server side interceptors
>

Stop being obvious.

> If you disagree please explain in detail what you propose.  Personally I
> think the AOP stuff should do this always, with a possible  "null"
> transport mechanism, at least for "remotable" objects.
>

Definately no "null" transport.  This would require a proxy.  This goes
against the primary goal of the framework, to provide J2EE services and
remoteness for plain Java objects/classes transparently.  So a programmer
could say, I have this ordinary Object, I want it accessible as a WebService
and yet still access the object locally.

For 1st iteration, I intend to require that POJOs can only be remotely
accessed via a DynamicProxy.  I think this is relatively trivial to
implement and will allow us to get an AOP remoting framework out there
pretty quickly.

2nd iteration, I want to remove this DynamicProxy requirement, but IMHO,
this requires much more thought.



> If you agree, then I hope you will agree that there has to be
> some metadata
> on the client side to define the client interceptors and the transport.
>
> If there is some place to put metadata, why can't I use it for the tx
> support?
>

Again, it has nothing to do about metadata and all about keeping the
"server" isolated from client quirkiness.  I just think your tx separation
is fragile in this respect.

>
> I would like to note that my future plans for this involve method specific
> interceptor chains with a variety of "client side" and "server side" tx
> interceptors, each one performing half of the TxSupport work.  No maps,
> just different specialized interceptors, with different interceptors per
> method depending on the tx support.
>
> I also think you will admit that even in aop you could have two
> interceptors even if both were on the server side: one to get the tx from
> the context if appropriate or remove it if appropriate, one to start a new
> tx if appropriate.
>

But if there is a remote proxy in between, the "client" stuff happens twice
unless I specifically check to see if there was a proxy in front of the
client.

BIll




-------------------------------------------------------
This SF.net email is sponsored by: SlickEdit Inc. Develop an edge.
The most comprehensive and flexible code editor you can use.
Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial.
www.slickedit.com/sourceforge
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to