Web Connection User Discussions
SAAS App with multiple clients
Gravatar is a globally recognized avatar based on your email address. SAAS App with multiple clients
  Joel Aiken
  All
  Nov 19, 2017 @ 12:02pm

I am beginning to work on an SAAS app which I hope will have multiple clients. I am looking for comments on the best way to set it up. I was planning to have one set of DBFs which are "shared" among all clients. Each DBF would have a client_id field in order to keep the data segregated by client. I figured that was much better than having separate DBFs for each client. One possible drawback is the file size limitation on DBFs. I intend to archive older data which will likely minimize this limitation. If the number of clients grows to a large number, I was thinking of creating a second group of DBFs for the next batch of clients. At this time, I intend to have just one webconnect app to drive everything.

I welcome any comments or suggestions. Joel Aiken

Gravatar is a globally recognized avatar based on your email address. re: SAAS App with multiple clients
  Michael Hogan (Ideate Hosting)
  Joel Aiken
  Nov 20, 2017 @ 09:02am

Hi Joel;

I use exactly your approach for my vertical market applications.

If I was starting from scratch, I would design the app to use SQL Server for any tables that might exceed 2GB. SQL Server Express 2017 is free and supports databases as large as 10GB (that's the Database size - not the table size). If your needs exceed that, you can simply upgrade the SQL Server to a paid version.

I also worked on another app that uses MySQL, which also works fine - but I find the MS management studio more familiar.

Gravatar is a globally recognized avatar based on your email address. re: SAAS App with multiple clients
  Joel Aiken
  Michael Hogan (Ideate Hosting)
  Nov 20, 2017 @ 04:07pm

Thanks Michael.

Joel Aiken

Gravatar is a globally recognized avatar based on your email address. re: SAAS App with multiple clients
  FoxInCloud Support - Thierry N.
  Joel Aiken
  Nov 21, 2017 @ 04:17am

You can have client-based sites all 'pointing' to the same WebConnect (or FoxInCloud) app.

Your app can identify the client from the URL (eg. client.myapp.xxx) to customize the page rendering and/or open the proper database and/or filter the table.

You can also have multiple apps with sub-classes of a shared process class. The benefit is that, in case of an app failure, not all clients are down at the same time. Downside is that you need to update x apps instead of 1.

Segregating databases could be a benefit for your clients having a desktop version of your app, to synchronize and/or up|download the tables. Auditors might also prefer see things (app and data) clearly separated for each client.

Of course you have more setup with a segregated scenario, and setting up a new app through an on-line order would take longer (which, IMO, is acceptable and re-assuring for most B2B clients). You can still have a demo app for your clients' trial.

In short, IMO, the analysis should go beyond the DBF size.

Gravatar is a globally recognized avatar based on your email address. re: SAAS App with multiple clients
  Joel Aiken
  FoxInCloud Support - Thierry N.
  Nov 21, 2017 @ 03:10pm

Thanks, excellent comments. A previous app I built in webconnect had over 700 clients, and it ran fine. My new app is likely to have fewer clients, but they will use the app much more often.

Joel

© 1996-2024