SYSTEM AND METHOD FOR SUPPORTING MULTI-TENANCY IN AN APPLICATION SERVER, CLOUD, OR OTHER ENVIRONMENT

Information

  • Patent Application
  • 20230300083
  • Publication Number
    20230300083
  • Date Filed
    May 26, 2023
    a year ago
  • Date Published
    September 21, 2023
    9 months ago
Abstract
In accordance with an embodiment, described herein is a system and method for supporting multi-tenancy in an application server, cloud, on-premise, or other environment, which enables categories of components and configurations to be associated with particular application instances or partitions. Resource group templates define, at a domain level, collections of deployable resources that can be referenced from resource groups. Each resource group is a named, fully-qualified collection of deployable resources that can reference a resource group template. A partition provides an administrative and runtime subdivision of the domain, and contains one or more resource groups. Each resource group can reference a resource group template, to bind deployable resources to partition-specific values, for use by the referencing partition. A tenant of the application server or cloud environment can be associated with a partition, or applications deployed therein, for use by that tenant.
Description
Claims
  • 1. A system for supporting multi-tenancy in a cloud or other computing environment, comprising: a computer that includes one or more processors and a cloud or other computing environment executing thereon, and having a domain configuration that is used at runtime to define a partitioned domain for execution of software applications, including, for each of one or more tenants, a local namespace associated with that tenant;wherein the system uses the local namespaces associated with the tenants in communicating requests to software application or resources associated with the tenants;wherein upon a request received from a client directed to a software application or resources associated with a particular tenant, the system: stores a tenant-specific identifier in a request execution context associated with the request; androutes the received request to the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith.
  • 2. The system of claim 1, wherein the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith, are provided within a partition.
  • 3. The system of claim 1, wherein the system enables one or more partitions to be associated with a tenant, for use by the tenant.
  • 4. The system of claim 1, wherein, for a particular partition, a particular resource group is associated with a virtual target information, for use with its resources and with the particular partition.
  • 5. The system of claim 1, wherein the system is provided within a cloud environment that enables one or more partitions to be associated with a tenant for use by the tenant; wherein a partition identifier is associated with a tenant identifier; andwherein a tenant-aware application enables use of the tenant identifier to handle multiple tenants that are using a single instance of the tenant-aware application.
  • 6. The system of claim 1, wherein: a first partition is associated with a first partition identifier, and a first plurality of resources associated with the first partition, and is accessible by a first tenant and clients associated therewith; anda second partition is associated with a second partition identifier, and a second plurality of resources associated with the second partition, and is accessible by a second tenant and clients associated therewith.
  • 7. The system of claim 4, wherein the particular resource group references a resource group template that binds resources of the resource group template to partition-specific values.
  • 8. The system of claim 1, wherein a networking layer associates incoming requests with partition identifiers based on a request Uniform Resource Locator (URL), and wherein the networking layer determines a target partition identifier for the received request, and adds the determined target partition identifier to the received request’s execution context.
  • 9. A method for supporting multi-tenancy in a cloud or other computing environment, comprising: providing, at a computer that includes one or more processors and a cloud or other computing environment executing thereon, a domain configuration that is used at runtime to define a partitioned domain for execution of software applications, including, for each of one or more tenants, a local namespace associated with that tenant;wherein the system uses the local namespaces associated with the tenants in communicating requests to software application or resources associated with the tenants;wherein upon a request received from a client directed to a software application or resources associated with a particular tenant, the system: stores a tenant-specific identifier in a request execution context associated with the request; androutes the received request to the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith.
  • 10. The method of claim 9, wherein the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith, are provided within a partition.
  • 11. The method of claim 9, wherein the system enables one or more partitions to be associated with a tenant, for use by the tenant.
  • 12. The method of claim 9, wherein, for a particular partition, a particular resource group is associated with a virtual target information, for use with its resources and with the particular partition.
  • 13. The method of claim 9, wherein the system is provided within a cloud environment that enables one or more partitions to be associated with a tenant for use by the tenant; wherein a partition identifier is associated with a tenant identifier; andwherein a tenant-aware application enables use of the tenant identifier to handle multiple tenants that are using a single instance of the tenant-aware application.
  • 14. The method of claim 9, wherein: a first partition is associated with a first partition identifier, and a first plurality of resources associated with the first partition, and is accessible by a first tenant and clients associated therewith; anda second partition is associated with a second partition identifier, and a second plurality of resources associated with the second partition, and is accessible by a second tenant and clients associated therewith.
  • 15. The method of claim 12, wherein the particular resource group references a resource group template that binds resources of the resource group template to partition-specific values.
  • 16. The method of claim 9, wherein a networking layer associates incoming requests with partition identifiers based on a request Uniform Resource Locator (URL), and wherein the networking layer determines a target partition identifier for the received request, and adds the determined target partition identifier to the received request’s execution context.
  • 17. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform a method comprising: providing, at a computer that includes one or more processors and a cloud or other computing environment executing thereon, a domain configuration that is used at runtime to define a partitioned domain for execution of software applications, including, for each of one or more tenants, a local namespace associated with that tenant;wherein the system uses the local namespaces associated with the tenants in communicating requests to software application or resources associated with the tenants;wherein upon a request received from a client directed to a software application or resources associated with a particular tenant, the system: stores a tenant-specific identifier in a request execution context associated with the request; androutes the received request to the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith.
  • 18. The non-transitory computer readable storage medium of claim 17, wherein the software application or resources provided within the domain and associated with the particular tenant, for use by the tenant associated therewith, are provided within a partition.
  • 19. The non-transitory computer readable storage medium of claim 17, wherein the system enables one or more partitions to be associated with a tenant, for use by the tenant.
  • 20. The non-transitory computer readable storage medium of claim 17, wherein: a first partition is associated with a first partition identifier, and a first plurality of resources associated with the first partition, and is accessible by a first tenant and clients associated therewith; anda second partition is associated with a second partition identifier, and a second plurality of resources associated with the second partition, and is accessible by a second tenant and clients associated therewith.
Provisional Applications (2)
Number Date Country
62015966 Jun 2014 US
61929888 Jan 2014 US
Continuations (4)
Number Date Country
Parent 17732297 Apr 2022 US
Child 18202668 US
Parent 16918631 Jul 2020 US
Child 17732297 US
Parent 15948721 Apr 2018 US
Child 16918631 US
Parent 14601883 Jan 2015 US
Child 15948721 US