Other problems with RMI is that RMI stubs and RMI skeletons can only communicate with Java applications, unlike CORBA (CORBA is more easy going and loves to take whatever fits).

The first protocol used was RMIprotocol (original name eh?), which sucked because it is blocked by a lot of routers.

Enterprise Java Beans are a much needed expansion on the RMI framework.