IP Library Granted Patent US 10,469,401
Granted Patent B2
US 10,469,401 · App. 14/864,719 · Granted Nov 5, 2019

System and method for supporting lifecycle plugins in a multitenant application server environment

Inventors: Rajiv Mordani (Sunnyvale, CA); Siraj Ghaffar (Alpharetta, GA); Chanda Patel (Milpitas, CA); Nazrul Islam (Santa Clara, CA); Loren Konkus (Novi, MI); Jyothi Dattatreya (Saratoga, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L47/76G06F16/24547G06F16/24549G06F16/256G06F16/27G06F16/273G06F16/278H04L67/02H04L67/10H04L67/2819H04L67/42H04L69/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,469,401
App. No.
14/864,719
Granted
Nov 5, 2019
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for providing an end-to-end lifecycle in a multi-tenant application server environment. A lifecycle manager enables configuration integration across different components, for example application servers, traffic directors or load balancers, and database or other components, which may have their own partition-specific configurations. In accordance with an embodiment, the end-to-end lifecycle infrastructure includes a plugin-based mechanism which enables the different components within a multi-tenant application server environment to use a lifecycle plugin to provide their own component-specific lifecycle functionality. In accordance with an embodiment, the system includes support for a tenant onboarding functionality, which can be used to onboard a tenant for a service to a particular partition. In accordance with an embodiment, the system supports the use of a global runtime within the multi-tenant application server environment.

Claims (38)

1. A system for supporting lifecycle plugins in an application server environment, comprising:

one or more computers, comprising an application server environment executing thereon that enables deployment and execution of software applications, wherein the application server environment includes a domain configuration that defines an application server domain for execution of the software applications;

a plurality of resources that can be used within the application server environment;

wherein each partition, of a plurality of partitions, is associated with a partition configuration and provides a subdivision of the application server domain that enables software applications to run within the partition; and

a lifecycle manager that associates components of the application server environment with component-specific lifecycle functionality, including, during configuration of a particular partition, performing lifecycle operations associated with configuration of one or more components, to:

associate each particular component with a partition-specific configuration, for use with the particular partition;

wherein each particular component is associated with a plugin interface that provides access by the lifecycle manager to perform the lifecycle operations associated with configuration of the particular component, to configure the particular component, for use with the particular partition.

2. The system of claim 1 , wherein one or more components of the application server environment includes a database component, and wherein one or more plugins includes a database plugin.

3. The system of claim 1 , wherein the lifecycle manager is provided as a library that enables execution of the lifecycle operations and provides access to lifecycle configurations of the one or more components.

4. The system of claim 1 , wherein the lifecycle manager populates a lifecycle context that is passed to one or more plugins, for use by the one or more plugins in configuring the one or more components.

5. The system of claim 1 , wherein the system includes a plurality of plugins, including a particular plugin associated with each particular component of a plurality of components, wherein each plugin, of the plurality of plugins, implements a plugin interface, and wherein during configuration of the partition, each plugin receives configuration change events and performs corresponding actions to configure its associated component.

6. The system of claim 1 , wherein the system includes one or more resource group templates that are selectively referenced by a resource group, to indicate partition-specific information for one or more of the resources associated with the partition.

7. The system of claim 1 , wherein during creation of a particular partition to be associated with a plurality of components, the lifecycle manager performs lifecycle operations to call each of a plurality of plugin interfaces that are associated with the plurality of components, wherein each of the plurality of plugin interface then creates and configures an instance of its associated component, for use with the particular partition.

8. A method for supporting lifecycle plugins in an application server environment, comprising:

providing, at one or more computers, an application server environment executing thereon that enables deployment and execution of software applications, wherein the application server environment includes a domain configuration that defines an application server domain for execution of the software applications;

providing a plurality of resources that can be used within the application server environment;

wherein each partition, of a plurality of partitions, is associated with a partition configuration and provides a subdivision of the application server domain that enables software applications to run within the partition; and

providing a lifecycle manager that associates components of the application server environment with component-specific lifecycle functionality, including, during configuration of a particular partition, performing lifecycle operations associated with configuration of one or more components, to:

associate each particular component with a partition-specific configuration, for use with the particular partition;

wherein each particular component is associated with a plugin interface that provides access by the lifecycle manager to perform the lifecycle operations associated with configuration of the particular component, to configure the particular component, for use with the particular partition.

9. The method of claim 8 , wherein one or more components of the application server environment includes a database component, and wherein one or more plugins includes a database plugin.

10. The method of claim 8 , wherein the lifecycle manager is provided as a library that enables execution of the lifecycle operations and provides access to lifecycle configurations of the one or more components.

11. The method of claim 8 , wherein the lifecycle manager populates a lifecycle context that is passed to one or more plugins, for use by the one or more plugins in configuring the one or more components.

12. The method of claim 8 , further comprising providing a plurality of plugins, including a particular plugin associated with each particular component of a plurality of components, wherein each plugin, of the plurality of plugins, implements a plugin interface, and wherein during configuration of the partition, each plugin receives configuration change events and performs corresponding actions to configure its associated component.

13. The method of claim 8 , further comprising providing one or more resource group templates that are selectively referenced by a resource group, to indicate partition-specific information for one or more of the resources associated with the partition.

14. The method of claim 8 , wherein during creation of a particular partition to be associated with a plurality of components, the lifecycle manager performs lifecycle operations to call each of a plurality of plugin interfaces that are associated with the plurality of components, wherein each of the plurality of plugin interface then creates and configures an instance of its associated component, for use with the particular partition.

15. 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 the method comprising:

providing an application server environment that enables deployment and execution of software applications, wherein the application server environment includes a domain configuration that defines an application server domain for execution of the software applications;

providing a plurality of resources that can be used within the application server environment;

wherein each partition, of a plurality of partitions, is associated with a partition configuration and provides a subdivision of the application server domain that enables software applications to run within the partition; and

providing a lifecycle manager that associates components of the application server environment with component-specific lifecycle functionality, including, during configuration of a particular partition, performing lifecycle operations associated with configuration of one or more components, to:

associate each particular component with a partition-specific configuration, for use with the particular partition;

wherein each particular component is associated with a plugin interface that provides access by the lifecycle manager to perform the lifecycle operations associated with configuration of the particular component, to configure the particular component, for use with the particular partition.

16. The non-transitory computer readable storage medium of claim 15 , wherein one or more components of the application server environment includes a database component, and wherein one or more plugins includes a database plugin.

17. The non-transitory computer readable storage medium of claim 15 , wherein the lifecycle manager populates a lifecycle context that is passed to one or more plugins, for use by the one or more plugins in configuring the one or more components.

18. The non-transitory computer readable storage medium of claim 15 , further comprising providing a plurality of plugins, including a particular plugin associated with each particular component of a plurality of components, wherein each plugin, of the plurality of plugins, implements a plugin interface, and wherein during configuration of the partition, each plugin receives configuration change events and performs corresponding actions to configure its associated component.

19. The non-transitory computer readable storage medium of claim 15 , further comprising providing one or more resource group templates that are selectively referenced by a resource group, to indicate partition-specific information for one or more of the resources associated with the partition.

20. The non-transitory computer readable storage medium of claim 15 , wherein during creation of a particular partition to be associated with a plurality of components, the lifecycle manager performs lifecycle operations to call each of a plurality of plugin interfaces that are associated with the plurality of components, wherein each of the plurality of plugin interface then creates and configures an instance of its associated component, for use with the particular partition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2016
From: MORDANI, RAJIV; GHAFFAR, SIRAJ; PATEL, CHANDA; ISLAM, NAZRUL; KONKUS, LOREN; DATTATREYA, JYOTHI
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 037519/0108 →
Continuity (5)
Provisional Application 62055575 · Sep 25, 2014
Provisional Application 62055577 · Sep 25, 2014
Provisional Application 62055856 · Sep 26, 2014
Provisional Application 62056427 · Sep 26, 2014
Related Publication 20160094473A1 · Mar 31, 2016
Cited By (1)
US 12,250,267