A system, comprising: an application gateway server computer communicatively connected to backend systems, an application repository, and client devices, the application gateway server computer and the application repository residing in a first content management layer between a second content management layer containing the client devices and a third content management layer containing the backend systems, wherein the first content management layer is separate from the second and third content management layers, the application gateway server computer comprising application programming interfaces and services configured for communicating with the backend systems and managed containers operating on the client devices; and a client device comprising a managed container embodied on a non-transitory computer readable medium, the managed container having a managed cache, the managed container configured for: receiving, from the application gateway server computer, one or more applications stored in the application repository; storing the one or more applications received from the application gateway server computer and data associated with the one or more applications in the managed cache; and controlling the managed cache in accordance with a set of rules, the set of rules propagated from at least one of the backend systems to the managed container via the application gateway server computer, the controlling comprising allowing an application running within the managed container to communicate with the application gateway server computer to access a backend system. an application gateway server computer communicatively connected to backend systems, an application repository, and client devices, the application gateway server computer and the application repository residing in a first content management layer between a second content management layer containing the client devices and a third content management layer containing the backend systems, wherein the first content management layer is separate from the second and third content management layers, the application gateway server computer comprising application programming interfaces and services configured for communicating with the backend systems and managed containers operating on the client devices; and a client device comprising a managed container embodied on a non-transitory computer readable medium, the managed container having a managed cache, the managed container configured for: receiving, from the application gateway server computer, one or more applications stored in the application repository; storing the one or more applications received from the application gateway server computer and data associated with the one or more applications in the managed cache; and controlling the managed cache in accordance with a set of rules, the set of rules propagated from at least one of the backend systems to the managed container via the application gateway server computer, the controlling comprising allowing an application running within the managed container to communicate with the application gateway server computer to access a backend system. receiving, from the application gateway server computer, one or more applications stored in the application repository; storing the one or more applications received from the application gateway server computer and data associated with the one or more applications in the managed cache; and controlling the managed cache in accordance with a set of rules, the set of rules propagated from at least one of the backend systems to the managed container via the application gateway server computer, the controlling comprising allowing an application running within the managed container to communicate with the application gateway server computer to access a backend system.