Panda, Akshaya Kumar (Cognizant) wrote:

Hi,
With reference to JIRA bug URL: http://issues.apache.org/jira/browse/GERONIMO-1111, i see a couple of descussions on Apache Geronimo CORBA implementation, can anybody help me knowing why there is a need for writing a new corba? Can't any existing ORB (Ex. Jacorb) be fit into Geronimo's requirement for interoperability with iiop spec?

Unfortunately, no. The portable ORB interfaces do not address the security issues required for CSIv2 compliance. In particular, there are no portable interfaces that allow transport-level security (e.g. SLL support) to be hooked in cleanly. Each ORB vendor has implemented different (and in some cases, undocumented) interfaces for enabling this type of security. These different interfaces generally require references to vendor specific classes, which cause problems when moving to a different JVM implementation that is not using precisely the same code.

For example, the existing openejb component is written to use the Sun 1.4.2 ORB implementation. It has references to internal Sun classes such as com.sun.corba.se.connection.ORBSocketFactory and com.sun.corba.se.internal.core.IOR. Move this code to Sun's Java 5 implementation, and this code fails to compile because the referenced classes no longer exist. To be able to support Java 5, the ORB adaptor needs to be rewritten. A similar situation exists if you try to move to the IBM JVM, which has a different ORB implementation altogether. Once you have support for multiple ORB implementations, then life gets interesting trying to build the code. Each adaptor will only compile with the correct target JVM, and all of the other sets of adaptor code will fail to compile because of missing classes. Now you have to deal with additional subprojects that need to be compiled with different JVM versions to create a merged assembly. Additionally, the choice of ORB bubbles out to the Geronimo configuration plans, since that is where the GBeans that enable the CORBA support are specified. Now you need to have different plans for each of the different supported ORB configurations. The multiple configurations definitely complicate the build and testing effort.

A single, purely portable ORB would eliminate a lot of these problems. The code would port cleanly to multiple JVM environments and remove a major dependency in a single vendors implementation. Problems will be easier to diagnose because a) the ORB will behave consistently across all JVMs and b) the Geronimo community will be able to debug problems and fix issues when they arise.

Rick


Thanks
Akshay

This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly
prohibited and may be unlawful.

Visit us at http://www.cognizant.com


Reply via email to