Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When doing multi-tenant integrations, three concepts need to be considered and properly scoped: Configuration, Routes and Models.

Configuration scoping

Which configuration parameters should be used Your application should be able to fetch the right API configuration (e.g.: which REST API host to use) based on the context (url, field stored in database)? Maestrano.com has its own set of API endpoints but other enterprise tenants will have other different onesof a controller action and/or database model. Multi-tenant configuration is achieved by associating a configuration manifest to a "tenant key" (unique identifier) which will then be used in to tag models and to parameterize routes.

Route scoping

One way of understanding the context of incoming traffic is to properly scope urls using the tenant key mentioned above. E.g.: Webhooks coming from Maestrano should hit a url like "/maestrano/some-webhook" while webhooks coming from another tenant should look like "/sometenant/some-webhook". In a more general manner, URLs related to Maestrano integration multi-tenant URLs should be parameterized using a tenant key parameter: "/:tenant_key/some-webhook"

...

When storing records related to Maestrano and/or one of Maestrano enterprise customersEnterprise Tenants, then your application should be able to record to keep track of which tenant and which tenant it customer account this record is related to. This is usually done by storing a tenant key - and tenant customer account id - on the record or in an identity lookup map table (see section 4).

 

3) Example of multi-tenant integration (pseudo code)

The example below gives a high level overview of what your code may look like in the context of a multi-tenant integration. If you have already done the integration to maestrano.com , the code below will look familiar and essentially intends to show how you can "extend" your current integration to make it multi-tenant.

This The code samples show you the general steps involved in getting a basic multi-tenant setup for Single Sign-On, Single Billing and Connec data sharing. For Note that for this example, we assume the use of one of Maestrano's SDKs - available in Ruby, Java, PHP and .NET.

...