none
Aplicacion Windows Forms como conectar desde cualquier lugar solo con internet RRS feed

  • Pregunta

  • Estimada Comunidad.

    Para empezar no se el titulo de mi consulta es la correcta, pero deseo explicar lo siguiente y me gustaría si existe la posibilidad de lo que voy a consultar.

    Actualmente tengo una pequeña aplicacion ERP desarrollada en Windows Forms con lenguaje C#, este se conecta a una base de datos SQL Server 2000 y todo dentro de un red LAN, para el cual funciona perfectamente.

    Ahora bien, me solicitan que esta aplicación sea instalada en las equipos de los AGENTES que van ha ser utilizados y que estos se puedan conectar desde cualquier parte del mundo a traves de internet.

    MI CONSULTA ES LA SIGUIENTE:

    Es posible configurar mi aplicacion para ser usada de esta manera:

    Puedo publicar mi base SQL Server 2000 con las seguridades correspondientes?? y como debo hacerlo???

    Que pasa con mi aplicacion.exe y dlls que constantemente hago actualizaciones y como se debe actualizar en cada cliente (Actrualmente uso un recurso compartido con ClickOne en red interna y me funciona perfectamente), en caso que existe la posibilidad como lo debo hacer???

    En caso que no pueda usar SQL SERVER puedo usar una base de datos MYSQL publicada??

    PD: NO TENGO CONOCIMIENTOS DE DESARROLLOS WEB de NINGUNA PLATAFORMA, es decir, ASP, PHP, etc.. etc.. y hasta que lo aprenda me tomara mucho tiempo.

    De antemano les quedo muy agradecido por la ayuda que me puedan dar.

    Guivan.

    martes, 8 de mayo de 2018 21:29

Respuestas

  • Idealmente, la empresa se dotaría de una VPN que los trabajadores usarían para conectarse a la red empresarial y ya luego su aplicación funcionaría.  ClickOnce también funcionaría, porque imagino que el servidor donde lo publica es Intranet.

    Si no cuenta con VPN tendría que exponer SQL Server a Internet e igualmente mantener su ClickOnce en un sitio web público.  Tendría entonces que asegurarse de que solamente usuarios permitidos pueden acceder al sitio.  En el caso de SQL Server, los DBA tendrán mucho trabajo realizando auditorías de seguridad pues es garantizado que tendrán miles de intentos de conexión por hackers.

    Lo que debe de hacer, ya que esto está fuera de sus actuales capacidades, es contratar un administrador de red para que configure una VPN.  No es cosa del otro mundo, se lo garantizo, y es lo mejor que puede hacer.


    Jose R. MCP
    Code Samples

    jueves, 10 de mayo de 2018 1:51
    Moderador
  • Podría darte dos opciones, de acuerdo a mi conocimiento, desconozco si serán las mejores, o las peores opciones:

    1.- Crear una VLAN con LogMeIn Hamachi (según yo, no requerirías de modificaciones en tu sistema, aunque las personas que se conecten desde fuera notarán lentitud en el sistema)
    2.- Usar algo como No IP DUC para que seas "visible" en internet. Tendrías que abrir puertos en el modem, y modificar tu aplicación para que busque la dirección donde está tu servidor.

    Quedo a tus órdenes si requieres más información.

    martes, 8 de mayo de 2018 22:37
  • hola

    >>Puedo publicar mi base SQL Server 2000 con las seguridades correspondientes?? y como debo hacerlo?

    la unica forma segura de exponer sql a internet seria estableciendo un enlace seguro, para eso deberas definir una VPN

    >>en caso que existe la posibilidad como lo debo hacer?

    no existe una forma de distribuir globalmente, salvo que lleves la aplicacion al Windows Storage, o sea se actualizaria como una aplicaicon mobile en un celular

    recuerdo que estaba planeado permitir publicar aplicaciones winform, pero seguro debas realizar adaptaciones

    >>En caso que no pueda usar SQL SERVER puedo usar una base de datos MYSQL publicada?

    si el hosting lo permite, podrias, simpre que tu aplicacion este preparada para cambiar de conector de ado.net

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 9 de mayo de 2018 14:10

Todas las respuestas

  • Podría darte dos opciones, de acuerdo a mi conocimiento, desconozco si serán las mejores, o las peores opciones:

    1.- Crear una VLAN con LogMeIn Hamachi (según yo, no requerirías de modificaciones en tu sistema, aunque las personas que se conecten desde fuera notarán lentitud en el sistema)
    2.- Usar algo como No IP DUC para que seas "visible" en internet. Tendrías que abrir puertos en el modem, y modificar tu aplicación para que busque la dirección donde está tu servidor.

    Quedo a tus órdenes si requieres más información.

    martes, 8 de mayo de 2018 22:37
  • Gracias Antonio, hasta mientras investigare un poco mas sobre la opción 2, si tienes documentación de implementación por favor tu amable ayuda.


    martes, 8 de mayo de 2018 23:05
  • hola

    >>Puedo publicar mi base SQL Server 2000 con las seguridades correspondientes?? y como debo hacerlo?

    la unica forma segura de exponer sql a internet seria estableciendo un enlace seguro, para eso deberas definir una VPN

    >>en caso que existe la posibilidad como lo debo hacer?

    no existe una forma de distribuir globalmente, salvo que lleves la aplicacion al Windows Storage, o sea se actualizaria como una aplicaicon mobile en un celular

    recuerdo que estaba planeado permitir publicar aplicaciones winform, pero seguro debas realizar adaptaciones

    >>En caso que no pueda usar SQL SERVER puedo usar una base de datos MYSQL publicada?

    si el hosting lo permite, podrias, simpre que tu aplicacion este preparada para cambiar de conector de ado.net

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 9 de mayo de 2018 14:10
  • Idealmente, la empresa se dotaría de una VPN que los trabajadores usarían para conectarse a la red empresarial y ya luego su aplicación funcionaría.  ClickOnce también funcionaría, porque imagino que el servidor donde lo publica es Intranet.

    Si no cuenta con VPN tendría que exponer SQL Server a Internet e igualmente mantener su ClickOnce en un sitio web público.  Tendría entonces que asegurarse de que solamente usuarios permitidos pueden acceder al sitio.  En el caso de SQL Server, los DBA tendrán mucho trabajo realizando auditorías de seguridad pues es garantizado que tendrán miles de intentos de conexión por hackers.

    Lo que debe de hacer, ya que esto está fuera de sus actuales capacidades, es contratar un administrador de red para que configure una VPN.  No es cosa del otro mundo, se lo garantizo, y es lo mejor que puede hacer.


    Jose R. MCP
    Code Samples

    jueves, 10 de mayo de 2018 1:51
    Moderador
  • La alternativa mas viable es utilizar una VPN, que como mencionan le permitiria tratar la aplicación como si se encontrara en una red local.

    >>en caso que existe la posibilidad como lo debo hacer???

    Respecto a las actualizaciones automaticas existen varias soluciones para gestionar la actualización automatica de su aplicación por ejemplo AutoUpdater.NET que puede ser añadida a su aplicación desde NuGet.

    Saludos.

    jueves, 10 de mayo de 2018 14:55
  • Gracias Leandro.

    Te comento que hice las siguientes pruebas, hice una aplicacion sencilla windows form C# conectándome a una base MySql que se encuentra publicado en un hosting, el cual lo administra un proveedor de hosting, y funciona correctamente, a pesar de que ciertos clientes no se conectan por temas de seguridad (bueno esto toca conversar con mi proveedor) pero me queda una inquietud que lei sobre el peligro de tener publicada una bd.

    https://social.msdn.microsoft.com/Forums/es-ES/f5111b3d-a6f0-466d-ae53-5c5ad8b6c83a/conectar-c-con-una-bd-de-mysql?forum=vcses

    Mi consulta es si el proveedor me garantiza que la db poublicada en el hosting, es segura, puedo confiar en conectar la aplicacion win form c# a Mysql publicado, porque segun el enlace me dice que seria mas seguro manejar web services (claro no tengo el conocimiento ni la experiencia para hacerlo)

    Realmente para solucionar este tipo de problema seria desarrollar una aplicacion Web, que se yo asp.net usando mysql, pero es algo que no conozco aun.

    Estare haciendo lo correcto??

    La aplicación a desarrollar es integrar un cotizador de varias empresas de seguros, claro que lo fabuloso seria que estas empresas dispongan de servicios web para consumirlas, pero ellas no disponen de esto.


    Desde ya te agradezco por cualquier comentario al respecto.

    Guivan



    jueves, 10 de mayo de 2018 22:33
  • Gracias por tu ayuda Jose,

    Pero esto me indicaría que debería crear n VPNs según la cantidad de agentes que usaría mi aplicación win form c#, es decir, no se si esta jalado de los pelos decir, es como que mi aplicacion cliente servidor, funcione como una aplicacion web, que es lo deseo lograr, claro que la mejor solucion seria hacer algo web (claro no se programar en esta plataforma).

    Cualquier otra sugerencia te agradeceria.

    Saludos 

    Guivan


    jueves, 10 de mayo de 2018 22:47
  • Uno evita al máximo exponer servidores de bases de datos a Internet, pero lo cierto es que no hay impedimento tecnológico.  Si su hosting provee la opción, pues yo diría que podría probar.  Ahora bien, hay hostings que proveen SQL Server.  AWS (Amazon Web Services) es uno que al menos hace 1 año atrás tenía SQL Server.

    Jose R. MCP
    Code Samples

    viernes, 11 de mayo de 2018 3:29
    Moderador