A method, comprising: monitoring, by a first application wrapper of a first application on a computing device, usage of the first application, wherein the first application wrapper of the first application provides a policy enforcement layer between the first application and an operating system of the computing device, wherein the policy enforcement layer controls execution of the first application based on one or more mobile device management policies required by an enterprise organization to obtain access to one or more enterprise resources associated with the enterprise organization, and wherein the policy enforcement layer controls the execution of the first application based on the one or more mobile device management policies by selectively enabling or selectively disabling one or more features of the first application based on device state information monitored by the first application wrapper; and enforcing, by the first application wrapper of the first application, one or more licensing policies on the first application at runtime based on the usage of the first application, wherein enforcing the one or more licensing policies on the first application at runtime based on the usage of the first application comprises: determining whether a license of a limited number of licenses for the first application is available for use by a user of the computing device; based on determining that the license of the limited number of licenses for the first application is available for use by the user of the computing device, permitting the user of the computing device to use the first application; based on determining that the license of the limited number of licenses for the first application is not available for use by the user of the computing device, placing the user of the computing device in a queue to use the first application until the license of the limited number of licenses for the first application becomes available; and after placing the user of the computing device in the queue to use the first application, presenting, by the first application wrapper, a notification alerting the user of the computing device when the license of the limited number of licenses for the first application becomes available. monitoring, by a first application wrapper of a first application on a computing device, usage of the first application, wherein the first application wrapper of the first application provides a policy enforcement layer between the first application and an operating system of the computing device, wherein the policy enforcement layer controls execution of the first application based on one or more mobile device management policies required by an enterprise organization to obtain access to one or more enterprise resources associated with the enterprise organization, and wherein the policy enforcement layer controls the execution of the first application based on the one or more mobile device management policies by selectively enabling or selectively disabling one or more features of the first application based on device state information monitored by the first application wrapper; and enforcing, by the first application wrapper of the first application, one or more licensing policies on the first application at runtime based on the usage of the first application, wherein enforcing the one or more licensing policies on the first application at runtime based on the usage of the first application comprises: determining whether a license of a limited number of licenses for the first application is available for use by a user of the computing device; based on determining that the license of the limited number of licenses for the first application is available for use by the user of the computing device, permitting the user of the computing device to use the first application; based on determining that the license of the limited number of licenses for the first application is not available for use by the user of the computing device, placing the user of the computing device in a queue to use the first application until the license of the limited number of licenses for the first application becomes available; and after placing the user of the computing device in the queue to use the first application, presenting, by the first application wrapper, a notification alerting the user of the computing device when the license of the limited number of licenses for the first application becomes available. determining whether a license of a limited number of licenses for the first application is available for use by a user of the computing device; based on determining that the license of the limited number of licenses for the first application is available for use by the user of the computing device, permitting the user of the computing device to use the first application; based on determining that the license of the limited number of licenses for the first application is not available for use by the user of the computing device, placing the user of the computing device in a queue to use the first application until the license of the limited number of licenses for the first application becomes available; and after placing the user of the computing device in the queue to use the first application, presenting, by the first application wrapper, a notification alerting the user of the computing device when the license of the limited number of licenses for the first application becomes available.