Last week, I wrote a bit about multithreading. One of the biggest issues with multithreading is maintaining data integrity. There are a lot of pitfalls with it. Today, I was looking at the issue of data integrity from another angle: client/server applications. The fact is, if you are working on any kind of client/server application, you are most likely facing data integrity issues. And yes, Web applications are indeed a form of client/server application, just with an additional layer or two of abstraction on the concept.

Indeed, Web applications are even more deadly for data integrity than traditional client/server applications, because you have no guarantees. With a desktop application working with a central server, it is trivial to have the application ping the server, say, once a second and provide an “I’m alive!