Multi-tenancy support

The Integration Service supports multi-tenancy with a maximum of 63 tenants per installation. By default, each data element (configuration data and documents) stored in the database and archive is marked as belonging to exactly one tenant. The separation of tenants is a logical separation, which can be extended to a physical separation by a corresponding system configuration on the database and archive storage level.

A new installation is always based on a default tenant. Any new tenant must be declared by an initializing web request. For each tenant the users, roles, document types and configurations of all the necessary parameters must be handled separately by the AdminClient, or, as the case may be, based on the Integration Service’s ImaAdminService in an automated manner.

Configuration data and metadata of the different tenants are all managed within one database instance and separated at least logically. Each Integration Service request contains a header which carries mandatory tenant information. This information is evaluated in any underlying database queries or statements, and it guarantees that only the corresponding tenants can read or modify their assigned information.

The tenant ownership can be used as a partition criterion in the database. Data of the corresponding tenants is written into different partitions and can therefore be further segregated by configuration means of the database.

Separation of binary data, i.e. document content, can be achieved on the storage level by a tenant’s archive configuration, which determines about the physical storage servers or areas that data is written to for each particular tenant (see chapter Archive model).