NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

GlassFish Gem 前途未卜,谁将取而代之?

  • 2010-05-17
  • 本文字数:1814 字

    阅读完需:约 6 分钟

Oracle 在三月发布的 GlassFish 蓝图中没有任何提及 GlassFish gem 的文字,这个不寻常的现象引起了人们的关注。这套基于 gem 的服务器软件可以运行 Rails,Merb 和 Sinatra 应用程序,作为 JRuby 平台上最流行的几个服务器软件之一(BitNami 的 JRuby stack 的一部分),一直备受 JRuby 社区的青睐。它是一个轻量级的服务器软件 - 4.3MB 的 gem 包包含了 GlassFish v3 内核,Grizzly 以及其他的工具 - 但是作为工业级品质的应用程序,它最广为人知的优点便是托管处理每秒数千次请求的Sinatra 应用表现出的良好的性能。Rails 用户能够在gem 的支持下使用多线程模式,充分利用JVM 的多线程特性带来的性能提升。

在三月初,这个消息不胫而走,从 jruby-user 邮件列表中透露出的消息表示 GlassFish gem 团队已经不会将这个项目从 Sun 迁移到 Oracle,也就是说,这个项目实质上已经被废弃。Oracle 就此消息表示:

我们一直在鼓励社区继续 GlassFish gem 的开发工作,并且我们也会坚持对这些开发者的持续支持。

Engine Yard 没有明确表示 GlassFish gem 是否将会被加入到其 JRuby 商业支持列表中。 JRuby Summer of Code wiki 表示其正在开发“一个基于 GlassFish gem 的快捷高效的轻量级服务器软件,或者是直接接管 GF gem 然后将其使用在自己的项目中。”

在四月中旬,Vivek Pandey,GlassFish gem 项目负责人以及首席开发工程师,通知邮件组说他打算将一些时间花费在文档完善上,并且可能开始发布新的版本,但是 Oracle 并不支持这项工作,所以他只能将这个项目作为副业来看待。

那么他现在在为这个项目做什么呢?“修复 bug,添加特性(如果有的话)然后发布。当然还有文档完善和争取支持。代码开发现在不是重点了。”

邮件组中的讨论对项目的进展表示出了一些兴趣。GlassFish gem 的流行部分是因为其易用性。当问到为什么 BitNami 将 Tomcat 和 GlassFish 都作为 JRuby stack 的一部分时,BitNami 的 Daniel Liszka 回答道:

开发者貌似更加熟悉 Tomcat。我们希望提供给他们选择的机会。但是相比 GlassFish,将 Ruby on Rails 部署在 Tomcat 要艰难很多,我们希望能够简化这个过程,为那些需要使用 Tomcat 的用户提供支持。

和其他的 J2EE 服务器,GlassFish,JBoss 或者 WebSphere 一样,部署到 Tomcat 的过程也可以使用 Warbler ,这个工具能够将 Rails,Merb 或者 Rack 应用程序打包成 WAR 文件。Warbler 的 1.0 版本在 4 月早些时候发布,添加了对 Rails 3 的支持。“我非常高兴能够看到 Warbler 能够支持 Rails 3。我认为 Rails 3 已经被定位在 Java 开发者在构建 web 应用的时候选择的标准架构,”Engine Yard 的 Nick Sieger 如是说。

Warbler 当然不是一个开发工具,它是一个部署工具。在现在的 Java 应用中,WAR 的部署是非常普遍的。

Warbler 1.0 也同样支持使用 Bundler 将绑定的 gem 打包在一起。

在 JRuby 上也有其他的服务器软件。例如封装自 JBoss 的 Torquebox 。JBoss Fellow Bob McWhirter 说:

Torquebox 期望能够使用 JRuby,将企业级服务器 JBoss 的全部功能迁移到 Ruby 平台上。 这个软件简化了很多功能,例如将 Quartz job-scheduler 和 HornetQ message broker 友好地展示给 Ruby 开发者。它的目标是将整个应用程序,而不只是 web 部分转换成可部署和管理的单元。

Torquebox 比 GlassFish 要重量级得多:它的发布不是基于 gem 的,而且体积高达 300MB(包括完整的 JRuby 安装程序)。一个小于 10MB 的 gem“仅仅具有 web 功能,而且不会和 JMS 集成在一起”。

David Calavera 的 Trinidad 是一个基于 gem 的 Rack 应用服务器,它封装自 Apache Tomcat。需要运行的时候,你“只需要指定 Rack 应用的根目录然后运行一个简单的命令’jruby -S trinidad’即可,”Calavera 说。

它的主要优势之一是其轻量级特性。其他的服务器软件都是构建于某个大型库基础上,而 Trinitydad 则是建立在许多小型库上;核心不会大于 15KB,而且所需要的库大小也就 3MB 左右。
Trinidad 完全是使用 Ruby 编写,它并没有将所有的特性都塞入到一个包中,而且将各种特性单独地作为扩展插件发布。
Trinidad 也支持在同一容器中运行多个应用。

最后一个替代品是 Fabio Kung 的 jetty-rails ,这个软件支持在同一 Jetty 容器中运行 Rails 和 Merb 应用。虽然这个项目自从 2009 年 6 月开始就没有更新过,但是 Kung 仍然希望在未来继续对其改进。

查看英文原文: Whither the GlassFish Gem? Alternatives for Deploying JRuby Web Applications

2010-05-17 20:541815
用户头像

发布了 90 篇内容, 共 32.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

在PostgreSQL中使用ltree处理层次结构数据

PostgreSQLChina

数据库 postgresql 开源 软件 开源社区

有状态容器应用,从入门到实践

焱融科技

Kubernetes 容器 云原生 焱融科技 分布式存储

镁信健康“互联网+医+药+险”模式能否打造出中国版联合健康?

E科讯

javascript中的Strict模式

程序那些事

JavaScript ES6 程序那些事

52条SQL语句性能优化策略,建议收藏

Java小咖秀

MySQL 性能优化 后端 MySQL性能优化

Ubuntu 日常系列:常用软件

TroyLiu

Linux ubuntu Ubuntu20.04

AI开发效率低,你可以试试华为NAIE AutoML

华为云开发者联盟

华为 AI 框架 AutoML NAIE平台

啥子叫递归哟!!!(阶乘)

依旧廖凯

28天写作 3月日更

大作业

瑾瑾呀

整理 自动备份MYSQL数据库shell脚本

edd

Elasticsearch Segments Merging 磁盘文件合并

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

基于 SparkMLlib 智能课堂教学评价系统 - 系统实现(四)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

初识Golang之聊聊类型

Kylin

3月日更 21天挑战 Java转go Go 语言

数据营销“教父”宋星十年倾心之作,让数据真正赋能企业

博文视点Broadview

写代码这件事

ES_her0

28天写作 3月日更

学无定法——知识反转效应

Justin

心理学 28天写作 游戏设计

Spring AOP 执行顺序 && Spring循环依赖(面试必问)

hepingfly

Java spring aop 循环依赖

一文搞懂PID控制算法

不脱发的程序猿

3月日更 PID 控制算法 智能控制 工业控制

面试官再问你优先级队列,请把这篇文章丢给他

Silently9527

Java 优先级队列 二叉堆

利用深度元学习对城市销量进行预测 | AAAI 2021论文解读

京东科技开发者

零售 预测

用户行为分析模型实践(一)—— 路径分析模型

vivo互联网技术

大数据 数据分析 用户行为分析

书单|互联网企业面试案头书之程序员软技能篇

博文视点Broadview

Navicat操作MySQL简易教程

Simon

MySQL navicat

高并发HTTP请求实践

高性能架构探索

优雅编程 | 24个Javascript代码优化技巧

devpoint

js 空值运算符 高级函数 模板字面量

分布式事务

insight

分布式事务 3月日更

Hadoop之YARN的内部机制

hanke

大数据 hadoop 开源 YARN

混合编程:如何用python11调用C++

华为云开发者联盟

c++ 编程 语言 python11 混合编程

【LeetCode】螺旋矩阵Java题解

Albert

算法 LeetCode 28天写作 3月日更

解析分布式应用框架Ray架构源码

华为云开发者联盟

gRPC API 框架 ray 分布式应用框架

最新版Swagger 3升级指南和新功能体验!

王磊

Java swagger

GlassFish Gem前途未卜,谁将取而代之?_Java_Paul Blair_InfoQ精选文章