CACHING AND MEMORY OPTIMIZATIONS FOR MULTI-LAYER XML CUSTOMIZATION
First Claim
1. A method for caching customized metadata documents for a metadata-driven software application, the method comprising:
- receiving a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of the software application, and wherein the base metadata document is to be customized for a first user among a plurality of users of the software application;
identifying a first customization for the base metadata document, wherein the first customization is determined to be applicable to the plurality of users;
identifying a second customization for the base metadata document, wherein the second customization is determined to be applicable only to the first user;
generating a first customized metadata document based on the first customization and the base metadata document;
generating a second customized metadata document based on the first customized metadata document and the second customization;
storing the first customized metadata document in a shared cache applicable to application sessions of the plurality of users;
storing the second customized metadata document in a session cache applicable only to an application session of the first user; and
returning the second customized metadata document.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide techniques for customizing aspects of a metadata-driven software application. In particular, embodiments of the present invention provide (1) a self-contained metadata engine for generating customized metadata documents from base metadata documents and customizations; (2) a customization syntax for defining customizations; (3) a customization creation/update component for creating and updating customizations; (4) a customization restriction mechanism for restricting the creation of new customizations by specific users or groups of users; and (5) memory and caching optimizations for optimizing the storage and lookup of customized metadata documents.
131 Citations
15 Claims
-
1. A method for caching customized metadata documents for a metadata-driven software application, the method comprising:
-
receiving a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of the software application, and wherein the base metadata document is to be customized for a first user among a plurality of users of the software application; identifying a first customization for the base metadata document, wherein the first customization is determined to be applicable to the plurality of users; identifying a second customization for the base metadata document, wherein the second customization is determined to be applicable only to the first user; generating a first customized metadata document based on the first customization and the base metadata document; generating a second customized metadata document based on the first customized metadata document and the second customization; storing the first customized metadata document in a shared cache applicable to application sessions of the plurality of users; storing the second customized metadata document in a session cache applicable only to an application session of the first user; and returning the second customized metadata document. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A layered cache for caching customized metadata documents for a metadata-driven software application, the layered cache comprising:
-
a shared cache configured to store data for application sessions for a plurality of users of the software application, wherein the data includes a first set of customized metadata documents, each customized metadata document in the first set being based on one or more customizations applicable to the plurality of users; and a plurality of session caches, each session cache configured to store data for an application session of a single user, wherein the data stored in said each session cache includes a second set of customized metadata documents, each customized metadata document in the second set based on one or more customizations applicable only to the single user, wherein the layered cache is utilized by a metadata engine for efficiently providing customized application metadata to one or more components of the software application.
-
-
10. A system for caching customized metadata documents for a metadata-driven software application, the system comprising:
-
a working memory component including a shared cache configured to store data for application sessions of a plurality of users of the software application, and a session cache configured to store data only for an application session of a first user in the plurality of users; and and a processing component configured to; receive a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of the software application, and wherein the base metadata document is to be customized for the first user; identify a first customization for the base metadata document, wherein the first customization is determined to be applicable to the plurality of users; identify a second customization for the base metadata document, wherein the second customization is determined to be applicable only to the first user; generate a first customized metadata document based on the first customization and the base metadata document; generate a second customized metadata document based on the first customized metadata document and the second customization; store the first customized metadata document in the shared cache; store the second customized metadata document in the session cache; and return the second customized metadata document. - View Dependent Claims (11, 12)
-
-
13. A machine-readable medium for a computer system, the machine-readable medium having stored thereon a series of instructions which, when executed by a processing component, cause the processing component to cache customized metadata documents for a metadata-driven software application by:
-
receiving a request for a customized version of a base metadata document, wherein the base metadata document defines one or more characteristics of at least a portion of the software application, and wherein the base metadata document is to be customized for a first user among a plurality of users of the software application; identifying a first customization for the base metadata document, wherein the first customization is determined to be applicable to the plurality of users; identifying a second customization for the base metadata document, wherein the second customization is determined to be applicable only to the first user; generating a first customized metadata document based on the first customization and the base metadata document; generating a second customized metadata document based on the first customized metadata document and the second customization; storing the first customized metadata document in a shared cache applicable to application sessions of the plurality of users; storing the second customized metadata document in a session cache applicable only to an application session of the first user; and returning the second customized metadata document. - View Dependent Claims (14, 15)
-
Specification