早在八月的时候,我们报道过微软发布了同步框架(Sync Framework)。奇怪的是,他们最近再次发布了该框架。为了关注这个不同寻常的事件,我们继续跟进这个混乱不清的框架的相关信息。
该同步框架实际上是五项独立而又互相协作的技术。
- 同步框架核心组件——这些组件可用来创建任意数据存储类型的同步提供程序
- 微软 ADO.NET 同步服务——该服务可以用来同步离线以及协作方案的数据库
- 元数据存储服务——该服务可用于在轻量级数据存储中存储同步元数据
- 文件系统同步服务——该服务用于在文件系统中同步文件和文件夹
- FeedSync 同步服务——该服务使用本地存储中的数据来同步 RSS 和 Atom 源
在相同文档的其他地方,列出的组件稍有不同。
- 微软同步框架
- ADO.NET 2.0 同步服务
- 文件系统同步服务
- 同步框架元数据存储服务
- ADO.NET 1.0 SP1 同步服务
在“ADO.NET 2.0 同步服务(Sync Services for ADO.NET 2.0)”和“ADO.NET 1.0 SP1 同步服务(Synchronization Services for ADO.NET 1.0 SP1)”之间的区别并不清楚。每个概要的重复性很大,包含的也莫过于一般的营销理念。对于 ADO.NET 1.0 SP1 同步服务的硬件和软件需求实际上是直接复制了ADO.NET 2.0 同步服务的文档。
此处是我们找到的:
在任何同步方案中,每个参与的数据存储将归为四个类别中的一个。首先是全部参与者,它在每个方面都是同等的,也可启动同步。其次是代理参与者,在处理通信的时候代表另外的数据存储来启动同步。部分参与者可存储同步所需的元数据,但不能处理它。这适合小型设备,像移动电话。最后是简单参与者,它完全依赖于全部参与者。
同步主要基于元数据的存在。该元数据存储了关于创建、版本和删除项的信息。该文档大量谈及元数据管理和单独副本集对它的实现方式。
同步提供程序可用托管和非托管代码编写。对于托管代码,程序员着手于 KnowledgeSyncProvider 类。非托管代码则使用 IKnowledgeSyncProvider 接口。
程序员一开始就可获得开箱即用的 ADO.NET 和文件系统提供程序,后者用于同步目录和文件。但是仅有提供程序还不够;开发者仍需要编写大量的代码来安装副本。文档中给出了一些示例,但该文档相当的粗糙也难以理解。鉴于该主题的复杂性,一本完整的书比起 MSDN 上让人困惑的若干 Web 页面能更好地服务于该主题。
一般情况下,我们尽量不下判断,但是依照本文记者的意见,还是应该避免使用微软同步框架,直到微软弄清楚这些功能的实际目的,以及在它们的文档中找到很好的表述方式为止。
查看英文原文: Introducing the Microsoft Sync Framework (Again)
译者介绍:王波 匆匆 IT 过客,涉足于.net 编程技术,常驻于 51cto 论坛.net 版块 ,潜心研究和译书,现与友人共译《C# 3.0 揭秘》,亦分享心得于博客。
评论