IP Library Granted Patent US 9,529,576
Granted Patent B2
US 9,529,576 · App. 13/332,166 · Granted Dec 27, 2016

Systems and methods for object to XML mappings

Inventors: Blaise Doughan (Nepean, CA); Douglas Clarke (Ottawa, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F8/60G06F8/61G06F9/4451G06F9/44505
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,529,576
App. No.
13/332,166
Granted
Dec 27, 2016
Kind
B2
Abstract

Systems and methods are provided for automatically provisioning resources based on application characteristics. In accordance with an embodiment, a system can include a computer, including a computer readable medium and processor. The system can further include one or more servers executing on the computer and an extensible application deployed to the one or more servers, wherein the application includes a plurality of real properties. A plurality of tenants can each utilize the application at the one or more servers. The extensible application is configured to be customized for each tenant, wherein customizing includes for each tenant, defining one or more virtual properties for the application in a metadata file, and mapping the one or more virtual properties to the application using the metadata file.

Claims (39)

1. A system for extending applications, comprising:

a computer, including a microprocessor;

one or more servers executing on the computer;

an application deployed to the one or more servers for use by a first tenant and a second tenant different than the first tenant, wherein the application includes:

a class defined in a source code of the application, wherein the class defines an object, comprises a body, and is stored in a class file before compilation;

a first mapping file associated with the first tenant and a second mapping file associated with the second tenant, wherein the first mapping file and the second mapping file are separate files from the class file, wherein at least one of the first mapping file and the second mapping file is a markup language file, wherein a first extension property is defined in the first mapping file and a second extension property is defined in the second mapping file, and wherein the first extension property and the second extension property are absent from the body of the class;

an first annotation to the class indicating that the first extension property and the second extension property are each properties of the class;

accessor methods for accessing the one or more extension properties in the mapping file; and

a second annotation to the class indicating that the accessor methods handle additional mappings associated with the first extension property and the second extension property, and

wherein at runtime the first extension property is added to a first instance of the object instantiated by the first tenant and the second extension property is added to a second instance of the object instantiated by the second tenant.

2. The system of claim 1 , wherein the accessor methods are used to store or retrieve values for each of the first extension property and the second extension property to or from the first mapping file and the second mapping file respectively.

3. The system of claim 1 , wherein the name of each accessor method is customizable.

4. A method for extending applications, comprising:

providing an application deployed to one or more servers for use by a first tenant and a second tenant different than the first tenant, wherein the application includes:

a class defined in a source code of the application, wherein the class defines an object, comprises a body, and is stored in a class file before compilation;

a first mapping file associated with the first tenant and a second mapping file associated with the second tenant, wherein the first mapping file and the second mapping file are separate files from the class file, wherein at least one of the first mapping file and the second mapping file is a markup language file, wherein a first extension property is defined in the first mapping file and a second extension property is defined in the second mapping file, and wherein the first extension property and the second extension property are absent from the body of the class;

a first annotation to the class indicating that the first extension property and the second extension property are each properties of the class;

accessor methods for accessing the one or more extension properties in the mapping file; and

a second annotation to the class indicating that the accessor methods handle additional mappings associated with the first extension property and the second extension property, and

adding the first extension property to a first instance of the object instantiated by the first tenant and the second extension property to a second instance of the object instantiated by the second tenant at runtime.

5. The method of claim 4 , wherein the accessor methods are used to store or retrieve values for each of the first extension property and the second extension property to or from the first mapping file and the second mapping file respectively.

6. The method of claim 5 , wherein the name of each accessor method is customizable.

7. A non-transitory computer readable storage medium, including instructions stored thereon which, when executed by a computer, cause the computer to perform the steps comprising:

providing an application deployed to the one or more servers for use by for use by a first tenant and a second tenant different than the first tenant, wherein the application includes

a class defined in a source code of the application, wherein the class defines an object, comprises a body, and is stored in a class file before compilation;

a first mapping file associated with the first tenant and a second mapping file associated with the second tenant, wherein the first mapping file and the second mapping file are separate files from the class file, wherein at least one of the first mapping file and the second mapping file is a markup language file, wherein a first extension property is defined in the first mapping file and a second extension property is defined in the second mapping file, and wherein the first extension property and the second extension property are absent from the body of the class;

a first annotation to the class indicating that the first extension property and the second extension property are each properties of the class;

accessor methods for accessing the one or more extension properties in the mapping file; and

a second annotation to the class indicating that the accessor methods handle additional mappings associated with the first extension property and the second extension property, and

adding the first extension property to a first instance of the object instantiated by the first tenant and the second extension property to a second instance of the object instantiated by the second tenant at runtime.

8. The non-transitory computer readable storage medium of claim 7 , wherein the accessor methods are used to store or retrieve values for each of the first extension property and the second extension property to or from the first mapping file and the second mapping file respectively.

9. The non-transitory computer readable storage medium of claim 7 , wherein the name of each accessor method is customizable.

10. The system of claim 1 , wherein each of an output file of the class, and the first mapping file and the second mapping file is an extensible markup language (XML) file.

11. The system of claim 1 , wherein an output file of the class is generated using an extensible markup language (XML) binder.

12. The method of claim 4 , wherein the class is a Java class.

13. The method of claim 4 , wherein each of an output file of the class, and the first mapping file and the second mapping file is an extensible markup language (XML) file.

14. The method of claim 4 , wherein an output file of the class is generated using an extensible markup language (XML) binder.

15. The non-transitory computer readable storage medium of claim 7 , wherein the class is a Java class.

16. The non-transitory computer readable storage medium of claim 7 , wherein each of an output file of the class, and the first mapping file and the second mapping file is an extensible markup language (XML) file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2012
From: DOUGHAN, BLAISE; CLARKE, DOUGLAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 027557/0258 →
Continuity (2)
Provisional Application 61542021 · Sep 30, 2011
Related Publication 20130086134A1 · Apr 4, 2013