写点什么

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

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

关注

评论

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

半夜赶工制作简报的我好想说 : 确定了,最终稿就是这样

叶小鍵

前端面试高频20道手写题(二)

helloworld1024fd

如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!

wljslmz

Linux 签约计划第三季 8月月更

react常见面试题

helloworld1024fd

React

数据湖(一):数据湖概念

Lansonli

数据湖 8月月更

受邀出席Rust开发者大会|Rust如何助力量化高频交易?

非凸科技

量化策略 量化交易

开源一夏 |Spring boot 自动配置原理

叶秋学长

开源 8月月更

基于深度学习的裂缝检测技术

阿炜小菜鸡

8月月更 裂缝监测

前端面试高频20道手写题

helloworld1024fd

技术分享| 融合调度系统中的电子围栏功能说明

anyRTC开发者

音视频 快对讲 语音对讲 视频对讲 电子围栏

数据湖(二):什么是Hudi

Lansonli

数据湖 8月月更

React高频面试题合集(二)

helloworld1024fd

React

如何通过DBeaver 连接 TDengine?

TDengine

数据库 tdengine Dbeaver

中原银行实时风控体系建设实践

Apache Flink

大数据 flink 编程

ABAP-OOAVL模板程序

桥下本有油菜花

abap

主流跨端技术一览

Speedoooo

前端框架 小程序容器

七日算法先导(二)——双指针

工程师日月

8月月更

数据湖(三):Hudi概念术语

Lansonli

数据湖 8月月更

Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架

小周先生

开源 Vite2 vue3.0 #开源 8月月更

基于threejs的商品VR展示平台的设计与实现思路

Five

js vr three.js 签约计划第三季 8月月更

IIR数字滤波器设计(数字信号处理)

Five

matlab 过滤器 8月月更

FinClip | 来了, 2022 年 7 月更新大盘点

FinClip

react高频面试题总结(一)

helloworld1024fd

React

小程序插件的生态丰富,加速开发建设效率

Speedoooo

小程序 小程序容器 小程序插件

8大软件供应链攻击事件概述

SEAL安全

开源 DevOps DevSecOps 软件供应链安全 软件供应链攻击

实践GoF的设计模式:迭代器模式

华为云开发者联盟

后端 开发

看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!

华为云开发者联盟

后端 开发

分享一个Chrome控制台数据获取的例子

睡着了去做梦

Go Chrome开发者工具

Maven中的scope

六月暴雪飞梨花

maven 开源 技术 8月月更 scope

【云原生】jenkins部署docker镜像到远程服务器

青芒果

云原生 CODING Linxu docekr 8月月更

软件成分分析:手握5大能力守护软件供应链安全

华为云开发者联盟

云计算 安全 华为云

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