none
Aplicacion Distribuida: cual es la mejor opcion? RRS feed

  • Pregunta

  • Saludos a Todos!.... tengo la necesidad de crear una aplicación distribuida con comunicacion bidireccional: en la mayoria de las ocaciones el cliente envia una peticion al servidor y este genera una respuesta.. eventualmente tambien hace falta que el servidor genere mensajes de status o actualizaciones que debe enviar a todos los clientes disponibles.. mi pregunta es: Cual seria la mejor opcion para desarrollar esto??... he probado lo siguiente:

     

    1. .Net Remoting.... logre hacerlo funcionar siempre y cuando fuese el cliente quien iniciara la peticion... de ninguna manera logre hacer que el servidor invocara algun metodo en el cliente...

    2. cree una implementación propia de algo parecido a los notification services de SQL server y de acuerdo a como se comporte la base de datos en el servidor se actualizan automaticamente los clientes.. (de esta manera estan funcionando las aplicaciones actualmente pero no me parece que sea eficiente cuando aumente el numero de maquinas).

    3. crear una aplicacion basada en sockets entre el servidor y los clientes... serializando objetos y enviandolos a traves de los sockets a los clientes...

    4. Web Services...

     

    he probado un poco de todo pero no sabria decidir que es lo mejor... agradezco su ayuda!

     

     

    sábado, 22 de septiembre de 2007 21:18

Respuestas

  • Hola Ivan,

    La respuesta tecnicamente correcta desde la aparicion del framework 3 es WCF, existen un monton de ejemplos para la implementacion de diferentes escenarios. Sin embargo persolamente en tiempo de Visual Studio 2003 realize una aplicacion que utilizava remoting y a traves de un interface entre cliente y servidor, podiamos disparar eventos en ambos sentidos. La verdad es que el rendimiento y fiabilidad fue excelente... salvando algunos detalles.

     

    A mi opinion la opcion de 'sockets' tampoco va desencaminda siempre y cuando estes consiguiendo lo que persigues con un coste de dificultat razonable.

     

    Aunque soy consciente de que esto no respondera a tu pregunta, espero que ayude con la discusion de varias opiniones para que de esa forma puedas decidir cual mejor.

    Si necesitas, algun ejemplo o enlaces no dudes en pedirlos,

    Saludos,

    Pep Lluis,

     

    domingo, 23 de septiembre de 2007 23:22

Todas las respuestas

  • Hola Ivan,

    La respuesta tecnicamente correcta desde la aparicion del framework 3 es WCF, existen un monton de ejemplos para la implementacion de diferentes escenarios. Sin embargo persolamente en tiempo de Visual Studio 2003 realize una aplicacion que utilizava remoting y a traves de un interface entre cliente y servidor, podiamos disparar eventos en ambos sentidos. La verdad es que el rendimiento y fiabilidad fue excelente... salvando algunos detalles.

     

    A mi opinion la opcion de 'sockets' tampoco va desencaminda siempre y cuando estes consiguiendo lo que persigues con un coste de dificultat razonable.

     

    Aunque soy consciente de que esto no respondera a tu pregunta, espero que ayude con la discusion de varias opiniones para que de esa forma puedas decidir cual mejor.

    Si necesitas, algun ejemplo o enlaces no dudes en pedirlos,

    Saludos,

    Pep Lluis,

     

    domingo, 23 de septiembre de 2007 23:22
  • Buenas Noches Pep Lluis! Muchisimas Gracias por tu respuesta.... habia pensado en esa posibilidad de usar el

    WCF pero he leido en algunos blogs que supuestamente hay algunas fallas que llevaban en numerosas veces las aplicaciones a errores de ejecucion en el framework 3.0... sin duda tendré que hacer mis pruebas para ver que tan ciertos puedan ser esos comentarios y bueno! aprovecho para echarle un ojito al WPF que se ve bastante interesante!... mas aún con el Microsoft Expression... Cuando haga mis pruebas publico por aca la info a ver si le sirve de algo a alguien mas!... Atte.

    domingo, 23 de septiembre de 2007 23:44
  • buenas q tal? yo tengo un proyecto en mente que deberia hacer algo parecido...un pequeño servidor que tome las peticiones de los clientes y envie alertas sobre eventos disparados por otros clientes(como cuando se agrega un registro a la base de datos por ejemplo)

    hace un largo tiempo habia visto una especie de messenger en .net 2003 que usaba un sistema de logueo en el servidor entonces se podia tener una lista de todos los clientes conectados...y cuando alguien se conecta le envia alertas al resto de los clientes conectados...ni idea como lo hacia pero no parecia tan dificil...voy a ver si lo encuentro...

    saludos
    lunes, 8 de octubre de 2007 2:33