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

Como empiezo? Applet, RMI, Sockets..

Estas en el tema de Como empiezo? Applet, RMI, Sockets.. en el foro de Java en Foros del Web. Hola amegos, estoy desarrollando una aplicacion Cliente/Servidor utilizando MVC, en donde los clientes (1..n) se comunican con el servidor este recupera datos de una base ...
  #1 (permalink)  
Antiguo 28/05/2006, 16:15
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Como empiezo? Applet, RMI, Sockets..

Hola amegos, estoy desarrollando una aplicacion Cliente/Servidor utilizando MVC, en donde los clientes (1..n) se comunican con el servidor este recupera datos de una base de datos y los muestra, bastante simple, la aplicacion es mas complicada pero esto es lo que me preocupa mas.
El tema es que los "n" Clientes conectados estaran mirando una misma cosa, y todos deven ver lo mismo, no se si me explico. Creo que podria aplicar un patron observer, pero el problema que se me presenta es que todo esto tiene que ser Online, debe funcionar en una red o por web...
Como hago? Pense en utilizar RMI, pero si tengo que enviar informacion a varios clientes al mismo tiempo lo manejaria mejor con sockets ? o no tengo problemas con RMI y es mas confiable para la conexion?

Estaba pensando en realizar la interfaz del cliente con Swing, y luego pense, como hago para que el cliente vea una interface Swing Online ??? Y vi que se puede mediante applets ? es asi o estoy equivocado ? Tienen algun tutorial y ejemplo como para hacer ?

Bueno luego sigo preguntando, de momento ya toy medio pesado no ? :P

Un abrazo
  #2 (permalink)  
Antiguo 28/05/2006, 17:35
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Bueno segui leyendo y creo que inicialmente deberia crear a interface grafica para el usuario usando Swing ( esta seria la parte de la vista ) y ejecutarlo como un Applet mediante una Pagina Web, igualmente sigo teniendo los problemas que plantee al principio respecto a la comunicacion.
Saludos
  #3 (permalink)  
Antiguo 28/05/2006, 17:42
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
RMI es bastante estable para que lo uses, no creo que tengas problemas.
Yo me preocuparia mas por el trafico de datos que pueda llegar a generar la aplicacion (en caso de que sea via web).
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #4 (permalink)  
Antiguo 28/05/2006, 19:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Bueno ahora encontre Java Web Start con lo que me independizo de usar Applets, lo que no veo son los pro y contras.
Salu2
  #5 (permalink)  
Antiguo 29/05/2006, 04:22
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Si vas a tener varios clientes esperando notificaciones de un servidor, que pueden ocurrir de forma asincrona, otra idea es usar JMS.

Java Web Start te permite usar applets o applicaciones, y su principal ventaja es que las clases quedan en cache y solo se actualiza si han cambiado los .jar de la aplicacion.
  #6 (permalink)  
Antiguo 29/05/2006, 14:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Holas..
Estube mirando muy poco de JMS, pero veo que sirve como un tipo de intermediario el cual recibe mensajes y espera a que el otro cliente este listo para recibirlo.. Mi caso no seria este, ya que los cliente tienen que estar si o si en el momento de recibir los mensajes, si no estubiesen se los dejaria de lado, osea seria que el mensaje es enviado por el servidor al Creador de la sesion y a todos los que integran esa sesion al mismo momento.
Creo que mi problema ya lo voy acotando, pero mi gran problema, o por lo menos que veo ahora, es no darme cuenta de como realizare la comunicacion a los clientes en "tiempo real" (poco tiempo o el menor, ya que es comunicacion por red/http).
La forma mas fea que se me ocurre en este momento es que el servidor cree un nuevo objeto "Sesion", que en este se encuentren los integrantes de la sesion, y que ademas se tenga la direccion o handle de comunicacion de cada integrante.
Bueno seguire pensando, igualmente acepto ideas

Un arbazo
  #7 (permalink)  
Antiguo 30/05/2006, 01:31
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por Voodooteam
Holas..
Estube mirando muy poco de JMS, pero veo que sirve como un tipo de intermediario el cual recibe mensajes y espera a que el otro cliente este listo para recibirlo..
JMS no funciona así, o más exactamente ese es sólo uno de los muchos modos de funcionamiento de JMS, pero es un tema complejo si no lo has usado nunca, así que si no lo ves claro, mejor algo que entiendas bien.

Cita:
Iniciado por Voodooteam
Creo que mi problema ya lo voy acotando, pero mi gran problema, o por lo menos que veo ahora, es no darme cuenta de como realizare la comunicacion a los clientes en "tiempo real" (poco tiempo o el menor, ya que es comunicacion por red/http).
El "tiempo real", si te refieres a comunicaciones inmediatas, predecibles y fiables, como tal en web "no existe". No fue pensada para eso y siempre hay que tener en cuenta los posibles fallos de comunicaciones, retardos etc, por que haberlos los habrá.

Cita:
Iniciado por Voodooteam
La forma mas fea que se me ocurre en este momento es que el servidor cree un nuevo objeto "Sesion", que en este se encuentren los integrantes de la sesion, y que ademas se tenga la direccion o handle de comunicacion de cada integrante.
Ese objeto común donde se guardarían todos los integrantes de la sesion y donde podría "vivir" la clase encargada de gestionar el envio de mensajes etc, ya existe. Es el Servlet Context, accesible desde cualquier sesion y presente mientras tengas tu aplicacion web en marcha.

<S>
  #8 (permalink)  
Antiguo 30/05/2006, 20:29
 
Fecha de Ingreso: mayo-2006
Mensajes: 10
Antigüedad: 18 años
Puntos: 0
Hola!
Tal vez no me exprese bien sobre lo que deseo realizar, la aplicacion en si no es Web, si no Cliente/Servidor. Pense que por medio de una web podria correr mi aplicacion cliente, osea que los clientes entren a una web y corran el cliente.
La idea es que cada usuario que ingrese utilize el cliente y por ejemplo se una o cree una partida en internet de un juego X. La comunicacion entre cliente y servidor la plantearia mediante RMI (nose si hay algo mejor que esto ya que solo encuentro lugares que me dicen que RMI me sirve y punto :S).
Para informar a cada participante de la partida tengo pensado utilizar el patron observer.
Lo que estoy estudiando ahora es como manejar la persistencia utilizando RMI, pienso que serializando los objetos que persisten y haciendolos implementar una interface rmi se podria lograr, pero jamas he tocado nada de esto.
Se que hay apis para gestionar Persistencia con RMI, conocen alguna buena ? porque la que encontre es un proyecto que se dejo de lado , igualmente sigo googleando.
Y lo mas importante o en lo que estoy por enfocarme es ver alguna metodologia/arquitectura/patron o lo que sea que me de indicios de como manejar las partidas en el servidor y que no se muera en el intento (lease crear 1000 partidas con 5000 usuarios y no morir en el intento).
Es un proyecto de mi universidad por lo que soy medio drastico con las sumas, pero mas vale prevenir, no?
Un abrazo!
  #9 (permalink)  
Antiguo 04/06/2006, 04:13
 
Fecha de Ingreso: junio-2006
Mensajes: 1
Antigüedad: 17 años, 11 meses
Puntos: 0
Estoy en tu mismo problema

Hola a todos, casualmente yo estoy realizando una aplicacion muy similar a esta,
donde ,aplicando el patron observer, en el servlet(Observable) tiene que "avisar" a las vista de los cambios producidos, pero tengo creo el mismo problema:
mi vista no carga ningun objeto del servidor , solo hace llamadas al servlet, y este le devuelve datos.
El patron observer, en el servelt, tiene ke notificar a mi vista de los cambios.Cuando llamo al servelt , le paso una referncia a la vista , la vista es(Observer) ¿pero como va a notificar a mi vista si no esta no tiene ningun objeto del servidor?¿Cmo se va a comunicar?¿Tengo ke hacerle una conexion al metodo de notificar(Obsevable) y asi pueda enviar los datos?.
gracias.

PD:Podemos intercambiar codigo
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 12:51.