1. A method for simulating an online session while offline, comprising: establishing, at a server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server; in response to an initiation of an offline session by the client device, receiving at the server from the client device, via the connection, a message including a request; in response to receiving the message from the client: invoking functional logic residing at the server through a server API solution and an Extensible Markup Language remote procedure call (XML-RPC) to manipulate data in a database of the server; identifying criteria defined by a user of the client for conducting an offline session; selecting from the database a user-specified portion of the data, utilizing the criteria defined by the user of the client; importing to the client from the server both the selected user-specified portion of the data from the database, and a portion of functional logic residing at the server used to manipulate the data in the database of the server; terminating the connection between the client and the server in response to the client being offline; after the terminating of the connection, enabling the user to modify the user-specified portion of the data imported to the client from the server using the portion of the functional logic imported to the client from the server; receiving another connection at the server by the client via a network when the client returns online; and performing by the server a synchronization process with the client via the other connection by uploading the modified data from the client to the database of the server.