Cita:
Iniciado por programador_fcc ... Tenía pensado emplear sockets, aunque no sé si es la forma más idónea de hacerlo, sobre todo por ser un método muy primitivo y ya casi obsoleto. ...
¿Mmmm ... que crees que usa Tomcat para comunicarse? ¿Con que se conecta Tomcat a una base de datos? Estas confundiendo el concepto de un Socket con un protocolo de comunicaciones.
Cita:
Iniciado por programador_fcc ... Además, tengo entendido que las conexiones por sockets son analizadas por los routers y a veces dan problemas, algo que no ocurre por ejemplo cuando utilizas servlets. ...
El problema proviene del protocolo de comunicaciones, al usar un DataInputStream se está enviando información en formato binario, al contrario que el protocolo HTTP, WebServices en XML, etc., que transmiten por el 'Socket' la información en texto plano. Y algunos firewalls y routers no permiten la retransmisión de datos binarios. Además de otros inconvenientes con los puertos debajo del 1024.
Cita:
Iniciado por CarlosAP RMI es un protocolo de comunicaciones binario. Y el resultado a nivel de la capa de red es el mismo que si hubieras abierto el Socket tu mismo (pero sin la complejidad de serializar los objetos, etc.). RMI es un protocolo de comunicaciones usado para redes distribuidas al igual que Corba o COM+ de Microsoft, pero no está idealmente pensado para Internet. Inclusive creo que Microsoft usa DCOM para ese objetivo, que no es lo mismo que COM+.
Cita:
Iniciado por programador_fcc ... ¿Alguien puede orientarme sobre qué medio de comunicación utilizar con el servidor, teniendo en cuenta que solo yo voy a utilizar el programa cliente? ...
Si el servidor está del otro lado del Internet, la mejor opción actualmente son los WebServices en XML, posiblemente sobre JBoss o Glassfish, pero esa es solo mi opinión personal.
Saludos,