Hola Leandro, Mirá yo no soy arquitecto, y no se si tu solución será la óptima; pero para hacer lo que queres de abrir puertos etc, lo que podrías es crear una VPN entre el server Web y tus clientes; y de esta forma crear una zona segura con puertos abiertos.
Una herramienta de la gente de LogMeIn que te permite hacer esto es Hamachi,
tiene dos version, una gratuita y otra paga.
Es sólo un granito de arena
Saludos!
Walter G. Poch
.NET Developer
--------------------------------------------
Cell: +54 (9 341) 3353273
--------------------------------------------
e-Mail: [EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]
Skype: walter.poch
--------------------------------------------
wpoch.com.ar
From: 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<<Emoticon1.gif>>
