21. A computer program product embodied on a non-transitory computer readable medium for simulating an online session while offline, comprising: computer code for establishing, at a server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server; computer code for, 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; computer code for, 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; computer code for terminating the connection between the client and the server in response to the client being offline; computer code for, 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; computer code for receiving another connection at the server by the client via a network when the client returns online; and computer code for 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.
21. A computer program product embodied on a non-transitory computer readable medium for simulating an online session while offline, comprising: computer code for establishing, at a server, a connection over a network to a client, the connection allowing the client, when online, to communicate with the server; computer code for, 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; computer code for, 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; computer code for terminating the connection between the client and the server in response to the client being offline; computer code for, 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; computer code for receiving another connection at the server by the client via a network when the client returns online; and computer code for 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. 22. The computer program product of claim 21 , further comprising computer code for allowing the user to modify the user-specified portion of the data by selecting from one or more options through a web browser while offline.