| When you
are on the road, and you don't have internet connectivity, or the
internet connection goes down in the middle of entering critical
data, you want to make sure that the data is stored on your local
machine.
There are different ways of handling this. You can write stand-alone
VB, C#, C++, Java or other language-based clients. The choice of language
will depend on your front-end application needs and the expertise of
your development resources. The front-end client capturing information
offline, can have a button or a link in it, which when clicked, can
synchronized data with the centralized repository .
If you would like to use a browser-based application, then you can use
an ActiveX type heavy client, that would do similar to above, but which
will not work on non-IE browsers or non-Windows platforms
The other option is running a local webserver and a database, which can
sync with a central database.
The best option towards implementing this is to wrap your server-side
synchronization code with a Web Service. That way regardless of your
client, you can always invoke this Web Service to push changes back to
your server.
There are options of having a local database and a server database, and
then use database to database synchronization. But then you are tying
yourself to a particular database implementation.
Our recommended approach is to wrap the database functionality inside
Web Services for a future-proof path.
Other considerations to think about include the direction of synchronization.
Things that an applicaiton designer will have to carefully think through
is,
do
only the data changes in the client need to be pushed to
the server, or
does
latest data from the server also
have to be reflected in the client
if
there are conflicts in data updated
from different offline clients
- how are the conflicts resolved |
SurroundApps has experience in implementing offline solutions in Enterprise
CRM settings. Please contact us if you would like to use our services
in this area.
|