11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Eclipse Virgo 有了新的领导者

  • 2013-10-10
  • 本文字数:2533 字

    阅读完需:约 8 分钟

近日, Eclipse Virgo 项目在最后一刻得到了特赦,因为有些人联名阻止了在Eclipse 中对Virgo 的归档处理(archived)。Eclipse Virgo 项目来源于SpringSource 的dm Server,在Eclipse 中,它的社区贡献和生命周期曾由Glyn Normington 来管理。 InfoQ 在 8 月份曾经报道过,Glyn 已经从该项目上辞职,一段时间以来,Eclipse Virgo 看起来会被进行归档处理。幸好,有很多人都表示了继续该项目的兴趣,会有人帮助维护核心的组件并保持项目运转。

InfoQ 联系到了 Glyn,请他谈论一下 Eclipse Virgo,我们的对话是从这个项目的来源以及在 Eclipse 中的发展开始的:

Normington:作为 SpringSource 的应用平台,Virgo 项目最初开始于 2007 年底。稍后,它被改名为 SpringSource dm Server。这个项目的目标在于提供一个更好的 OSGi 平台,这个平台应该是模块化以及可扩展的,它用于简化 Java EE 应用到 OSGi 的迁移。Version 1.0 发布于 2008 年,version 2.0 发布于 2009 年。

我们决定将这个项目移交给 Eclipse 以提高它的采用情况,同时鼓励与其他厂商的协作,尤其是在基于 Eclipse 的工具方面。我们在 2010 的 1 月份声明了这个移交。在当年, dm Server 赢得了 Eclipse 社区奖(Eclipse Community Award),成为了最好的 RT 应用。从那时候开始,我们与众多的厂商和个人协作,并吸纳了众多有经验的提交者(committer),它们为项目做出了主要的贡献。

InfoQ:目前,业内都有谁在使用 Virgo?

Normington:

  • 在 SAP HANA Cloud PaaS 平台之中,SAP 使用 Virgo 作为 Java 服务器,它已经得到了 Java EE 6 Web Profile TCK 认证。SAP 的提交者为 Virgo 运行时环境以及基于 Eclipse Libra 的工具都做出了重要的贡献。
  • VMware 在 vSphere 中使用 Virgo 作为 Web 服务器。
  • 芝加哥商业交易所集团(CME Group)有三个应用运行在 Virgo 之上,而第四个马上就会出现。
  • 克罗地亚电信(Croatian Telecom)在 Virgo 上运行了多个终端用户以及内部用户使用的应用程序。
  • Infor 基于 Virgo kernel 发布了其 ION 集成产品。
  • 针对 Web 应用开发的 Konekti 平台使用 Virgo 作为其 Web 服务器。
  • Virgo 甚至用于 TINOS 的研究项目,作为单个 JVM 中实现实验性的网络栈(experimental network stack)彼此隔离的方式。

InfoQ:Virgo 的不同发布包之间的区别是什么,它们的目标用户 / 应用 / 人群是什么?

Normington:Virgo 基于一个很小的 OSGi 微内核构建,也就是Virgo Nano。它的目标在于成为一个 DIY 的商店,这样的话需要一个更为全面的 OSGi 容器而不是直接使用 Eclipse Equinox(Nano 的基础)。Nano 提供了可扩展的诊断(diagnostics)功能以及全功能的 Web 管理控制台,以及 JMX 界面和 ssh/telnet 控制台。Nano 支持热部署,只要将 bundle 丢到“pickup”目录下即可,同时还支持 Declarative Service,从而允许 bundle 通过"microservices"进行交流。

Virgo Kernel包为 Nano 添加了多个基于 bundle 格式的模块化结构,它将用户应用隔离在“user region”之中,从而与 kernel 本身实现了分离,而且它添加了 OSGi Blueprint Service 以及 Sprirng 编程模型。

另外还有三个 Web 服务器的发布包。Virgo Nano Web为 Nano 添加了基于 Apache Tomcat 的 Web 服务器。Virgo Server for Apache Tomcat为 kernel 添加了相同的 Apache Tomcat 作为 Web 服务器。针对那些更喜欢 Jetty 而不是 Apache Tomcat 的人,还有基于 kernel 的Virgo Jetty Server

针对使用 Virgo Server for Apache Tomcat 的用户,Virgo 还有一个" Snaps "框架。Snaps 可以让 Web 应用进行模块化,这样的话 bundle 可以为应用程序 URL 空间的不同部分提供内容。

总而言之,Virgo 是一个成熟且全功能的产品,因此它作为模块化的 Web 服务器或运行时 kernel,可以应用于很广泛种类的应用之中。

InfoQ:使用 Virgo 时,必须要使用 Spring 吗?

Normington并不是这样的。Virgo Nano 以及 Virgo Nano Web 是与 Spring 独立的。基于 kernel 的 Virgo 发布包所开发的应用也不需要使用 Spring。比如说,它们可能更愿意使用 OSGi Blueprint Service 作为"microservice"编程模型。

InfoQ:Virgo 如何与其他的产品进行对比,像 Apache Karaf

Normington:大致来讲,Virgo Kernel 与 Apache Karaf 有着类似的功能。它们甚至共享着一些组件如 Gogo shell。

InfoQ:你已经卸任了 Virgo 领导者的职务。在它的商业用户中,有没有人对继任这个位置感兴趣?

Normington:有一些用户已经表示希望 Virgo 能够继续下去。我想在过去的几个月中,我每周都会花半天的时间以保持这个项目的运转,来响应用户的问询等等。对于继任者,我愿意提供帮助,使他在这个角色上能够更为舒服。因为这个项目有经验丰富的提交者,这个工作并不那么繁重。

InfoQ:你为什么辞职呢?

Normington:我现在为 Pivotal 工作,它正在开发一个 PaaS 。尽管也可以在 PaaS 中运行 Virgo,但是细粒度模块化的 OSGi 应用与 PaaS 模型之间并不是那么自然匹配的,OSGi 应用能够动态地启动和停止 bundle,而 PaaS 需要一个简单的“推动”(push)操作就能运行应用。Pivotal 的运作方式有些像创业公司(startup),所以我没有时间来保证在 Virgo 方面的工作。

InfoQ:你正在做些什么样的工作?

Normington:我正在为 Cloud Foundry 开源 PaaS 工作,为运行时的 Java 应用开发一个“ buildpacks ”。它们是由 Ruby 编写的,很有意思。

InfoQ Oracle 已经授权 TCK 来测试 Virgo 和 EclipseLink,会有人进行推进以获取认证还是继续等待直到新的领导者上任?

Normington:会一直等到有新的领导者。对于新的领导者及其公司来说,还会有一点法律相关的工作。但是技术工作会是很简单的,因为 SAP 的 HANA Cloud 平台已经获得了认证。

InfoQ:SpringSource Enterprise Bundle Repository 的现状如何?

Normington:我们协助搭建了 Eclipse Bundle Recipes 项目,目前它由 IBM 领导。它的目标在于提供基于社区的高质量的 OSGi bundle 源。我们从 SpringSource 的 Enterprise Bundle Repository 中获得了 manifest 模板,这样就能对任何想使用它们的人开放了。我们已经冻结了 SpringSource Enterprise Bundle Repository 的内容,但是至少一年之内它还是可用的。

原文英文链接: Eclipse Virgo Gets New Lead

2013-10-10 05:105493

评论

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

复杂多变场景下的Groovy脚本引擎实战

vivo互联网技术

敏捷开发 脚本语言

2020-2021华为Java面试真题,统统都会!

Geek_f90455

Java 程序员 后端

Druid 的几个查询实例

HoneyMoose

Druid 通过 dsql 运行的时候提示错误 urllib2

HoneyMoose

【Maven技术专题】如何使用Assembly插件实现自定义打包

洛神灬殇

maven assembly 8月日更

10天拿到字节跳动Java岗位offer,互联网行业“中年”危机

Geek_f90455

Java 程序员 后端

15分钟的字节跳动视频面试,工作感悟

Geek_f90455

Java 程序员 后端

Android开发:App点击跳转到网页的实现

三掌柜

8月日更

2021Java大厂高频面试题,原理+实战+视频+源码

Geek_f90455

Java 程序员 后端

Druid 从控制台(Druid console)从 SQL 脚本转换为 JSON 格式的方法

HoneyMoose

【设计模式】原型

Andy阿辉

C# 编程 后端 设计模式 8月日更

多语言ASR?没有什么听不懂,15种语言我全都要

华为云开发者联盟

语言 ASR 多语言ASR 单语模型 Conformer

10万字Mysql实战文档,Java面试题汇总

Geek_f90455

Java 程序员 后端

2020-2021华为Java面试真题,内含福利

Geek_f90455

Java 程序员 后端

2021Java开发现状分析,给大家安排上!

Geek_f90455

Java 程序员 后端

十大排序算法--插入排序

Ayue、

排序算法 8月日更

synchronized 优化手段之锁膨胀机制!

王磊

Java 并发 8月日更

在线分数加减乘除计算器

入门小站

工具

12年高级工程师的“飞升之路”,面试题+笔记+项目实战

Geek_f90455

Java 程序员 后端

Python代码阅读(第1篇):列表映射后的平均值

Felix

Python 编程 Code Programing 阅读代码

netty系列之:netty初探

程序那些事

Java 响应式编程 Netty nio 程序那些事

Python OpenCV 图像区域轮廓标记,可用于框选各种小纸条

梦想橡皮擦

8月日更

docker入门:postgresql安装及可视化界面portainer使用

小鲍侃java

8月日更

Rust从0到1-模式-可反驳性

rust 模式 Patterns Refutability 可反驳性

【Flutter 专题】132 图解 PaginatedDataTable 分页表格

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

2020-2021阿里巴巴Java面试真题解析,详细的Java学习指南

Geek_f90455

Java 程序员 后端

架构实战营 - 模块四作业

思梦乐

Druid 从控制台(Druid console)中删除过滤器和运行查询

HoneyMoose

Druid 从控制台(Druid console)中查询字段

HoneyMoose

基于ECS快速搭建 Docker 环境

若尘

Docker 服务器 8月日更

索信达控股:银行4.0的AI世界——开启算法力的时代

索信达控股

人工智能 金融科技 银行

Eclipse Virgo有了新的领导者_语言 & 开发_Alex Blewitt_InfoQ精选文章