A small augmentation/clarification:
First, Jonas probably means using Proxies for EJB invocations (even local
ones) which Orion does do but instead (as he said) it used "dedicated" stubs
which are faster (auto-compiled and cached in the EJB-jar deployment
directory). For RMI Orion has used the "proxy" pattern for a very long time
though as Karl said (roughly since the early 1.3 alphas were released). At
first the RMI was 1.3-only due to this but Orion now uses it's own proxy
factory both in 1.2 and 1.3+ due to the fact that we found better speed and
simplicity that way (again, only for RMI access, not for the EJB stubs).
/Magnus Stenman, the Orion team
> > The ejboss container uses the new dynamic proxy feature in jdk1.3
> > (java.lang.reflect.Proxy etc) which I don't belive can be as fast as
> > precompiled stubs because of the code overhead in the invocationhandler.
The
> > design and implementation with dynamic proxy is tough much simpler to
> > implement. This might be the reason of the performance difference
between
> > ejboss and orion. (Orion team: Deny if I'm wrong!)
>
> Actually, if JDK 1.3 is installed, we use dynamic proxies aswell, since
it's a
> very nice design. We even used this before they did. Are you sure they use
it in
> 1.0? I thought it was introduced in the 2.0 alphas?
>
> If you are using 1.2 we obviously can't use the dynamic proxies, but use
an
> approach where we compile the stubs on demand, transparently to the user.
>
> So that is not the reason, however, we've worked very hard to design
everything
> in the server to perform and scale very well.
>
> I am sorry for not being able to produce any benchmarks test numbers right
now.
> We don't want to publish results that we haven't veified since benchmarks
is
> such a touchy subject. But we do intend to publish benchmarks, althogh
it's not
> at the top of our priortity list right now.
>
> Regards,
> Karl Avedal
>