1. A method of synchronizing user data based on client type, the method comprising: receiving a client request to synchronize the client with updates from a database; determining a client type based on the request; selecting, based on the determined client type, a routine from a plurality of routines to retrieve data associated with the update from the database; invoking the selected routine to retrieve the data from the database; receiving data from the database via the invoked routine, the data corresponding to the requested updates; and sending the received data to the client.