ADO.NET 数据服务(即之前所谓的 Astoria 项目),将在未来的版本中提供离线功能。这就意味着可以将应用程序开发为在与数据进行同步后,接着以离线的方式进行使用。
Visual Studio Pro Tools 团队的程序经理 Saaid Kahn 在一次访谈(如何使用ADO.NET 数据服务创建一个多层的应用程序访问数据库)中,讲道:Astoria 项目(在之后被称之为ADO.NET 数据服务,并被放入 Visual Studio 2008 SP1 中),允许开发人员通过一个服务代理访问数据库,以简化数据库访问和数据的获取 / 存储。
Astoria 使用了 RESTful 服务,并提供了一个 URI 作为服务访问点。目前,数据只能在线访问,但项目组计划发布一个 alpha 版本,允许离线访问数据,它将利用微软的同步框架(Sync Framework)。根据微软的一名软件架构师 Pablo Castro 所说,alpha 版本的目的是为了收集反馈,以了解接下来的发展方向是否正确,以确定今年的计划。
Pablo 在实现 ADO.NET 数据服务提供的离线功能的过程,勾勒出他们正在考虑的某些场景:
- 对局域网的数据库实现同步
- 对基于云的数据实现同步
- 数据整合。提供的数据可以通过多个服务从多个数据源中获取:数据库、云、自定义仓储。
Pablo 披露了团队所遵循的指导原则:
我们坚持一个简单而开放的接口。……使用 HTTP 客户端,以及具备我们的同步策略充足知识的任何人都可以使用数据服务实现同步。
由于已经为在线访问提供了数据独立性,因此在同步功能中仍然保留这一特性。……如果数据服务允许同步,就可以同步,而不用考虑背后支撑的技术。
我们正将目标转到为结构化存储以及业务应用程序提供数据服务。这就意味着存在一定复杂程度的数据形式,例如跨项目的依赖性,标明数据一致状态的存储级和应用级的约束,以及在同步期间实现局部更新的需要等。
在最新的一个视频访问中,Pablo 以及 Astoria 的开发人员 Waseem Basheer 对 alpha 版本做了一个预览演示。他们所称谓的“Astoria 离线”,也会在 PDC 2008 上进行展示。
评论