Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Legacy Systems

 
s khosa
Ranch Hand
Posts: 72
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I came across this question:

You have a distributed system that is not made up entirely of Java objects (some of them are CORBA.) What J2EE technology should you use in this situation?

a) RMI-JRMP b) CORBA
c) Rewrite the objects so the system in entirely Java based d) RMI-IIOP

I thought correct answer was D, but the test notes say that correct answer is B.

Any pointers about this one??

Thanks
 
Harini Shree
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Khosa,

CORBA is it a J2ee technology?

Even I go with the option D. Also I belive the question seems to be incompleate.

-Hari
 
Kj Reddy
Ranch Hand
Posts: 1704
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Harini Shree:
Hi Khosa,

CORBA is it a J2ee technology?

Even I go with the option D. Also I belive the question seems to be incompleate.

-Hari


I believe answer is B. CORBA is an architecture and not technology. So when we want to communicate with CORBA objects we need to depend on CORBA archtecture.

I am not sure.
 
calebchu chunfeng
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by KJ Reddy:


I believe answer is B. CORBA is an architecture and not technology. So when we want to communicate with CORBA objects we need to depend on CORBA archtecture.

I am not sure.


Agree with Reddy, the answer should be B, RMI-IIOP may not be
able to access existing CORBA objects, but it is better to rename
answer B to Java IDL
 
s khosa
Ranch Hand
Posts: 72
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well...i still dont get it...whay cant we use RMI-IIOP??

Thanks
 
Sreenivasa Majji
Ranch Hand
Posts: 224
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
CORBA is proven technology, but not part of J2EE. The original question clearly states 'which J2EE technlogy', means CORBA should be eliminated from eligible answers. I would go with RMI-IIOP.
 
Bobby Sh
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
s khosa...I am with you. I would also select D
 
Benjamin Fan
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Remember: RMI-IIOP is RMI tunneling over IIOP. The CORBA standard supports IIOP; it does NOT support RMI. If you use RMI-IIOP then the CORBA system will resceive the message (because its coming over an IIOP connection) but will have no idea what you're saying because it doesn't understand RMI. The only way you can communicate to CORBA in this case is to use CORBA.
 
Raghubir Bose
Ranch Hand
Posts: 88
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sadly Whizlabs has a tendency to confuse people :-)

"Previously Java programmers had to choose between RMI and CORBA/IIOP (Java IDL) for distributed programming solutions. Now, by adhering to a few restrictions, RMI server objects can use the IIOP protocol and communicate with CORBA client objects written in any language. This solution is known as RMI-IIOP. RMI-IIOP combines RMI-style ease of use with CORBA cross-language interoperability. "

This is taken from Sun and it clearly says --connecting to Corba Client Objects.

The restrictions are

1. Make sure all constant definitions in remote interfaces are of primitive types or String and evaluated at compile time.

2. Don't use Java names that conflict with IDL mangled names generated by the Java to IDL mapping rules. See section 28.3.2 of the Java Language to IDL Mapping specification for the Java to IDL name mapping rules.

3. Don't inherit the same method name into a remote interface more than once from different base remote interfaces.

4. Be careful when using names that differ only in case. The use of a type name and a variable of that type whose name differs from the type name only in case is supported. Most other combinations of names that differ only in case are not supported.

5. Don't depend on runtime sharing of object references to be preserved exactly when transmitting object references across IIOP. Runtime sharing of other objects is preserved correctly.

6. Don't use the following features of RMI:
RMISocketFactory
UnicastRemoteObject
Unreferenced
The Distributed Garbage Collection (DGC) interfaces

This leads me to believe that I should go for D and not B.

What do you say ?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic