生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

Bundle.update:Java EE 中的 OSGi、JSR 294 被叫停

  • 2010-01-12
  • 本文字数:2418 字

    阅读完需:约 8 分钟

自从上次的 bundle.update 发布以来,在 OSGi 与模块化 Java 领域中发生了一系列值得我们关注的事件:JSR 294 被叫停、Enterprise Expert Group 发布了第 4 个草案、WebSphere 上可以直接运行 OSGi 应用以及即将到来的 OSGi 大会对预先报名者提供折扣优惠,同时演讲人招募的时间即将截止。

JSR 294 被叫停

Sun 领导的两个模块化 JSR(分别是 JSR 294 ——Java 语言改进的模块化支持,以及 JSR 277 ——Java 模块化系统)都已被叫停。这样就剩下 JCP 批准的模块化系统 JSR 291 (虽然基于有些古老的 OSGi 4.1 )仍活跃在各种系统中了,其中也包括 Sun 新近发布的 GlassFish v3 应用服务器。

我们尚不清楚 JSR 294 为何会被叫停(JSR 277 已经被叫停一年了)。小组收到的上一封邮件表明:

  • 除了实现 JSR 以外,JDK 7 还将提供特定于实现的特性,比如 classpath(没有任何一个 JSR 提过这部分内容)以及 Jigsaw 模块化系统。
  • JDK 模块化使用了 Jigsaw 模块化系统。模块化的可见性是由一个原型化的模块 info.java 文件控制的,这在未来可能会发生变化。模块的私有访问实际上并没有在模块化中使用到,这部分主要是起引导作用的。
  • 关于 Jigsaw 的进一步讨论将在 Jigsaw-dev 列表中展开。

简单模块系统自从被提出后就没有什么新进展,尽管版本的事情是由JSR 294 控制的,但事实却并非如此,因为其开发过程是在 jigsaw-dev 邮件列表上进行的,而该邮件列表却游离于 JSR 294 专家组的邮件列表之外。种种事实表明 Jigsaw 采取了特定于实现的特性来模块化 JDK,虽然这本身是非常好的,但却无法实现编写一次,到处运行的模块。可能以后这都不算什么大事了,因为 JDK 7 最早也要到 2011 年才会发布,应用服务器已经将宝压在了 OSGi 上了。

更新:在本新闻发布后,Alex Buckley证实这种停止实际上是自动的,缘于提案发布的时间而不是说项目就停止开发了。

WebSphere、GlassFish、DM Server 以及基于 OSGi 的服务器

Kirk Knoernschild 发文表明一些企业正在构筑自己的OSGi WebSphere V7 alpha 最近就声明可以将 OSGi bundle 部署到 WebSphere 中(虽然从 2006 年开始 WebSphere server 就已经运行在 OSGi 内核上了)。

最近发布的 GlassFish v3 也将 OSGi 运行时引入到了 Sun 的 Java 应用服务器中。尽管 GlassFish 还不支持直接运行本地的 OSGi bundle,但我们可以将其置于 Equinox 和 Felix 上,可以在运行着的 GlassFish 服务器上同时运行其他 bundle。

SpringSource 的 dm Server 2.0.0.M6 已经可以运行 OSGi web bundle 了,借助于其 bundle 仓库,dm Server 指引着企业运行时的前进方向。

Maven 3 与 Tycho 构建、仓库以及 Eclipse Marketplace

随着 Maven 3 (其 Tycho 可以构建基于 OSGi 的应用)发布日期的临近,它将成为 Eclipse 构建 EGit 以及 Tigerstripe 的首选。

相对于P2 仓库来说,Maven 仓库的查询能力受到了人们的质疑,但事实上, Maven 仓库也可以进行查询。有事实可以证明,Maven 仓库是整个 Maven 构建过程中最为成功的一个方面,它可以根据依赖关系自动下载所需的程序库。从 Pack200 压缩这个角度来看, P2 可能更加高级一些,它还可以更新非 JAR 组件,然而 Mave 的über 仓库在广度上轻而易举地就超越了 Eclipse P2 仓库。不仅如此,P2 仓库经常被切分成多个独立的仓库,而 Maven 则具有一个所有项目都可共享的全局仓库。

最近, Eclipse 基金会发布了 Eclipse Marketplace ,它源自于成功的 Eclipse 插件中心2 站点。最初建立 EPIC 的目的是提供一个中央下载站点,为那些不在 Eclipse.org 站点上的流行插件提供下载服务,比如 Findbugs Checkstyle

Eclipse 基金会在 2006 年购买了EPIC 的使用权,但后来就基本没再动过它,直到最近开发出了Eclipse Marketplace 后这一点才有所改观。在这段时间内,由于缺乏统一的下载结构以及从Update Site 到P2 的转变极大地限制了中央下载站点(用于搜索及下载插件)的发展势头。

除了插件以外,新的Marketplace 还托管了RCP 应用(既有商业的,也有免费的)以及培训与咨询供应商。

最后要说的是 IntelliJ 9 的发布,其社区版与商业版都提供了对 OSGi 应用的支持。由于该顶级 Java IDE 可以在本地构建 OSGi 应用,同时对 OSGi 应用又提供了巨大的支持,开发模块化 Java 应用变得空前的简单。

OSGi 4.2 EEG 草案发布

最近 Enterprise Expert Group 发布了第 4 个草案。EEG 的目的是定义一套规范以便 JEE 风格的应用可以作为本地 bundle 运行在 OSGi 运行时中。

  • 现在 Web 应用可以作为 bundle 使用了。这样不仅使得 OSGi 运行时能够托管 WAR(与 Jetty 之类的服务器一样),同时 WAR 还可以在运行时中拥有版本依赖。 Pax Web 早就可以实现这一点了,但现在形成了标准,任何 OSGi 运行时都可以使用了。
  • OSGi 框架中对 bundle 的 JMX 控制,对于核心 OSGi 服务的标准化绑定,比如 Package Admin 以及 Cofniguration Admin 等等。
  • 事务已经作为 JTA 绑定的一部分,这样就可以从 OSGi 服务中获取事务了。
  • JNDI 访问既可以从 OSGi 中获取,也可以在 OSGi 服务间得到。
  • 兼容于 OSGi 的 JDBC 工厂(与 Class.forName() 不同)。

凭借这些服务,企业应用可以运行在 OSGi 环境中而无需完整的 JEE 栈。尽管 JEE 6 已经发布,但它有可能是最后获得批准的几个 JSR 之一, Mark Reinhold 如是说

Q:现在为何不开启一个 closures JSR,让专家组完成提案工作? A:到目前为止 Project Coin 还没有一个 JSR,原因与此类似,直到 JCP 执行委员会内部的争论平息之后才有可能提出新的 Java SE JSR。

即将到来的 OSGi 大会

伦敦将于今年 1 月 23 日举办 OSGi DevCon London ,同时还将举办 JAX London 。现在,大会的议程已经确定下来了,Kirk Knoernschild 将进行主题演讲。

Santa Clara 将于今年的 3 月 22——25 日举办 OSGi DevCon ,同时还有 EclipseCon 2010 。Robert “Bob 大叔” Martin 将进行主题演讲。目前还在招募演讲者,如果你有这方面的想法,请递交你的提案

查看英文原文: Bundle.update: OSGi in Java EE, JSR 294 Marked Inactive

2010-01-12 11:092182
用户头像

发布了 88 篇内容, 共 258.3 次阅读, 收获喜欢 8 次。

关注

评论

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

CVE-2017-10271漏洞复现与分析

喀拉峻

网络安全 信息安全 渗透测试

去年今日我凭借这份文档,摇身一变成了被BAT大牛们看中的幸运儿

Java spring 程序员 JVM Kakfa

京东三面(后端)凭借这份Java面试复盘手册,已斩获60K*15offer

Java spring 程序员 算法 JVM

Python代码阅读(第55篇):获取字典的所有键或所有值的列表

Felix

Python 编程 阅读代码 字典 Python初学者

出自清华大牛之手的Redis源码核心手册,已被列为GitHub首推书籍

Java redis 编程 程序员

12 高可用的应用,微众银行java面试

Java 程序员 后端

Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞

CODING DevOps

Linux Nocalhost Meetup CDF

融合通信技术趋势和演进方向

网易云信

云通信 通信云 传输协议

互联网+质量基础设施服务平台,NQI一站式服务平台搭建

电微13828808271

开源项目|Go 开发的一款分布式唯一 ID 生成系统

AlwaysBeta

golang 开源 Go 语言

加速拥抱支持开源生态 | OceanBase 开源版3.1.1正式发布

OceanBase 数据库

数据库 开源 开发者 成绩单 DTCC

13万字!腾讯高工手写JDK源码笔记 带你飙向实战,linux高级教程

Java 程序员 后端

新赛季集结!“百度AI创意派”正在寻找有创意的你

科技热闻

OpenMLDB v0.3.0 正式发布,支持快速部署使用的单机模式

第四范式开发者社区

开源 第四范式 OpenMLDB

杨传辉:深挖 OceanBase 背后的技术逻辑,助力数据库核心系统升级

OceanBase 数据库

数据库 开源 分布式 数字化转型 核心系统

腾讯大数据全场景在离线混部系统Caelus正式开源

科技热闻

杨冰:OceanBase助力数字化转型,原生分布式数据库成核心系统首选

OceanBase 数据库

数据库 开源 分布式 云栖大会 核心系统

OceanBase 3.2 正式发布 | 更硬核的 HTAP,TPC-H 性能提升6倍!

OceanBase 数据库

数据库 分布式 云栖大会 核心系统 一体化架构

13 高可用的服务,字节跳动今日学习内容

Java 程序员 后端

“你好,天津”网络短视频大赛月内启动

InfoQ 天津

浪潮云说丨GPU云服务器,助力AI计划轻松实现

浪潮云

云计算

个人项目管理软件解决方案

低代码小观

项目管理 管理系统 企业管理系统 项目管理工具 企业管理工具

git submodule 添加/删除

webrtc developer

OceanBase 创始人阳振坤 | 十余年打磨 国产数据库之路砥砺前行

OceanBase 数据库

数据库 开发者 趋势 1024 CSDN

腾讯架构师推荐架构电子书:多线程+JVM+Nginx+Redis+SpringBoot

nginx redis 程序员 Spring Boot JVM

长隆熊猫酒店联合番禺消防大队开展“我是小小消防员”活动

江湖老铁

SAP x EMQ 碳中和方案亮相进博会,数据基础设施支撑低碳发展

EMQ映云科技

物联网 IoT mqtt 进博会 SAP

解决大数据分布式计算痛点:腾讯正式开源分布式远程Shuffle服务Firestorm

科技热闻

共筑数据库未来 | 2021 OceanBase 原生分布式数据库论坛回顾

OceanBase 数据库

开源 分布式 #数据库 云栖大会 圆桌论坛

周傲英:替代工程只是契机,转型升级才是大势所驱

OceanBase 数据库

数据库 开源 数字化转型 云栖大会

如果明天交任务,自己做今晚能完成,而让下属做需要一周时间,怎么办?

石云升

职场经验 11月日更

Bundle.update:Java EE中的OSGi、JSR 294被叫停_Java_Alex Blewitt_InfoQ精选文章