Configuration layering
AssigneeSage Global Services Limited
InventorsMarc Albaladejo Sans, Juan Antonio Benitez Sanchez, Daryl Vaughan Britton
Life of this patent
Estimating the term…
Abstract
Various embodiments described herein offer improved functionality for configuring software applications so as to provide customers with a great deal of configuration flexibility, while reducing data redundancy and facilitating maintenance. Multiple configuration layers are provided, including system layer(s) and tenant-specific layer(s). System layer(s) specify configuration parameters for a group of tenants, and tenant-specific layer(s) can be used to override particular parameters as needed for individual tenants. In this manner, the system layer(s) act as a template upon which tenant-specific configuration layer(s) can be added.
Claims21
A computer-implemented method for configuring a software application, comprising:
- at a hardware processing device, automatically populating a first configuration layer, the first configuration layer specifying software application configuration parameters for a group of tenants;
- at the hardware processing device, automatically populating a second configuration layer, the second configuration layer specifying software application configuration parameters for at least one specific tenant, wherein:
- at least one element of the second configuration layer overrides at least one element of the first configuration layer without modifying the first configuration layer;
- and
- at least one element of the first configuration layer is not overridden by the second configuration layer;
- at an electronic storage device, storing metadata representing the first and second software application configuration layers;
- receiving a request for configuration data for configuring the software application in a custom manner for a particular tenant;
- and
- responsive to the request:
- at the hardware processing device, retrieving stored software application configuration metadata corresponding to the first configuration layer for the group of tenants including the particular tenant;
- at the hardware processing device, retrieving stored software application configuration metadata corresponding to the second configuration layer for the particular tenant;
- at the hardware processing device, aggregating the retrieved software application configuration metadata corresponding to the first configuration layer and the software application configuration metadata corresponding to the second configuration layer, to generate a software application configuration for configuring the software application in a custom manner for the particular tenant, wherein the generated software configuration comprises at least one configuration parameter derived from the first configuration layer and at least one configuration parameter derived from the second configuration layer;
- and
- responding to the request by returning the aggregated configuration metadata specifying the software application configuration for configuring the software application for the particular tenant.
A non-transitory computer-readable medium for configuring a software application, comprising instructions stored thereon, that when performed by a hardware processor, perform the steps of:
- automatically populating a first configuration layer, the first configuration layer specifying software application configuration parameters for a group of tenants;
- automatically populating a second configuration layer, the second configuration layer specifying software application configuration parameters for at least one specific tenant, wherein:
- at least one element of the second configuration layer overrides at least one element of the first configuration layer without modifying the first configuration layer;
- at least one element of the first configuration layer is not overridden by the second configuration layer;
- and
- causing an electronic storage device to store metadata representing the first and second software application configuration layers;
- and
- responsive to receiving a request for configuration data for configuring the software application in a custom manner for a particular tenant:
- retrieving stored software application configuration metadata corresponding to the first configuration layer for the group of tenants including the particular tenant;
- retrieving stored software application configuration metadata corresponding to the second configuration layer for the particular tenant;
- aggregating the retrieved software application configuration metadata corresponding to the first configuration layer and the software application configuration metadata corresponding to the second configuration layer, to generate a software application configuration for configuring the software application in a custom manner for the particular tenant, wherein the generated software configuration comprises at least one configuration parameter derived from the first configuration layer and at least one configuration parameter derived from the second configuration layer;
- and
- responding to the request by returning the aggregated configuration metadata specifying the software application configuration for configuring the software application for the particular tenant.
A system for configuring a software application, comprising:
- a hardware processing device, configured to:
- automatically populate a first configuration layer, the first configuration layer specifying software application configuration parameters for a group of tenants;
- automatically populate a second configuration layer, the second configuration layer specifying software application configuration parameters for at least one specific tenant, wherein:
- at least one element of the second configuration layer overrides at least one element of the first configuration layer without modifying the first configuration layer;
- and
- at least one element of the first configuration layer is not overridden by the second configuration layer;
- receive a request for configuration data for configuring the software application in a custom manner for a particular tenant;
- and
- responsive to the request:
- retrieve stored software application configuration metadata corresponding to the first configuration layer for the group of tenants including the particular tenant;
- retrieve stored software application configuration metadata corresponding to the second configuration layer for the particular tenant;
- aggregate the retrieved software application configuration metadata corresponding to the first configuration layer and the software application configuration metadata corresponding to the second configuration layer, to generate a software application configuration for configuring the software application in a custom manner for the particular tenant, wherein the generated software configuration comprises at least one configuration parameter derived from the first configuration layer and at least one configuration parameter derived from the second configuration layer;
- and
- respond to the request by returning the aggregated configuration metadata specifying the software application configuration for configuring the software application for the particular tenant;
- and
- an electronic storage device, communicatively coupled to the hardware processing device, configured to store metadata representing the first and second software application configuration layers.
Dependencies are inferred from the claim text.