Develop a client and server application to synchronize data between one another.
Client application runs on Windows based OS XP or Server and is written in .NET 2.0/C#. Client application monitors users PIM (Outlook, Outlook Express, etc.) for changes to email, contacts, tasks and communicates any changes to server application. Additionally application monitors listing of favourites from Internet Explorer, FireFox, etc. and synchronizes with server.
Server application runs on Windows Server and is written in .NET 2.0/C#. Server application accepts requests from client application to update data from users PIM and browser and stores in MSSQL 2000 database. Communication between client/server is RSS and server uses web service to process requests.
Client application checks for changes in the server side database and updates or synchronizes local PIM and browser with what is stored on the remote database. Server application uses keep alive link from client side to communicate to client that it needs update from the client side.
Client application needs to be modular to accept future enhancements to manage other PIM applications or browsers.
The server manages several clients and runs in multi-threaded, multi-user database environment.
Please respond with your technical plans to accomplish the requirements of the application.
1. What technologies will you employ on the client and server side.
2. How will you accommodate the remote communication mechanisms.
3. What client side PIM applications will your program support? (Outlook, Outlook Express, etc?) What browsers will you support?
4. How will the database schema accommodate the multi-user environment? Changes in information on either side? and Synchronization?
5. How will both applications be designed to be bug-free, crash resistant, and recover from errors?
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition.