1. Tim Ford
  2. PowerBuilder
  3. Thursday, 3 November 2022 14:09 PM UTC

Question to the PB Community:

We have a monolithic application consisting of a PowerBuilder frontend and C# .NET application server, both of which are tied to a MS SQL Server database. When the application was first written it was strictly PB, but over the years the app server was created, and much of the business logic and automated/background processing has been moved to it. However, the PB frontend still utilizes almost 300 windows and approximately 1500 datawindow/datastore objects (about a 3rd of which are for reports).

We have been tasked with moving all direct database connection from the PB client to the .NET app server. This means all 1500+ datawindow objects need to change how they retrieve and update their data so that they no longer establish a direct connection to the database. We had hoped to possibly leverage the webservice datawindow feature, but that has been deprecated and is now obsolete.

Can anyone recommend a course of action that would allow us to continue to use the datawindow objects in place within the client frontend application but move the corresponding CRUD functionality to our C# app server or some other centralized backend process? What would be considered the “best practice” for this scenario?

Thank you in advance for any advice.

Accepted Answer
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 3 November 2022 14:21 PM UTC
  2. PowerBuilder
  3. # Permalink

Hi Tim;

  You are probably looking at a large refactoring job as ..

  • The Web Services should now be RESTFul in nature (sounds like they are using the old SOAP based technology).
  • The C# code needs to now understand DataWindow result sets / packaging in/out of JSON. However, the Appeon C# DataStore product might be a help here.
  • The PB Apps DWO's need to be refactored to use RESTFul Web API calls back & forth.

   It's too bad that the DML DBMS logic was still not in the PB App. What you are looking to do N-Tier wise, could probably be done by using the new PB 2022 "Cloud" edition that comes with the new C# PowerServer 2022. Depending on the PB App size, that transition would probably have been a few weeks of work.

Regards ... Chris

Comment
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Thursday, 3 November 2022 14:44 PM UTC
  2. PowerBuilder
  3. # 1

Upgrade to PowerBuilder 2022 and deploy using PowerServer project type.  It will automatically do what you want to do (remove the direct database access) plus has lots of other benefits.  Here is short video: https://youtu.be/66DIsDsisbE

 

Comment
There are no comments made yet.
Tim Ford Accepted Answer Pending Moderation
  1. Friday, 4 November 2022 12:41 PM UTC
  2. PowerBuilder
  3. # 2

Hi Armeen & Chris,

Please correct me if I'm wrong, but doesn't PowerServer require ongoing service licensing based on usage? It seems like we've looked into that before with earlier versions of PowerServer and the licensing was cost prohibitive for our application.

Comment
  1. mike S
  2. Friday, 4 November 2022 12:45 PM UTC
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Friday, 4 November 2022 14:05 PM UTC
Please contact our sales department (sales@appeon.com) they can review your exact scenario and provide you quote so you can make informed decision.
  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.