System and method for multi-tenancy enablement of enterprise JAVA (TM) applications using resource proxies and application tenancy context
First Claim
1. A method for deployment of an application, comprising:
- providing, at one or more computers, including an application server that enables deployment and execution of software applications, wherein the application server is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications,a plurality of deployable resources defined within the application server, anda plurality of application deployments, each application deployment being associated with a different tenant of a plurality of tenants, wherein an application deployment of the plurality of application deployments is deployed in the context of a tenant of the plurality of tenants and is associated with at least one tenant specific resource of a plurality of tenant specific resources;
running the application deployment of the plurality of application deployments on a thread within the application server, wherein the application deployment communicates with a resource proxy, the resource proxy being bound at a fixed location within the domain; and
determining an application tenancy context of the thread, the determined application tenancy context providing an indication of the tenant based upon the at least one tenant specific resource associated with the running application deployment;
selecting, by the resource proxy, based upon the determined application tenancy context of the thread, a tenant specific resource of the plurality of tenant specific resources, and, on behalf of the running application deployment, communicating with the selected tenant specific resource of the plurality of tenant specific resources.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with an embodiment, described herein is a system and method for multi-tenancy enablement of enterprise Java™ applications using resource proxies and application tenancy context. In according with an embodiment, the system and method can provide a plurality of deployable resources which can be used within the application server environment, and one or more application deployments, wherein each application deployment includes at least one of tenant-specific code and shared-tenant code. The system and method can further determine an application tenancy context of a thread, and point to one or more resource proxies, each of the one or more resource proxies being configurable to communicate with a tenant specific resource. Each of the one or more resource proxies can use the application tenancy context of a thread to communicate with a tenant specific resource.
-
Citations
20 Claims
-
1. A method for deployment of an application, comprising:
-
providing, at one or more computers, including an application server that enables deployment and execution of software applications, wherein the application server is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications, a plurality of deployable resources defined within the application server, and a plurality of application deployments, each application deployment being associated with a different tenant of a plurality of tenants, wherein an application deployment of the plurality of application deployments is deployed in the context of a tenant of the plurality of tenants and is associated with at least one tenant specific resource of a plurality of tenant specific resources; running the application deployment of the plurality of application deployments on a thread within the application server, wherein the application deployment communicates with a resource proxy, the resource proxy being bound at a fixed location within the domain; and determining an application tenancy context of the thread, the determined application tenancy context providing an indication of the tenant based upon the at least one tenant specific resource associated with the running application deployment; selecting, by the resource proxy, based upon the determined application tenancy context of the thread, a tenant specific resource of the plurality of tenant specific resources, and, on behalf of the running application deployment, communicating with the selected tenant specific resource of the plurality of tenant specific resources. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for deployment of an application, comprising:
-
one or more computers, including an application server that enables deployment and execution of software applications, wherein the application server is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications; a plurality of deployable resources defined within the application server; and a plurality of application deployments, each application deployment being associated with a different tenant of a plurality of tenants, wherein an application deployment of the plurality of application deployments is deployed in the context of a tenant of a plurality of tenants and is associated with at least one tenant specific resource of a plurality of tenant specific resources; wherein the application deployment of the plurality of application deployments is run on a thread within the application server, wherein the application deployment communicates with a resource proxy, the resource proxy being bound at a fixed location within the domain; and wherein the system determines an application tenancy context of the thread, the determined application tenancy context providing an indication of the tenant based upon the at least one tenant specific resource associated with the running application deployment; and wherein the resource proxy, based upon the determined application tenancy context of the thread, selects a tenant specific resource of the plurality of tenant specific resources, and, on behalf of the running application deployment, communicates with the selected tenant specific resource of the plurality of tenant specific resources. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable storage medium having instructions stored there that when executed cause a system to perform the steps comprising:
-
providing, at one or more computers, including an application server that enables deployment and execution of software applications, wherein the application server is associated with a domain configuration that is used at runtime to define a domain for execution of the software applications, a plurality of deployable resources defined within the application server, and a plurality of application deployments, each application deployment being associated with a different tenant of a plurality of tenants, wherein an application deployment of the plurality of application deployments is deployed in the context of a tenant of the plurality of tenants and is associated with at least one tenant specific resource of a plurality of tenant specific resources; running the application deployment of the plurality of application deployments on a thread within the application server, wherein the application deployment communicates with a resource proxy, the resource proxy being bound at a fixed location within the domain; and determining an application tenancy context of the thread, the determined application tenancy context providing an indication of the tenant based upon the at least one tenant specific resource associated with the running application deployment; selecting, by the resource proxy, based upon the determined application tenancy context of the thread, a tenant specific resource of the plurality of tenant specific resources, and, on behalf of the running application deployment, communicating with the selected tenant specific resource of the plurality of tenant specific resources. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification