User desktop to cloud database help

  • 8 February 2023
  • 2 replies



Currently, AIMMS Developer is installed as fat client installed on user's workstations but we would like to move the databased externally so the fat client will connect it to an external cloud provider (IaaS or Paas mode maybe managed by AIMMS).

Also, we cannot set up a VPN tunnel for each desktop to reach the external cloud hosted database since it would be impractical and expensive.

What services, protocols and port will be necessary to open and secure/reliable solution should we choose to implement ?

Thanks in advance !

2 replies

Userlevel 4
Badge +5

Dear @HHHermit 

Would you be able to provide the access to the database via a Rest API? Is so, you could retrieve data using DEX (data exchange library).

Something a long the lines of:


Best regards,

Userlevel 4
Badge +5

Hi @HHHermit 

If I understand you correctly, you're looking to host the database in the cloud, while still using the AIMMS fat client application on the user's workstation. 

That raises a number of questions:

  • How does the database get filled? Solely from the AIMMS application? Or are there different processes that also load data into the database?
  • Are you also planning to move the AIMMS application to the cloud? 
  • Is it a multi-user app that actually requires a database for sharing the data among multiple users?

If there are other applications loading data directly into the database, I don't see how you to prevent a VPN or using a service like Azure Data Factory to get data into the database. However, with Azure VPN gateway and Azure VPN Client, setting up a VPN connection to your database from the user's computer is a breeze.

In case you move the application to the AIMMS cloud, you can still run it as a desktop application (although in end-user mode). If you also have an application database with your AIMMS cloud account, your desktop app can reach the database via the tunneling capability of our cloud. However, you would still need a VPN if there are other server applications filling the database, or set up a task in your AIMMS project ( to which the external application can upload the data for AIMMS application to load it into the database. 

In case, your app is not really a multi-user application, you can also consider using a file database like SQLite, which you can access directly from within the AIMMS application without the need for some additional server process. 

So depending on what you intend to accomplish, there are many possible approaches.


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator