IP Library Granted Patent US 9,973,384
Granted Patent B2
US 9,973,384 · App. 14/868,050 · Granted May 15, 2018

System and method for enterprise java bean support in a multitenant application server environment

Inventor: Srinivasa Segu (Fremont, CA)
H04L41/0843H04L41/0893H04L41/12H04L67/1004H04L67/327
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 9,973,384
App. No.
14/868,050
Granted
May 15, 2018
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for supporting Enterprise Java Bean (EJB) and other application types in a multitenant application server environment. The system includes an application server domain with a plurality of partitions, an EJB application, and a plurality of partition-aware server components that interact with the EJB container. The EJB application includes partition-specific code deployed as a separate instance to each partition, and shareable resources across two or more partitions. The system can additionally delegate resource-heavy processing functions of each EJB application to one or more of the server components. At runtime, the system receives a request for an EJB application in a particular partition, and creates an object to hold information of the particular partition. The server components, when invoked by the EJB container, obtains the partition information and execute in a context of the particular partition.

Claims (37)

1. A system for providing Enterprise Java Bean (EJB) application support in an application server environment, comprising:

a computer that includes a microprocessor;

an application server environment, executing on the computer, which includes a domain with a plurality of partitions, a plurality of server components, and an EJB container that depends on the plurality of server components;

an application with partition-specific code deployed as a separate instance to each partition in the EJB container;

wherein when a client request directed to an instance of the application in a particular partition is received, the system establishes an identity of the particular partition; and

wherein the identity of the particular partition is stored in a component invocation context (CIC) and passed through the plurality of server components in the CIC, and enables each of the plurality of server components to execute in a context of the particular partition.

2. The system of claim 1 , wherein the partition-specific code is part of the EJB application that has been determined not to be multiplied.

3. The system of claim 1 , wherein the plurality of server components include a logging component, a job scheduler, an application container, a timer component, and a Java Transaction API (JTA).

4. The system of claim 1 , wherein each of the plurality of server components is partition-aware.

5. The system of claim 1 , the partition identity is established at an entry point into the domain wherein the partition identity can be ascertained.

6. The system of claim 5 , wherein the entry point is one selected from a group consisting of a remote method invocation container, a work manager, a job scheduler, and a web container.

7. The system of claim 1 , wherein the CIC is instantiated at an entry point, and pushed on a thread for use by the EJB container or one of the server components.

8. The system of claim 7 , wherein the entry point that instantiates the CIC context pushes the CIC context on and pop it from the thread.

9. The system of claim 7 , wherein the CIC context is pushed on the threads as ThreadLocal state.

10. A method for providing Enterprise Java Bean (EJB) application support in a multitenant application server environment, comprising:

providing an application server environment, executing on a computer, which includes a domain with a plurality of partitions, a plurality of server components, and an EJB container that depends on the plurality of server components;

providing an application with partition-specific code deployed as a separate instance to each partition in the EJB container;

receiving a client request directed to an instance of the application in a particular partition is received;

establishing an identity of the particular partition;

storing the identity of the particular partition in a component invocation context (CIC); and

wherein the identity of the particular partition is passed through the plurality of server components in the CIC, and enables each of the plurality of server components to execute in a context of the particular partition.

11. The method of claim 10 , wherein the partition-specific code is part of the EJB application that has been determined not to be multiplied.

12. The method of claim 10 , wherein the plurality of server components include a logging component, a job scheduler, an application container, a timer component, and a Java Transaction API (JTA).

13. The method of claim 10 , wherein each of the plurality of server components is partition-aware.

14. The method of claim 10 , the partition identity is established at an entry point into the domain wherein the partition identity can be ascertained.

15. The method of claim 14 , wherein the entry point is one selected from a group consisting of a remote method invocation container, a work manager, a job scheduler, and a web container.

16. The method of claim 10 , wherein the CIC is instantiated at an entry point, and pushed on a thread for use by the EJB container or one of the server components.

17. The method claim 16 , wherein the entry point that instantiates the CIC context pushes the CIC context on and pop it from the thread.

18. The method of claim 16 , wherein the CIC context is pushed on the threads as ThreadLocal state.

19. 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 steps comprising:

providing an application server environment, executing on a computer, which includes a domain with a plurality of partitions, a plurality of server components, and an EJB container that depends on the plurality of server components;

providing an application with partition-specific code deployed as a separate instance to each partition in the EJB container;

receiving a client request directed to an instance of the application in a particular partition is received;

establishing an identity of the particular partition;

storing the identity of the particular partition in a component invocation context (CIC); and

wherein the identity of the particular partition is passed through the plurality of server components in the CIC, and enables each of the plurality of server components to execute in a context of the particular partition.

20. The non-transitory computer readable storage medium of claim 19 , wherein the partition-specific code is part of the EJB application that has been determined not to be multiplied.

Assignments (1)
PROPRIETARY INFORMATION AGREEMENT Recorded Feb 26, 2019
From: SEGU, SRINIVASA RAO
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048447/0088 →
Continuity (2)
Provisional Application 62055877 · Sep 26, 2014
Related Publication 20160094408A1 · Mar 31, 2016