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.