1. Moshe Tangi
  2. PowerBuilder
  3. Wednesday, 7 December 2022 16:31 PM UTC

Hi all , 

 

I am running a c/s app on the client pc ( pb 2017r3  win10/11 ) . 

The app connecting directly to a MSSql db located on a remote server over the Internet.

I am using SNC SQL Native Client(OLE DB) / MSOLEDBSQL in my SQLCA.DBParm .

My questions :

   1.  What is the best way to secure the connection ? 

   2. What is the best way for a good performance assuming the code ( dw ) are not the problem ?

   3. Deploying as a PowerClinet can get a better results fro speed / security or its not relevant  ?

 

I know the best answer for all this is using PowerServer , but beside that ...

I will be glad to hear any ideas from people who work the same way maybe .

 

thanks

mike S Accepted Answer Pending Moderation
  1. Wednesday, 7 December 2022 18:38 PM UTC
  2. PowerBuilder
  3. # 1

other than VPN, the only way to encrypt the traffic is using ssl connection string:

c# - Using Encrypt=yes in a Sql Server connection string -> "provider: SSL Provider, error: 0 - The certificate's CN name does not match the passed value." - Stack Overflow

 

your other option is to use remote desktop type of deployment

 

Comment
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 7 December 2022 17:24 PM UTC
  2. PowerBuilder
  3. # 2

Hi Moshe,

PowerServer is the right solution for this scenario rather than PowerClient.  Aside from security issues, your app will not run reliably because client/server requires persistent connection to the database and Internet is not so persistent.

Anyway, to answer your questions:

1. VPN would be only way I can really think of.  You don't want to expose your database to the world over the Internet.  But this is still not a good security practice to run client/server architecture over the Internet.

2. What is going to kill your performance is number of roundtrips to the database for a given end-user operation of the app (e.g. opening window, clicking save button, etc.).  All the techniques except PowerServerLabel mentioned in this doc could be applied to client/server: https://docs.appeon.com/ps2022/Tuning_excessive_server_calls.html

3. PowerClient won't improve the runtime performance or security of your DB connectivity... because well your app architecture is still client/server.  However, it still has client-side security features (app encryption and integrity checking) and it is self-updating eliminating deployment headaches.  This quick tour explains this feature: https://www.appeon.com/products/power-client

Best regards,
Armeen

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.