Chapter 26. Synchronization Services

Application design has gone through many extremes, ranging from stand-alone applications that don't share data to public web applications in which everyone connects to the same data store. More recently, we have seen a flurry in the number of peer-to-peer applications in which information is shared between nodes but no central data store exists. In the enterprise space, key buzzwords such as Software as a Service (SaaS) and Software and Services (S+S) highlight the transition from centralized data stores, through an era of outsourced data and application services, toward a hybrid model where data and services are combined within a rich application.

One of the reasons organizations have leaned toward web applications in the past has been the need to rationalize their data into a single central repository. Although rich client applications can work well across a low-latency network using the same data repository, they quickly become unusable if every action requires data to be communicated between the client and server over a slow public network. In order to reduce this latency, an alternative strategy is to synchronize a portion of the data repository to the client machine and to make local data requests. This will not only improve performance, as all the data requests happen locally, but it will also reduce the load on the server. In this chapter, you will discover how building applications that are only occasionally connected can help you ...

Get Professional Visual Studio® 2008 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.