1. Mikhael Botvinik
  2. PowerServer 2020 or older (Obsolete)
  3. Monday, 21 December 2020 17:00 PM UTC

We are now working on a client-server version of PowerBuilder 2019, and because of the security requirement not to have program files on local computers, we are expected to switch to the CloudPro version. I would like to know how next version of PowerServer( PowerServer 2021) will work in terms of the physical location of the program files. Where, while the program is running, will the .exe file, window files, user object files, etc. be located: on the web server or on hard disk of each client computer or may be in the RAM of each computer?

And after closing the program, where will these exe and other files be, will they be saved on the hard disk of each local computer for use next time like in client-server version of PowerBuilder, or are all the files taken from the server each time?
Thank you.

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Monday, 21 December 2020 17:38 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 1

Hi Mikhael;

  The  PS2021 Cloud Apps that get loaded on to the Client machine will using a similar technology approach to the new PowerClient feature coming out in PB 2019 R3 in January, 2021 (current estimated release time frame). You can watch the PowerClient presentation I did for the Elevate2020 conference for more details ...

  The main difference between PC and PS2021 though will be the ability to remove your business logic from the Client side and place it into the middle tier of PowerServer. This would allow you to create a very thin client that handles the UI only and have all the heavy lifting logic execute on the server side.

   The above being said, that does not mean that PS Cloud Apps could not create and leave files on the client machine. Even temporary ones - depending on the PB feature(s) used. So it would be a good idea to have the App's (regardless of them being 2,3 even 4 tier) in design to track & cleanup file resources after processing. I personally had to do that in a few Government applications as this is a requirement for Protected "B" and higher based applications (Chart).

   Application files can only be left on the client machine where they are fully encrypted. The Secret security level and above data that is left on a client PC must be encrypted using a one-way algorithm (ie: User ID's and Passwords).

Regards ... Chris

Comment
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Monday, 21 December 2020 19:44 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 2

Hi Mikhael,

Everything leaves files on the client-side, even pure HTML pages will be cached by the browser.  So perhaps your real question is what types of info is in the files that PowerServer 2021 will save to the client side?

This architectural whitepaper for PowerServer 2021 outlines in detail what types of files are stored where and what types of information are in the various files.

But I will attempt to summarize this in a nutshell:

  • On the user's machine, there will be your app's .exe and everything related to PowerScript.  So in this sense it might seem similar to client/server today.

  • However, no SQL (including DB username/password) is stored on the user's machine... this is cloud architecture so data access is happening on the server instead of the client side.  

  • Another key difference is that when the app is compiled to PBDs, we encrypt those PBDs so that it cannot be readily decompiled and assign a hash value to ensure your app hasn't been hacked.  

  • The client communication with the server is totally different also.... it is standard REST/JSON communication over HTTPS to the Web server.  The security of the REST Web API is open for you to implement in C#, such as OAuth 2.0.

  • And finally, if there is any PowerScript business logic that you think is more appropriate to execute on the server side instead of the user's machine, the PowerScript Migrator that comes included with PowerServer 2021 can automate that conversion to C# REST Web APIs.

As far as how updates work, each time the app starts it will automatically check the Web server to see if the file has been modified.  It goes based on the hash value rather than time stamp of the file so if the content hasn't really changed it won't re-download and instead use the cached version. 

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.