users@glassfish.java.net

Re: EJB 3 Interoperability issue - need help

From: <glassfish_at_javadesktop.org>
Date: Wed, 19 Dec 2007 10:52:35 PST

Hi Ken,

thanks for the clarification. So I think we can use the EJB 2.x Home/Remote view of EJB 3 beans for some years. Hopefully this will work in future specifications of Java EE. It's seems that cross-vendor EJB access in production is not significant, as you write - but I think it's still important to have a standardized high performance way to integrate heterogeneous Java EE environments.

Some words about SOAP and our experience in our environment:

We've done a lot of tests with SOAP/Web Services in our product environment - which has in fact high performance requirements. On some clients, we need to react in very short time (online between 50-100 ms) for server calls. These clients are integrated in production lines and we are not allowed to influence the cycle time of an assembly line in a negative way (electronic manufactoring).

All our tests where we compared IIOP against SOPA / Web Services shows us that these standard is maybe good enough for web shops and loosely coupled systems but not for high speed communication with a well defined remote interface (in fact an API). We need between factor 8 and 15 more CPU cycles and factor 12 - 22 more bandwith on the wire for the same business calls (these are factors not percentage values!). The differences are uncompareable - bad for SOAP. But we think this is the wrong protocol for such situations so we like CORBA/IIOP a lot. We use it since 9 years in our product beginning from Java 1.1.8 til now Java 6.x with different Java CORBA implementations (SUN Java ORB, JacORB, VisiBroker for Java) and some C++ based CORBA implementations (MICO, TAO, VisiBroker for C++) and we had never interoperability problems for protocol issues. We have 6 year old clients still running against our newest server versions - our business API is always downward compatible.

We think that for loosely coupled systems (without a well defined business interface) SOAP is a good solution. But for performant, high frequent communication against an well defined interface (business API) it should be a protocol which is portable and early binded. So CORBA/IIOP has all this. I think this was the reason for SUN to choose RMI-IIOP in early Java EE days - nothing has changed since than. But today, SOAP is in everyones mind but it's not a generic solution for all problems.

Do you know the following dialog between CORBA and SOAP? It's very interesting to read:

http://wanderingbarque.com/nonintersecting/2006/11/15/the-s-stands-for-simple/

Thanks and greetings,
 Frank
[Message sent by forum member 'fmeili' (fmeili)]

http://forums.java.net/jive/thread.jspa?messageID=250816