首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

通过 CouchDB 在移动和固定设备上创建脱机 web 应用程序(1)简介

通过 CouchDB 在移动和固定设备上创建脱机 web 应用程序(1)简介

介绍基于分布式数据库的 SQL 同步机制,例如 HTML5 浏览器中嵌入的机制,会导致复杂的工作。Apache CouchDB 具有内在的同步基础。(要获得更多有关 CouchDB 同步的信息,请参考 。)在本文中,通过查看典型的使用方案来了解 CouchDB 概念和技术细节。您将创建并部署一个简单库存管理应用程序的原型。
虽然在我以前的 developerWorks 文章 “” 中介绍了基于 HTML5 概念的类似应用程序,但是并没有处理同步。在本文中,通过使用 CouchDB 环境的存储和标准同步工具,我迁移了应用程序。您可以从下面的  中下载本文中使用的源代码。
概述图 1 显示了来自  的 CouchDB 和 HTML5/SQL 解决方案的示例应用程序体系结构主要组件的概述。两个解决方案都包含 HTML、JavaScript、本地数据存储和远程数据存储。
图 1. 脱机 CouchDB 应用程序的核心元素HTML 页面HTML5 和 CouchDB 应用程序的核心。它具有模型角色并包含已显示的数据和默认呈现信息。页面的 HTML 元素被组织在 HTML 文档对象模型(Document Object Model,DOM)树的层次结构中。                用户发起的事件会导致常规的请求-响应周期,具有页面加载并执行关联的 JavaScript 函数。值得注意的是,这些应用程序包括单一的 HTML 页面,无需通过请求-响应周期加载进一步的 HTML 页面。整个操作都是在一个页面上。
JavaScript包含 HTML5 和 CouchDB 应用程序的控制器功能。通过针对 JavaScript 功能的事件处理程序绑定 HTML 元素。JavaScript 可访问包含所有用户界面元素的应用程序的 HTML DOM 树并使用它作为计算的数据输入。处理的结果可以通过修改 HTML 页面提供给用户。本地数据存储HTML5 应用程序的 SQL 数据库基于模式并使用联接来合并来自多个表的数据。CouchDB 应用程序的数据存储没有模式— 以 JSON 文档形式存储并检索文档。无需使用联接来汇集数据。为管理数据,SQL 数据库使用 SQL 查询。CouchDB 具有 RESTful 方法:每一个文档都是一个具有用于请求的 HTTP 方法的 RESTful 资源。
远程数据存储应用程序基础设施包括相互复制的数据存储节点的网络。在关系 SQL 数据库的世界中,需要编写或管理复杂的复制基础设施。在 NoSQL CouchDB 体系结构中,提供了一个默认的复制框架。实际上执行冲突文档的合并是特定于应用程序的功能(请参考 )。这是 CouchDB 最强大的功能之一。
返回列表