I'm a new comer to this idea and so i need guidance that what's going to be better to use within following scenario.

I must create a desktop application that consists of many features like parts Stock ,Employees Data,Company Cars Data and so forth.

now however , many customers could be while using application and offices situated have been in different metropolitan areas by which this application is installed.

I would like a plan when one uploads data to database other will get its reflection along with other instantly will get up-to-date.for instance if more cars are added everybody using will get their cars list up-to-date.

I had been getting idea to make use of webservices and data ought to be saved somewhere on website database to ensure that everyone's application refreshes lists every say 20 seconds approximately.

Any assistance is appreciated

You would not reload all of your data constantly you will find a few common approaches here:

  • keep a listing of changes should you add new data you add the main data record and you are writing the truth that the modification happened (basically an "occasions" list). You'll be able to query the modification log periodically to obtain and additions/updates/removes by simply requesting all occasions after (x)
  • when the infrastructure enables, some type of pub/sub framework - same approach really but typically using middleware for that changes, as opposed to the primary DB

re the way you obtain the data polling is straightforward and effective active pushing is harder to create but may reduce latency - unsure it makes it worth while here

Another approach, though, would be to set it up like a web application - then all of your data lives in the server-farm and it is trivial to update immediately. Your "desktop" application might be a web site using ajax

Try Cloud Computing and store your computer data into cloud

OK attempting to recover my points here following the downvote.

The cloud (home windows Azure especially) is a superb fit with this project. Web services is needed too as they possibly can easily be scaly to numerous webservers (Instances in Azure speak). Getting many desktop clients speaking straight to a database is not recommended and frequently leads to scalability issues.

Output cacheing may help a good deal here if you're refreshing the consumer side data frequently, this is often implemented with very little code. This causes it to be much simpler to complete than controlling lists of changes.