快速业务通道

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

Java开发2.0 - 通过CouchDB和Groovy的RESTClient实现REST

时间:2010-11-29 IBM Andrew Glover

目前为止,本专栏 系列 已经探究了 Google 和 Amazon 平台中的云计算。 虽然它们在实现和结构上存在不同,但两种平台都支持快速和可扩展的部署方式 。它们可以快速经济地组装、测试、运行和维护 Java 应用程序,这无疑是前所 未有的。但是,云并不是影响如今 Java 开发速度的唯一因素。开源解决方案还 可以帮助您迅速组装软件应用程序,因为您不再需要编写大量代码。手动编写对 象关系映射(ORM)、日志或测试框架的时代已经一去不复返。这些问题已经随 时间逐渐得到了解决,然后又再次出现在了开源领域中 — 再次面临这些问题 — 但这些解决方案几乎始终要比您自己的好。

关于本系列

从 Java 技术首次亮相以来,Java 开发的格局已经发生了巨大的变化。得益 于成熟的开源框架和可靠的租用式部署基础设施,现在已经可以迅速经济地装配 、测试、运行和维护 Java 应用程序了。在本系列中,Andrew Glover 将探索使 这种全新开发范例成为可能的各种技术和工具。

在 Java 开发的整个过程中,开源创新简化了应用程序的装配过程。全新的 开源数据库 Apache CouchDB(截至撰写本文时的发行版为 0.10.0) 也不例外 。搭建好 CouchDB 环境之后可以轻松地使用它。您只需要操作它的 HTTP 连接 即可;既不需要 JDBC 驱动程序,也不需要第三方控制管理平台。在本文中,我 将向您介绍 CouchDB 并展示如何使用它提升开发速度。考虑到安装的简便性, 您将使用 Amazon 的 EC2 平台。并且,您将通过一个方便易用的 Groovy 模块 来与它通信。

面对文档的数据库

关系数据库基本上主导了数据库市场。但其他类似的数据库 — 包括 面向对 象 和 面向文档 数据库,两者在面向关系的世界中极为不同 — 也不时发挥着 举足轻重的作用。CouchDB 是一种面向文档的数据库。它是无模式的,并且允许 您以 JavaScript Object Notation (JSON) 字符串的形式来存储文档。

JSON

JSON 是一种轻量级的数据交换格式,同时也是 Web 应用程序的替代格式。 它类似于 XML,但远没有它那么详细。得益于其轻量级特性,它正成为 Web 的 通用语。

试想一个违规停车罚单。该罚单将涵盖以下项目:

违规的日期

时间

位置

车辆的描述

牌照信息

违规情况

罚单上收集的格式和数据因管辖权而异。即使对于单一管辖权限内的标准停 车罚单来说,它们的内容也很有可能存在不同。举例来说,警官在开罚单时可以 不填写时间,或者可以省略车型,而只填写牌照的详细信息。地点可以是两条街 道的组合(比如 Fourth 和 Lexington 的交汇处),或者是某个固定地址(比 如说 19993 Main Street)。但所采集信息的语义大抵相似。

罚单的数据点可以在关系数据库中建模,但详细信息却有点麻烦。举例来说 ,如何有效在关系数据库中捕获某个交汇点呢?并且在没有街道交汇的情况下, 数据库是否会使用空字段来表示第二个地址呢(假定建模方式为在各列中捕获不 同的街道名)?

在这些情况下,关系数据库的抽象化程度可能 会稍高一些。所需的信息已经 采用了文档(罚单)的形式。为什么不将数据建模为文档呢?这样可以不用死守 严格的关系模式,而只需要大致遵循高级模式的语义。这正是 CouchDB 的用武 之地。它允许您以灵活的方式来对这些域类型进行建模 — 成果是一个完备的文 档,它没有模式,而是使用与其他文档大致相似的蓝图。

MapReduce

Google 独创的 MapReduce 是一个用于处理海量数据集的概念框架。它是一 种高度优化的应用大量计算机的分布式问题解决机制。MapReduce 包含两个函数 :map 和 reduce。map 函数用于接受大量输入,并将它们分割为较小的部分( 同时

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号