IP Library Granted Patent US 9,009,699
Granted Patent B2
US 9,009,699 · App. 11/809,005 · Granted Apr 14, 2015

Providing a POJO-based microcontainer for an application server

Inventor: Scott M. Stark (North Bend, WA)
Assignee: Red Hat, Inc.
G06F8/24G06F8/315
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,009,699
App. No.
11/809,005
Granted
Apr 14, 2015
Kind
B2
Abstract

A method and apparatus for using a microcontainer as a Plain-Old-Java-Object (POJO) based kernel in an application server. In one embodiment, the method includes dynamically construct deployed objects of a deployment from aspects. The method further includes providing a runtime infrastructure by dynamically constructing kernel objects of an application server from the aspects to execute the deployed objects.

Claims (57)

1. A method comprising:

selecting, based on a Java-based input, by a main deployer in a deployment layer executed by a processing device, a set of ordered deployers including at least one structure deployer and at least one translation deployer from within the deployment layer;

generating, by the selected structure deployer executed by a processing device, a metadata structure describing the structure of a deployment to be used by a microcontainer (MC) kernel in runtime operations;

translating, by the selected at least one translation deployer executed by the processing device, the Java-based input comprising a first set of properties of a bean into a Plain Old Java Object (POJO) having a second set of properties that is different than the first set of properties;

passing, by the deployment layer during deployment time, the POJO as a deployed object to the MC kernel executed by the processing device and communicably coupled to the deployment layer;

and deploying, by the MC kernel at runtime, the POJO as a kernel object in an application server comprising the deployment layer and the MC kernel.

2. The method of claim 1 further comprising:

constructing at runtime, by the processing device, a first deployed object from the deployed POJO and a repository of aspects;

constructing at runtime, by the processing device, a chain of interceptors from the repository of aspects to provide a service to the deployed POJO; and

in response to a change to an aspect used by the first deployed object, identifying a second deployed object affected by the change and determining an action for the second deployed object.

3. The method of claim 1 further comprising:

constructing at runtime, by the processing device, a deployed object from the deployed POJO and a repository of aspects;

constructing at runtime, by the processing device, a chain of interceptors from the repository of aspects to provide a service to the deployed POJO; and

in response to a change to an aspect used by the deployed object, determining whether to restart a service associated with the deployed object.

4. The method of claim 1 further comprising:

constructing at runtime, by the processing device, a deployed object from the deployed POJO and a repository of aspects;

constructing at runtime, by the processing device, a chain of interceptors from the repository of aspects to provide a service to the deployed POJO; and

in response to a change to an aspect used by the deployed object, determining whether to reinject an interceptor in the chain of interceptors that provides a resource to the deployed object.

5. The method of claim 4 wherein the interceptors are implemented by POJOs.

6. The method of claim 1 further comprising:

constructing at runtime, by the processing device, a first deployed object and a second deployed object from the deployed POJO and a repository of aspects;

controlling injection of an interceptor into the first deployed object in view of a dependency between the first deployed object and the second deployed object.

7. The method of claim 6 wherein the repository of aspects comprises a customized plug-in.

8. A system comprising:

a memory to store a Java-based input comprising a first set of properties of a bean; and

a processing device communicably coupled to the memory;

a deployment layer executable from the memory by the processing device, the deployment layer to:

select, based on a Java-based input, by a main deployer in the deployment layer, a set of ordered deployers including at least one structure deployer and at least one translation deployer from within the deployment layer;

generate, by the selected structure deployer, a metadata structure describing the structure of a deployment to be used by a microcontainer (MC) kernel in runtime operations;

translate, by the selected at least one translation deployer, the Java-based input into a Plain Old Java Object (POJO) having a second set of properties that is different than the first set of properties;

pass, by the deployment layer during deployment time, the POJO as a deployed object to the MC kernel executed by the processing device and communicably coupled to the deployment layer; and

the MC kernel to deploy, at runtime, the POJO as a kernel object in an application server comprising the deployment layer and the MC kernel.

9. The system of claim 8 wherein the processing device is further to:

construct, at runtime, a deployed object from the deployed POJO and a repository of aspects, and

construct, at runtime, a chain of interceptors from the repository of aspects to provide a service to the deployed POJO, wherein the interceptors are implemented by POJOs.

10. The system of claim 9 wherein the repository of aspects comprises a customized plug-in.

11. The system of claim 8 wherein the processing device is further to:

construct, at runtime, a first deployed object and a second deployed object from the deployed POJO and a repository of aspects, and

control injection of an interceptor into the first deployed object in view of a dependency between the first deployed object and the second deployed object.

12. The system of claim 11 wherein the injection of the interceptor is controlled via an Inversion of Control (IOC) design.

13. A non-transitory computer readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

select, based on a Java-based input, by a main deployer in a deployment layer executed by a processing device, a set of ordered deployers including at least one structure deployer and at least one translation deployer from within the deployment layer;

generate, by the selected structure deployer executed by the processing device, a metadata structure describing the structure of a deployment to be used by a microcontainer (MC) kernel in runtime operations;

translate, by the selected at least one translation deployer executed by the processing device, the Java-based input comprising a first set of properties of a bean into a Plain Old Java Object (POJO) having a second set of properties that is different than the first set of properties;

pass, by the deployment layer during deployment time, the POJO as a deployed object to the MC kernel executed by the processing device and communicably coupled to the deployment layer; and

deploy, by the MC kernel at runtime, the POJO as a kernel object in an application server comprising the deployment layer and the MC kernel.

14. The non-transitory computer readable storage medium of claim 13 wherein the operations further comprise:

constructing at runtime, by the processing device, a deployed object from the deployed POJO and from a repository of aspects comprising a customized plug-in.

15. The non-transitory computer readable storage medium of claim 13 wherein the operations further comprise:

constructing at runtime, by the processing device, a first deployed object and a second deployed object from the deployed POJO and a repository of aspects;

in response to a change to an aspect used by the first deployed object, identifying a second deployed object affected by the change and determining an action for the second deployed object.

16. The non-transitory computer readable storage medium of claim 13 wherein the operations further comprise:

constructing at runtime, by the processing device, a deployed object from the deployed POJO and from a repository of aspects comprising POJOs.

17. The non-transitory computer readable storage medium of claim 13 wherein the operations further comprise:

constructing at runtime, by the processing device, a chain of interceptors from a repository of aspects to provide a service to the deployed POJO, wherein the interceptors are implemented by POJOs.

18. The non-transitory computer readable storage medium of claim 13 wherein the operations further comprise:

providing a runtime infrastructure that supports POJOs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2007
From: STARK, SCOTT M.
To: RED HAT, INC.
Reel/Frame 019644/0618 →
Continuity (1)
Related Publication 20080301711A1 · Dec 4, 2008