Building SAAS or multi-tenancy application with Mendix is quite a tedious task, specially if it comes to security and performance. The entire SAAS / Multi tentant structure needs to be built within the model. I would like to suggest an improvement to the Mendix platform where the developer can select if he is building a multi-tentant application.
Many databases have various solutions to multi-tenancy; different users, different databases per tentant, several tenants per database, shards, hybrid. Mendix should harnass the power of the database in order to improve the security and performance of multi tenant apps. Some further reading on SAAS design...
Some ideas for the developer/mendix platform
- Add a project settings: SAAS / multi tenancy
- Select multi tenancy settings (1 database per tentant, multiple tenants per database, shards etc.)
- System module has an entity tenant which is linked to users
- Allow tenants to be moved between shards.
I guess implementing SAAS support probably has a big impact on the platform, but currently this functionality is dearly missed.