1. Kyungil Choi
  2. PowerBuilder
  3. Wednesday, 29 March 2023 07:46 AM UTC

Hello.

I'm Choi Kyungil from Penta System Technology.

 

I've got a question of deploying powerbuiler apps. I got a white paper named 'Whitepaper_Deploying_PowerBuilder_Apps_to_the_Cloud.pdf' from https://docs.appeon.com/ps2022/Architecture.html. And it reads like below at page 5 of 6.

"All PBD files are broken down very granularly into each individual object/definition file. For example, each SRW, SRD, SRU, etc. file would have its individual corresponding p-code file (that have new file extensions, such as .dwo, .apl, .fun, .win, .udo) instead of a monolithic PBD files. Then each version of every p-code file has a unique identifier so that when a user runs the installable cloud app the p-code files can be incrementally downloaded and updated, depending on the window and functionality the user is accessing."

I thought that means if I modify some scripts in a window or any object and build, deploy apps then end-users can see the modified window or the modified object when they open that window or object without exiting application program. But this does not work when I tested. I was able to see the modofied window after exit the application program and open that window.

 

Here is my quesion.

Did I make something wrong when I modified a window, built and deployed it? I hope that I modify a window and end-user can see the modified one when he close that window and re-open it without exiting the application.

Can I?

Kyungil Choi Accepted Answer Pending Moderation
  1. Wednesday, 29 March 2023 23:57 PM UTC
  2. PowerBuilder
  3. # 1

Hi, guys.

I know that I can see modified parts of the app after I re-enter the app as I tested it already.

But what does this sentence in the white paper mean?

"when a user runs the installable cloud app the p-code files can be incrementally downloaded and updated, depending on the window and functionality the user is accessing."

Do I misunderstand the meaning of the sentence? 

 

regards...

Comment
  1. Armeen Mazda @Appeon
  2. Thursday, 30 March 2023 01:05 AM UTC
Yes, but perhaps whitepaper not written clearly. As I already mentioned they check is performed when you start the app only, but it is smart enough to only download what has changed instead of redownload the whole app and the download is performed when user tries to access the window. But the check is at startup you can’t hot update the app.
  1. Helpful 2
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 29 March 2023 18:37 PM UTC
  2. PowerBuilder
  3. # 2

No, the user will not get updated window unless exiting and restarting the application.  To maintain integrity of the app, the updates are done at startup.  Anyway, when doing any "maintenance" on the app it is best that you plan it and have a short period of time that the users are not allowed to use the app.

Comment
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Wednesday, 29 March 2023 14:32 PM UTC
  2. PowerBuilder
  3. # 3

There is caching involved - as you stated, it does not check the server for updates every time a window/object is opened.  

I don't know exactly how it works, it may check for an update at startup and clear all cached objects (most likely), or it may keep a list of objects that have been checked for updates and only do that validation once.

 

You can setup the project to download either the entire application or download as needed.  I assume that if you selected "download entire application" then it would only ever check for updates on startup.

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Wednesday, 29 March 2023 08:07 AM UTC
  2. PowerBuilder
  3. # 4

HI, 

I'm not a 100% sure, but I don't think so. The users will have to exit the application first and then come back in. That makes sense too, because what if your modified window now uses some new user object that hasn't been downloaded yet? Things would blow up.

regards

Comment
  1. Chris Pollach @Appeon
  2. Wednesday, 29 March 2023 18:10 PM UTC
HI Miguel;

You are correct as the Cloud App Launcher (CAL) is ONLY executed at App start-up when "download all objects at startup" is set. Then it's the CAL that does the object CRC checking back to the Web Server looking for changes. However, If the "download as required" option is checked then the CAL only checks once at first instantiation time. Remember that object P-code is *not* thrown out of memory when destroyed. It will continue to reside in the "Class Pool" for the next instantiation request.. Thus, no CAL involvement would be required on secondary instantiation requests (hence no CRC check back to the Web Server needed). HTH

Regards ... Chris
  1. Helpful 1
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.