I have a need for a client initiated synchronization web service with demo client. Client will keep a local copy of the master database. Client must be able to connect to the web service and replicate any changes that have happened since the last synchronization. From an operational perspective each client will be given a key that will determine what data from the master is being synchronized.
Requirement is 3 parts.
1. Client sends synchronization request to java web service, request consists of the client key and last synchronization datetime stamp.
2. A Java XML web service. The service receives a synchronization request from client and conducts a very simple client lookup based on furnished key to determine what data that client has access to, then along with the datetime stamp of the last update lookups all the changed records, formates the records to an XML structure for transmission. Other requirements include WADL and REST.
3. Client receives XML data from service and conducts approperate Insert or Update into a local database (mysql for this requirement) based on the if record exists already or not. I'm hoping the developer will have an idea or two on how deletes can be handled.
Note: Client and Service should be able to handle potentially large size synchronizations of 10MB or more (mainly new clients), like breaking down the data to be transmitted into 1000 record packets and then reassembling it again at the client side. Client and service should be able to compensate for missing packets.
I require tested ANT compile scripts for all work.