Google App Engine 的 JRuby 现状:用于 DataStore 的 DataMapper 适配器,Reggae

阅读数:1102 2009 年 4 月 26 日

话题:JavaRubyRuby on RailsGoogleDevOps语言 & 开发架构

自从 Google App Engine 支持 Java 应用之后,JRuby 应用就现身 GAE 了。不过,还是存在着一些限制,JRuby 的Nick Sieger 列出了其中的一部分,包括:

- 没有 RMagick/ImageScience/attachment_fu,甚至连 ImageVoodoo 都没有(没有 javax.image 的 API)。Google 有它自己的图片操作 API。[..]

- 每个应用最多 1000 个文件。由于这个文件数限制,部署 Rails 应用的时候我不得不将所有的 Rails gem 都打成 jar 包。

Tom Enebo 最近在 twitter 上发布了 GAE 支持 image_voodoo 的消息。Nick 也释出了在 GAE 上部署的 JRuby 应用

目前来说,JRuby 应用的部署还没有完全自动化,不过很快就会有一些辅助工具可以使用了。其中一个就是reggae,它是用于帮助将 Rack 应用部署到 GAE 上的工具。

最后,虽然 JRuby 基本上可以在 GAE 下工作,但是一些常用库就不行了;最典型的就是 ActiveRecord,因为 Google 只提供它自己的 DataStore,而 DataStore 不是关系型的。不过,现在 Google 的 DataStore 支持另一个 ORM:DataMapperGenki Takiuch创建了dm-datastore-adapter,这个适配器允许通过 DataMapper 来使用 DataStore。目前来看,DataStore 只支持很少的查询选项。

查看英文原文:JRuby on Google App Engine Roundup: DataMapper Adapter for DataStore, Reggae