1. A method for maintaining applications that are occasionally connected to an online services system, the method comprising: retrieving metadata describing at least a portion of an online services database, wherein the at least a portion of the online services database is authorized for replication at a software application; determining information for an entity for an application database in accordance with metadata; sending information for the entity to an application data management service; retrieving data for the software application from the online services database in accordance with metadata; sending at least a portion of the data for the software application to the application data management service, wherein the at least a portion of the data for the software application should be synchronized with the online services database; receiving a request for information for rendering a component of a user interface; providing information for rendering the component of the user interface for the software application; receiving an indication that an online services system is available over a network; detecting a change of at least one of data for the application database and metadata; and replicating the entity at the application database in accordance with the detected change.