1. Daniel Vivier
  2. PowerServer 2020 or older (Obsolete)
  3. Tuesday, 15 August 2017 13:51 PM UTC

I was looking through the product manuals library for Appeon and hoping to find a document with some of your I expect hard-learned lessons on best practices for Appeon Web apps with lots of users, but didn't find anything. (I expect to have thousands eventually.) My current thought is that each user will have their own DB, since that's how it works in the installed client-server PB apps we current sell (and will continue to sell), and adapting it to one DB for everyone would be a nightmare - and also seems way less secure.

Is there some document I haven't found with some of these best practices thoughts? Or at least a book or comprehensive website (not necessarily about Appeon Web specifically) someone can recommend?

Thanks.

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 15 August 2017 15:56 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 1

Hi Dan;

  Both the Appeon Mobile & Appeon Web products via their PowerServer component have a "kool" feature called the CACHENAME that might assist you here in achieving a USer DB connection for each App thread. The CacheName is a property of the Transaction Object (aka SQLCA) DBPARM field. and requests that the PowerServer redirect the DB connection to a specific data source (DS). The DS in turn would map to a unique DB Instance in your case.

 For example ... I have declared four DB instances in PowerServer: Chris, Chris1, Chris2, and Chris3, as follows:

 

CODE:  At run time, I can redirect the default PB App SQLCA mapping via code. Here is an example using an SQL Server connection type ...


IF cb_retrieve.enabled = TRUE THEN                                      // CB enabled?
    sqlca.dbms        =    "MSS"                                                           // YES=>Set DBMS
    sqlca.dbparm    =    "CacheName='Chris1' "                           // Mark as Dynamic DS!
END IF

....

Connect using SQLCA;

dc_data.SetTransObject( SQLCA )
dc_data.Retrieve ( )
Disconnect using SQLCA;


 

  In your case, I would just set the "CacheName='xxxxxx' "  - where xxxxx would be the DB instance you would like the user to use. You can then set-up 100's if not 1,000's of user to CacheName (DB instance) mappings.

 

Note: Check out the CACHENAME feature in the Appeon Web/Mobile (aka PowerServer Toolkit) Help file for more detailed information (or search for the topic Dynamic transaction object to data source mapping)!

 

HTH ... Food for thought!

 

Regards ... Chris

Comment
There are no comments made yet.
Mike S Accepted Answer Pending Moderation
  1. Tuesday, 15 August 2017 17:24 PM UTC
  2. PowerServer 2020 or older (Obsolete)
  3. # 2

some discussions of methods of handling multi-tenancy:  

  • https://docs.microsoft.com/en-us/azure/sql-database/sql-database-design-patterns-multi-tenancy-saas-applications
  • https://msdn.microsoft.com/en-us/library/aa479086.aspx​

 

things that you may consider to be  somewhat more specific to powerweb/appeon are things like

  • onboarding of customers (use the new cache create feature!)
  • settings in appeon web that you want to consider
  • issues revolving around pricing.  Most (all?) versions of appeon powerweb are priced based on number of concurrent sessions.  If you provide customers with unlimited sessions as part of  your pricing, then you may run into costs that don't mesh with revenues.  Typical web applications don't have this potential for price/cost mismatch.
  • how to handle offering both PB and PowerWeb versions of your products 
  • customer log - how to direct them to the correct data/applications

a few of these things have been presentations at conferences (and a recent PB tv); and networking with ISVs  at the conferences can be a good way to find out what has and hasn't worked (especially as powerweb evolves)

 

 

 

Comment
  1. Daniel Vivier
  2. Friday, 18 August 2017 15:10 PM UTC
Thanks, Mike. The 2nd of those URLs doesn't work - do you have a correction that works?

  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.