Foros del Web » Programación para mayores de 30 ;) » Java »

Java en red (sockets vs servlets vs...)

Estas en el tema de Java en red (sockets vs servlets vs...) en el foro de Java en Foros del Web. Hola a todos, Tenía pensado implementar un pequeña aplicación en Java para interactuar con un servidor que tengo en el extranjero. En principio he optado ...
  #1 (permalink)  
Antiguo 20/02/2011, 07:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Java en red (sockets vs servlets vs...)

Hola a todos,

Tenía pensado implementar un pequeña aplicación en Java para interactuar con un servidor que tengo en el extranjero. En principio he optado por una aplicación de escritorio en lugar de una aplicación web, básicamente porque creo que es más fácil de construir y más potente, sobre todo gracias a swing.

Mi duda reside en qué tecnología de Java utilizar para la comunicación entre mi aplicación y el servidor. 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. 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.

¿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?
  #2 (permalink)  
Antiguo 20/02/2011, 07:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Java en red (sockets vs servlets vs...)

échale un vistazo a:
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html
http://download.oracle.com/javase/tutorial/rmi/index.html
  #3 (permalink)  
Antiguo 20/02/2011, 12:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Java en red (sockets vs servlets vs...)

ok, muchas gracias!!
  #4 (permalink)  
Antiguo 20/02/2011, 20:35
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Java en red (sockets vs servlets vs...)

Cita:
Iniciado por programador_fcc Ver Mensaje
... 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 Ver Mensaje
... 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.

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 Ver Mensaje
... ¿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,

Etiquetas: red, sockets, servlet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.