I know little about RMI concepts. But I wanted to know what CORBA is and what is the difference between CORBA and Java RMI. It would be great if you adding the minor differences as major ones. In what scenario's one can opt RMI over CORBA or vice-versa? Will appreciate if somebody can clear my doubts?