[jboss-dev-forums] [Design of JBoss Remoting, Unified Invokers] - Re: R3 transports to implement

ron.sigal@jboss.com do-not-reply at jboss.com
Tue Jul 29 00:28:40 EDT 2008


"david.lloyd at jboss.com" wrote : 
  |   "david.lloyd at jboss.com" wrote : 
  |   |     "trustin" wrote : 
  |   |   |       We can run both R2 and R3 at the same time in the microkernel, so R2 users should be able to keep using R2 services or upgrade to R3.
  |   |   |     
  |   |     This is true; however then we will have not only both versions running, but all services will have to have an R2 and R3 version. This might be difficult to do in some cases where the Remoting implementation is tied to the service (like the UnifiedInvoker for example).
  |   |   
  | 
  | Not that I want to rule this out mind you. I'm just expressing that this difficulty does exist.
  | 

For an EJB3 in AS 5 to be accessible from both AS 4.2 and AS 5, then 

1a. either, as David says, there would have to be two EJB3 implementations running on the server, or

1b. we would have to turn org.jboss.aspects.remoting.AOPRemotingInvocationHandler into a bean that could be shared by both Remoting 2 and Remoting 3, 

and

2a. either EJB3 would have to create two separate proxies, or

2b. org.jboss.aspects.remoting.InvokeRemoteInterceptor would have to be able to talk to both Remoting 2 and Remoting 3, which means

2ba. either it would have to probe its environment to determine which version of Remoting is available (could be a System property), or

2bb. we would have to provide a Remoting 2 facade for Remoting 3 so that InvokeRemoteInterceptor doesn't need to know which version of Remoting is running.

As for 1, would having two implementations of the same SFSB running simultaneously cause a problem?  2a seems distasteful.  As for 2ba versus 2bb, that's a separate issue.  Having a Remoting 2 facade would be *nice*, but maybe not urgent.

For me, the overriding consideration is that all of these changes, while seemingly doable, amount to spreading all over the Application Server something that should be handled discreetly in Remoting.  

1a+2a is particularly egregious in this respect.  I think we could live with 1b+2ba, since org.jboss.aspects.remoting is part of the integration of Remoting into the Application Server.  I would say that 

1. 1b+2ba should be our minimal goal, and

2. hiding everything inside Remoting proper is preferable, since it better serves standalone users.

The latter seems to imply a "socket" transport in Remoting 3.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4167208#4167208

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4167208



More information about the jboss-dev-forums mailing list