1. Guillermo Tamburo
  2. PowerBuilder
  3. Thursday, 31 October 2024 10:47 AM UTC

Buenas dios, 

Tengo una aplicación PowerBuilder cliente servidor. Actualmente en los equipos se instala la aplicación y una software VPN como ser Forticlient o OpenVPN

Esta misma aplicación la migre a la versión Cloud, en un servidor se instálalo en IIS donde se cargo el sitio a donde los usuarios se conectaran y descargan el Launcher para lo cual tuvimos que habilitar un puerto para el HTTP. ( http://???.???.??.???:pto/app_cloud)

 

Hasta acá todo perfecto, ahora esta la aplicación al ejecutarse debe conectarse a la base de datos SQLServer para lo cual también tendría que habilitar un puerto si no quiero volver a utilizar la VPN por lo tanto mi consulta es la siguiente : 

Alguien tuvo un caso similar y como resolvieron el tema de seguridad ya que al abrir este ultimo puerto puede generar vulnerabilidades en la seguridad que antes con la VPN no tenia ? 

 

 

Muchas gracias.

Guillermo Tamburo Accepted Answer Pending Moderation
  1. Saturday, 2 November 2024 14:49 PM UTC
  2. PowerBuilder
  3. # 1

Francisco ante que nada quiero agradecerte por la ayuda que siempre me bridas, perdon si las preguntas pero la verdad que en el proyecto me encuentro solo y ademas la comunidad de desarrolladores en Argentina es poca por lo tanto no tengo tanta gente a quien consultar.

 

Te cuento que siempre trabaje con aplicaciones powerbuilder cliente-servidor dentro de una red privada donde se conectaban directamente a la base de datos SQL. Cuando en el 2020 se desato la pandemia para solucionar el problema de acceso dado que los usuarios no podían asistir a la oficina lo hacían con una VPN.

Ahora lo que hice en migrar esa aplicación a cloud e instalé las aplicaciones “ejemplo_cloud” y “ejemplo_cloud_api” en un server IIS.

Para poder acceder al launcher como dije habilite el puerto para poder desde afuera el http://???.???.??.???:8080/ejemplo_cloud y hasta acá todo bien, instalo en la pc cliente el ejecutable.

Ahora bien, cuando ingreso a la aplicación, lo que hacia siempre es ingresar usuario y clave me conectaba al SQL, esto es lo que me falta saber como configurar dentro de la aplicación cloud para no tener que abrir un puerto ya que es totalmente inseguro.

 

--- Esto era mi antigua conexión cuando la aplicación no era CLOUD ---

                sDbParm =  "Database='"+ gsBaseDatos + "'"

                SQLCA.DBMS = "SNC SQL Native Client(OLE DB)"

                SQLCA.LogPass = gsUsuaPass

                SQLCA.ServerName = gsServer

                SQLCA.LogId = gsUsuaClav

                SQLCA.DataBase = gsBaseDatos

                SQLCA.AutoCommit = True

                SQLCA.DBParm = sDbParm

               Connect USING SQLCA;

---------------------------------------------------------------------------------

Por ultimo, por si es de ayuda te adjunto un documento de como tengo configurada el obj power server en la aplicacion. 

 

Muchas gracias nuevamente. 

 

Attachments (1)
Comment
  1. Francisco Martinez @Appeon
  2. Monday, 4 November 2024 14:28 PM UTC
Como ya tienes configurado tu DB Cache en el proyecto, ya no hay necesidad de que configures la transacción manualmente. Tu aplicación funciona sin necesidad de abrir el puerto de la DB?
  1. Helpful
There are no comments made yet.
Francisco Martinez @Appeon Accepted Answer Pending Moderation
  1. Thursday, 31 October 2024 22:56 PM UTC
  2. PowerBuilder
  3. # 2

Hola Guillermo,

 

No se recomienda conectar con bases de datos directamente desde la aplicación, para eso es PowerServer. Si hay algo para lo que necesitas accesar a la DB sugiero que lo abstraigas a una DW, DS o ESQL para que el compilador de PS lo pueda mover a la Web API y así no tengas que abrir otro puerto.

 

EDIT: Perdón, automáticamente asumí que hablas de PowerServer, pero no sé si esto sea correcto. Estás con PowerServer o PowerClient?

 

Saludos,
Francisco

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.