One of the most important questions to answer when implementing mobile enterprise applications is how the remote users are going to access enterprise data. For smart client applications, this integration is commonly implemented using data synchronization. Data synchronization reduces the requirement to constantly transmit data over slow, often unreliable, wireless networks since the data can be stored locally on the mobile device and synchronized periodically at convenient times. It also provides the added benefit of distributing the data access workload down to the mobile device, preventing the server from being overburdened with too many requests.
In this book, synchronization refers to the bidirectional exchange and transformation of data between two separate data stores.
After reading this chapter, you will have a firm understanding of the fundamental concepts of enterprise synchronization, including synchronization architectures and techniques. A comprehensive overview of each technique is provided; their strengths and weaknesses are explained, to guide you as you prepare to implement the solution that is best suited for your applications. In addition, we cover some of the synchronization technologies available commercially, and provide an overview of SyncML with a description of where it fits into enterprise data synchronization.