Microsoft sync framework series (III): Background of Microsoft synchronization framework and problems to be solved

Source: Internet
Author: User

The C \ S and B \ s systems with persistent connections have inherent defects. The occasional Connection System (OCA) attempts to solve these problems while introducing new problems. There are many challenges in developing offline systems. These challenges are all faced by Microsoft sync framework and should provide reasonable solutions for application developers.

MSF is a comprehensive synchronization platform that enables developers to add synchronization capabilities to applications, services and devices. MSF solves the fundamental problem of how to synchronize any type of data in any store using any protocol over any topology. fundamental to MSF is the ability to support offline and collaboration of data between any types of endpoints (e.g. device to desktop, device to server, etc .).

Limitations of the persistent connection system:

    • Real-time networking is required. This requirement is sometimes unnecessary;
    • The data access speed is affected by the network and server pressure;
    • Single point of failure (spof). If a problem occurs on the application server or database, all clients cannot operate;
    • Server scalability, basically only by increasing hardware investment to solve performance problems under high load;

Advantages of occasionally connecting to the application oca (Occasionally Connected Application:

    • Local data cache, providing offline (offline) support;
    • Utilize the processing capability of the client to improve the system response speed;
    • Reduces the pressure on server application servers and data servers;

The challenge of building an occasionally connected system:

Track the changes to data (change tracking) and how to record the changed data;

  • Maintain the changed data (maintaining change data), and the change tracking data will grow rapidly;
  • Conflict Detection and resolution, how to detect conflicts, and how to define conflict resolution policies;
  • Prioritizing data exchange is used to exchange important and decisive data to improve system performance;
  • Background synchronization (background synchronization), it is best to use Asynchronous synchronization, instead of affecting user operations due to excessive data synchronization;
  • Multiple synchronization topologies (multiple synchronization topologies) can be a central launch type, peer-to-peer P2P, or a simple C \ s.
  • The custom client and server databases allows you to use the provider provided by Microsoft for synchronization, or you can use the custom provider to synchronize Web Services, file systems and custom data stores.
  • Security, database encryption, encryption of data synchronization, and internal authentication ).
  • These are all "Data Synchronization" headaches. "Data Synchronization" is a problem that must be solved and must be developed. However, data synchronization is not a user requirement. Microsoft has released two data solutions: Remote Data Access (RDA) and merge replication (merge replication). These two solutions are mainly used for data synchronization with databases as data sources, it is not particularly flexible and cannot solve many legacy system problems.

    In the absence of a unified development framework, the following problems occur:

      • Reinventing the wheel, people have created countless dedicated data synchronization solutions (single-purpose solutions );
      • Core and complex problems are repeated in all dedicated solutions and are not easily resolved (falling into the same pitfalls stored ed by others );
      • These dedicated solutions are often designed to solve specific problems and are not universal (relied too heavily on specific topologies, data types, stores or business logic );

    To this end, Microsoft has launched Microsoft sync framework (MSF). As a new generation of unified synchronization framework, MSF attempts to solve or simplify the above problems.
     

    What the MSF synchronization framework wants to achieve:

      • Powerful: solves core and difficult problems in the synchronization system;
      • Flexibility: Data-independent, protocol-independent, and device-independent, and can be used in the original system;
      • Simple: using a simple combination in a synchronization system of any architecture;

    BackArticleWe will give a detailed introduction to the above mentioned based on specific scenarios, concepts, and design principles.

    Refer:

    Introduction to the Microsoft sync framework Runtime

    Introduction to occasionally connected applications using sync

    Introducing Microsoft sync framework-sync services for file systems

    Flyabroad labels: Microsoft sync framework, Microsoft synchronization box, Sync service, synchronization service, Oca, occasionally connected system

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.