Hello everyone, I have a problem with a deadline. And that deadline is tomorrow :S Luckily it doesn't have to be the best solution; not even a good one. I only need one part working which I will describe shortly. What I want you to know is that I looking for the quickest and dirtiest solution right so my idea maybe sound really bad.
So, for the past couple of days I've been trying to synchronize a database located in a Windows Mobile device with a MySQL database located to a central linux server. Microsoft's walkthrough contains a web service which I am not sure how to handle (I have very limited knowledge in this area). As far as I understand, there is a service which should be located in the server side, but this is not possible for various reasons (including the fact that it is a linux machine). Furthermore, I have yet to figure out how to make a mysql sync provider.
My solution, and this is an ugly one mind you, is to create a Java web service on the server that is responsible for tracking each Windows Mobiles' sync requests and respond appropriately. Here is how I think it will go:
Each Windows Mobile device will contain a local database (SQL Compact). When there is an active internet connection, it will send a request to the web service to sync their database sending along their username and password. The web service will look for the last sync request from these credentials (which is a dump of the database at the time of the request) and compare it with the current database state. The service will only send the changes as a response. Once the response is sent, it will store the current database state as the user's last sync request for the next one. All the Windows Mobile device has to do is follow the response (simple CRUD statements).
So, my question, finally, is: How can I store the database state in order to later compare it with a future state?
Of course, needless to say, if there is a better solution that can be done quickly, I can discard this whole idea.
For this case, here is what you need to know: the server is running linux. The database on it is MySQL and I cannot modify the schema. I can however install software on the server, like a webservice. Finally, the Windows Mobile devices are currently running SQL Compact. And of course, this should not cost anything since it will not be the final solution (which will use the Microsoft Sync Framework once I get to figure out some things).
Thank you very very much. I'd also like you to know that this is not a "give me code" question, I am mainly looking for any type of feedback (comments/ideas/suggestions/rants/etc).