7. A system for caching customized metadata documents for a metadata-driven software application, the system comprising: one or more processors; and memory communicatively coupled with, and readable by, the one or more processors, the memory 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; wherein the memory has stored therein processor-readable instructions, which, when executed by the one or more processors, cause the one or more processors 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 defines a customized version of the base metadata document for the plurality of users; include in the first customization a first cache hint indicating that the first customization is applicable to the plurality of users; identify a second customization for the base metadata document, wherein the second customization defines a customized version of the base metadata document for only the first user; include in the second customization a second cache hint indicating that the second customization is 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 based on the first cache hint included in the first customization, wherein the first customized metadata document in the working memory component as a first tree memory structure that includes an allocated memory segment for a first element of the first customized metadata document and an allocated memory segment for a second element of the first customized metadata document; store the second customized metadata document in the session cache based on the second cache hint included in the second customization, wherein the second customized metadata document is stored in the working memory component as a second tree memory structure that includes a pointer to the allocated memory segment for the first element in the first tree memory structure and an allocated memory segment for a modified version of the second element; and return the second customized metadata document.
7. A system for caching customized metadata documents for a metadata-driven software application, the system comprising: one or more processors; and memory communicatively coupled with, and readable by, the one or more processors, the memory 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; wherein the memory has stored therein processor-readable instructions, which, when executed by the one or more processors, cause the one or more processors 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 defines a customized version of the base metadata document for the plurality of users; include in the first customization a first cache hint indicating that the first customization is applicable to the plurality of users; identify a second customization for the base metadata document, wherein the second customization defines a customized version of the base metadata document for only the first user; include in the second customization a second cache hint indicating that the second customization is 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 based on the first cache hint included in the first customization, wherein the first customized metadata document in the working memory component as a first tree memory structure that includes an allocated memory segment for a first element of the first customized metadata document and an allocated memory segment for a second element of the first customized metadata document; store the second customized metadata document in the session cache based on the second cache hint included in the second customization, wherein the second customized metadata document is stored in the working memory component as a second tree memory structure that includes a pointer to the allocated memory segment for the first element in the first tree memory structure and an allocated memory segment for a modified version of the second element; and return the second customized metadata document. 8. The system of claim 7 , wherein the working memory component further includes another session cache configured to store data only for an application session of a second user in the plurality of users, and wherein the processor-readable instructions further cause the one or more processors to: receive another request for another customized version of the base metadata document, wherein the base metadata document is to be customized for the second user; identify a third customization for the base metadata document, wherein the third customization defines a customized version of the first customized metadata document for only the second user; include in the third customization a third cache hint indicating that the third customization is applicable only to the second user; retrieve the first customized metadata document from the shared cache; generate a third customized metadata document based on the retrieved first customized metadata document and the third customization; store the third customized metadata document in said another session cache; and return the third customized metadata document.