使用jQuery Ajax / JSON前端的MongoDB或CouchDB中间件

时间:2009-11-28 19:57:57

标签: java mongodb couchdb nosql

我已经使用以下Web开发堆栈几年了:

的java /弹簧/休眠/ MySQL的/码头/检票/ jquery的

对于某些要求,我正在考虑使用AJAX前端切换到NoSQL数据存储区。我可能会使用jQuery构建前端,并使用JSON与Web应用程序中间件进行通信。我倾向于使用MongoDB,因为它具有更强大的动态查询功能,但仍在考虑使用CouchDB。

我不确定在中间使用什么。可能是RESTful的东西?我倾向于坚持使用Java(或者Scala或Groovy),因为我使用Drools这样的工具用于规则,而Shiro用于安全性。但话说回来,我想选择一些易于使用的东西,所以我对其他解决方案持开放态度。

如果您正在构建ajax / json / nosql解决方案,我想详细了解您使用的工具以及您发现使用它们的任何优缺点。

5 个答案:

答案 0 :(得分:5)

  1. 选择您最熟悉的中间件。

  2. CouchApp目前非常具有实验性。主要问题是能够在没有标准HTTP弹出框的情况下为您的应用添加安全性。对于标准网络应用来说,这显然是一个大问题。

  3. 尝试并避免解析中间件中的每个数据库请求并重建couchdb的查询。您可以使您的中间件充当代理,以便大多数请求无需修改即可转发。您还可以在需要身份验证的所有请求之上的中间层中添加安全层。

  4. 选择具有良好URL路由功能的中间件/框架。例如,您可以将所有转到mydomain.com/db/的请求路由到couchdb。

答案 1 :(得分:3)

如果您使用CouchDB,可以使用CouchApp这是一组用于将应用程序直接部署到CouchDB数据库的脚本。实质上,您跳过中间件并使用CouchDB的视图,列表和显示函数以及客户端JavaScript来实现整个应用程序。如果你的应用程序在这个架构中工作,它会令人惊讶地清新,简单和酷炫。

答案 2 :(得分:2)

此外,如果你喜欢JSON / REST的想法并且坚持使用JavaScript客户端到服务器,那是Persevere的新一代核心,Pintura是纯JS JSON / REST框架,专为与NoSQL DB配合使用而设计。

答案 3 :(得分:1)

我一直在修补一些。最后,我想将我的MVC控制器层移动到jQuery / javascript前端,并使用纯JSON / REST与后端进行通信。虽然后端需要强大的安全性,并且为我的应用程序提供了一些工作,查询和规则的能力。

您也可以查看:

1)在东京内阁运行的Couldkit。支持JSONQuery和OAuth。 Ruby / Rack上的运行可能具有足够的功能。 Loks就像一个强大的REST实现。 2)Persevere,基于Java并在Dojo中得到强有力的支持。它是REST-ish但也有一些RPC类型调用。整体看起来非常强大,有服务器端java脚本等等。

我不介意听你是怎么过来的。

干杯, 亚历

答案 4 :(得分:0)

为了这个目的,我编写了一个名为Rack::JSON的gem,它作为MongoDB数据库的基本REST接口。它受Cloudkit的启发,支持JSONQuery,也可以在Ruby / Rack上运行。它允许您存储然后访问/查询JSON文档。