IIOP seems to me to be more trouble than it's worth at this time.  First of
all, jBoss uses garden-variety Java RMI as its current transport layer.  In
order to use COS transactions effectively, we'd have to rework the jBoss RMI
to use RMI over IIOP, which is major.  Of course, we get the benefit of
interoperability, but I'd say that's best deferred to when jBoss goes EJB 2.0.

For now, I think we can simply implement distributed Tx over Java RMI using
transaction contexts passed along with the remote method invocation data.  Tx
Managers running on various jBoss VM's could coordinate 2-phase commits using
RMI as the transport.  An existing (but clunky, difficult-to-use, and
non-standards-compliant) open source EJB container called JoNaS uses a method
like this already, and the code doesn't look too bad.

Rob Castaneda wrote:

> Go IIOP  :-)
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Per Bockman
> Sent: Friday, October 06, 2000 3:53 AM
> To: 'jBoss Developer'
> Subject: RE: [jBoss-Dev] TODOS for FINAL
>
> > > However to move to the original problem: How do we allow
> > > transaction to executed between different EJB-servers (and
> > possible other
> > > "servers"/resources).
> >
> > By using an API that can be used to pass tx contexts. The API can
> > defined what the context should look like (maybe implementation, maybe
> > just interface) and some way to pass it to the underlying protocol
> > handler.
>
> When it reaches the protocol it must be transmitted in a standarised way
> (e.g. in in a CORBA/IIOP service context) if you like to connect different
> implementations. But if interoperability isn't a goal this is not an
> issue;-)
>
> > > Numbers please, i.e. is IIOP even 25% slower than JRMP or
> > is it 10+ times
> > > slower (as SOAP)? If you don't give some rough numbers I'll
> > set up a simple
> > > test (I've been busy programming PowerPoint lately).
> >
> > I don't have numbers, and this is hearsay (i.e. the CORBA
> > people I have
> > talked to mention numbers that are higher than what the
> > equivalent JRMP
> > numbers would be). Oh, btw, yes I know there was one guy that tested
> > different ORB's and compared with JRMP. JRMP was about half compared
> > with the best ORB if I remember correctly (i.e. 3ms/call on JRMP,
> > 6ms/call with IIOP). Might be outdated though. Again, if you do some
> > testing that'd be cool ("HelloWorld" + complex data passing would be
> > relevant I think).
>
> I'm putting together a performance test framework with some standard test
> implementations. I wrote a Java interface (see below) for which I
> implemented test clients (and servers...) using Appache-SOAP, JavaIDL and
> JBoss (beta prod 2) and I ran everything locally under JDK1.3 on WinNT4.
> public interface...
> public void basicTest(short s, double d, String str) throws Exception;
> public void blobTest(Blob b) throws Exception;
> public void fooTest() throws Exception;
> public void byteArrayTest(byte[] data) throws Exception;
>
> I was very surprised to find that the SUN CORBA ORB-implementation was the
> winner:
> Roundtrip times:
> SOAP-Apache:    ~30 msecs
> JBoss/JRMP:             ~3-6 msecs
> JavaIDL         <1 msec (seems very strange)
>
> I'll verify the code to see that I done anything stupid. None of the tests
> printed trace information (I've hacked the SOAP RPCServlerRouter class to
> remove trace info). After that I'll publish more detailed results.
>
> Comments?
>
> Cheers,
> Per
> _______________________________
> Per B�ckman
> ENEA Business Software
> _______________________________


Reply via email to