限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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:542198
用户头像

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

关注

评论

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

Inner Join, Left Outer Join和Association的区别

汪子熙

SAP abap ST05

利用Chrome的Heap Snapshot功能分析一个时间段内的内存占用率

汪子熙

JavaScript chrome

使用DOM Breakpoints找到修改属性的Javascript代码

汪子熙

JavaScript html chrome

SAP CDS view注解解析 - @Environment.systemField

汪子熙

SAP abap

学生考试系统存储设计

王硕

架构训练营

Java Elasticsearch 使用

Java elasticsearch

模块四-千万级学生管理系统试卷存储方案

华仔架构训练营

SAP Fiori Launchpad Tile点击后跳转的调试技巧

汪子熙

JavaScript SAP Fiori SAP UI5

如何将BSP应用配置成Fiori Launchpad上的一个tile

汪子熙

SAP abap Fiori SAP UI5 bsp

SAP 不同 ABAP 系统里同一 Customizing activity 的显示差异分析

汪子熙

CRM SAP ERP abap 定制化

架构师实战营:模块四 千万级学生管理系统的考试试卷存储方案

ifc177

#架构实战营

千万级学生管理系统的考试试卷存储方案

颜培攀

架构实战营

如何在SAP CRM WebClient UI里创建HANA Live Report

汪子熙

CRM SAP WebClient UI

让秋招飞,Java岗高频面试题盘点,站着就把offer给拿了

北游学Java

Java 面试 秋招

架构实战营作业4

大肚皮狒狒

【架构实战营】第 4 模块作业

swordman

架构实战营

python-运算函数-sum

Geek_6370d5

数据科学指南#基础篇 Matplotlib 入门

Lev

Python 数据科学 matplotlib data-science

C4C Cloud Application Studio做ABSL开发的一些性能方面的最佳实践

汪子熙

Cloud CRM SAP C4C

一个查看 SAP UI5 控件所有公有方法的小技巧

汪子熙

JavaScript SAP SAP UI5

SAP Fiori 应用 Footerbar 区域按钮的高亮显示逻辑

汪子熙

JavaScript SAP Fiori SAP UI5

Kafka-详细笔记

ninetyhe

分布式 高并发系统设计 消息系统 Kafk

找出 SAP OData service出错根源的小技巧

汪子熙

SAP Fiori SAP UI5 OData

美团二面:Redis与MySQL双写一致性如何保证?

捡田螺的小男孩

数据库 面试 一致性 缓存;

到底哪种类型的错误信息会阻止business transaction的保存

汪子熙

CRM SAP abap

Authorization object在哪些ABAP代码里使用到

汪子熙

CRM SAP abap Netweaver

另一种方式实现事务码SE16里的结果集修改

汪子熙

JavaScript SAP Fiori

☕【Java技术之旅】从底层角度去认识线程的原理

码界西柚

Java 线程 Thread 线程协作 5月日更

架构实战营 模块四:课后作业

👈

架构实战营

架构实战营 模块四:学习总结

👈

架构实战营

Go 并发编程-goroutine 初体验

Rayjun

Go 语言 goroutine

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