1. Mike Kolenda
  2. PowerBuilder
  3. Wednesday, 21 October 2020 15:35 PM UTC

We recently began looking into Shared Object functions to multithread some long running processes in our system.  While putting together a business case, I found that these functions are not supported in PowerServer (Web).

I wasn't sure if displaying a progress bar during the separate processes was unsupported or the asynchronous, so I wired up the example and had no success. 

We support both client-server and web versions of our software deployed from PowerBuilder & Appeon PowerServer, so utilizing the same code in both is beneficial.

What are our options in PB 2019 to call processes asynchronously so that they work both in client-server and web?


- Mike


mike S Accepted Answer Pending Moderation
  1. Wednesday, 21 October 2020 17:24 PM UTC
  2. PowerBuilder
  3. # 1

if your process is built within an NVO (rather than a window), you could set it up to run completely separate on another server - you send a message with the process data. 

You also have the option to convert it to c# with the new tools available in PB, as long as you are ok to maintain it as c#.

  1. Mike Kolenda
  2. Wednesday, 28 October 2020 14:49 PM UTC
Thanks for the feedback, Mike. I assume you are recommending creating a Web Service (both options) with the NVO. Are there other approaches to doing this? We are still considering these alternatives, but at this point we were hoping to not utilize a separate server for the process.

We figured we begin by converting the current process to an NVO first, but before beginning understand the implications tied to the course of action.
  1. Helpful
  1. mike S
  2. Wednesday, 28 October 2020 15:53 PM UTC
create a small application that takes a command line (or reads data from a file, or from the database) and then creates your NVO and processes the data. it doesn't have to be a web service, you could run it on the same machine that your user is on. there may be security considerations, and you want to be sure you are starting the application as a completely separate process, but in the end you are just running another application.

running on the same box as the user is not really an option for powerserver web clients, for that you would want to run on a server. that can be done as webservice or some sort of process queue. you basically are running a batch job.

  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 21 October 2020 15:49 PM UTC
  2. PowerBuilder
  3. # 2

Hi Mike;

   The good news is that the Shared Object feature will be supported in the new PowerServer version 2021.

Regards... Chris

  1. Yiannis Papadomichelakis
  2. Tuesday, 27 October 2020 11:15 AM UTC
I thought that SharedObjects was not supported anymore. I am glad this changed, because there are some bugs that make my life very difficult....
  1. Helpful
  1. Mike Kolenda
  2. Wednesday, 28 October 2020 14:36 PM UTC
Thanks for the update, Chris. I look forward to the release of PowerServer 2021.

  1. Helpful
  1. Mike Kolenda
  2. Wednesday, 28 October 2020 14:39 PM UTC
Hello, Yiannis.

Do you have any bug fixes / improvements that may be of interest. I'd like to be aware of any challenges you've come across while implementing functionality with the shared objects.

The one thing I found interested is I cannot pass a datastore as an argument into the shared NVO. I though the DS was an NVO but the error messages states it is a visual object.
  1. Helpful
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.