¿Diferencias de RMI y CORBA?

Estoy estudiando para una final y tengo algunas preguntas sobre RMI y CORBA. Estas son preguntas de discusión tomadas de una guía de estudio para que no haya un contexto de aplicación real a su alrededor.

¿Por qué RMI y CORBA se basan en TCP? La pregunta dice responder en términos de semántica de invocación.

Lo que he pensado hasta ahora es que TCP va a ser más confiable que UDP y en RMI / CORBA, queremos confiabilidad de la red. También leí en alguna parte que TCP está profundamente integrado en las clases de red nativas de Java. No tengo tanta confianza en esta declaración, ya que CORBA se puede implementar en cualquier idioma.

Discuta la diferencia entre el RMI y el servicio de nombres CORBA.

Estoy un poco confundido acerca de esta pregunta porque lo que he leído hasta ahora es que RMI y CORBA son tecnologías convergentes y RMI puede acceder a los objetos CORBA. Como lo entiendo ahora, los servicios de nombres parecen ser muy similares y no vale la pena mencionar las diferencias.

¿Por qué RMI necesita una invocación dinámica explícitamente a diferencia de CORBA?

No se me ha ocurrido nada.

Me doy cuenta de que estoy haciendo tres preguntas diferentes, pero todas parecen estar relacionadas.

Respuestas a la pregunta(1)

Su respuesta a la pregunta