Event Broker, Remoting

 

From: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Leandro Tuttini
Sent: Thursday, September 04, 2008 10:36 AM
To: patrones List Member
Subject: [patrones] Observer Pattern Remoto

 


 

Hola que tal.

 

Queria plantear una situacion a ver que cosnejos me dan, y si es posible 
implementarla.

 

La idea es aplicar el patron observer pero de forma remota.

 

Planteo el escenario:

Tengo una aplicacion expuesta en la web, que expone una aplicacion web y varios 
servicios, usando wcf y asmx, es indistinto.

 

Por otro lado tengo aplicaciones de escritorio que estan dentro de un red 
local, y tienen salida a internet para utilizar la aplicacion.

 

Resulta que ante cierta operacion con la aplicacion se deberia procesar la 
logica de negocio (en el servidor remoto) y lanzar una impresion en ciertos 
print server (que se encuentran locales en el red), esto ultimo de imprimir es 
solo una idea, puede se que mas adelante se necesite para enviar otras cosas 
comos e un cash dispenser, o alertas, etc.

 

La cuestion es que los clientes tienen salida a internet con lo cual pueden 
acceder a la aplicacion y sus servicios, pero desde el servidor expuertos en la 
web no me puedo comunicar hacia adentro de la empresa, ya que como sabran hay 
firewall y demas aspectos de seguridad.

Nota: el cliente no tiene servicio expuestos en la web, ni posee 
infraestructura para poder tenerlos, es por eso que la aplicacion esta hosteada 
en servidores de terceros expuestos a internet, con toda la seguridad que esto 
requiere (uso de SSL, etc)

 

Entonces que pense, desarrollar un servicio de windows que corrar en los 
sevidores de impresion o en alguna otro pc local a la empresa y que al 
iniciarse se subscriba mediante la llamada a un servicio web, pasandoles la 
informacion de su localizacion, esto se puede sin problemas ya que se tiene 
salida.

 

Ahora la otra pata es la compleja y por la cual queria consultar, como comunico 
el servidor con el servicio corriente en las maquians locales, habia pensado 
implementar algo parecido a los que hace la aplicacion de LogMeIn 
(https://secure.logmein.com/home.asp).

 

Creo que por ahi saben como funciona, se descarga un cliente que envia info a 
un servidor para registrase, y cuando entra una peticion el server es el que se 
contacta con el cliente, y lo mas interesante es que pasa todos los firewall 
sin necesidad de abrir puertos.

 

Esto me permitiria que al procesar en el servidor enviar un mensaje al servicio 
de windows (que se registro) para que imprima localmente o envie un mensaje, o 
etc.

 

Se que me diran que realice un servicio que cada cierto tiempo realice una 
consulta a un servicio web para ver si tiene alguna peticion que puede estar 
almacenada en un msqueue, o en una table en la db; pero justamente por eso 
consulto por el patron observer, es mas linda la solucion, ya que los clientes 
se subscriben y desde el servidor se envian los mensajes, ante un evento

 

La pregunta es: tienen idea como se puede implementar algo similar a como 
funciona logmein, y como es que este servicio puede funcionar sin que los 
firewalls le molesten e identificar una pc en particular.

 

Bueno cualquier sugerencia sera de gran ayuda.

 

Saludos

 

  _____  


¡Buscá desde tu celular! Yahoo! oneSEARCH ahora está en Claro
http://ar.mobile.yahoo.com/onesearch

Responder a