写点什么

JSR277 和 OSGi 会结合吗?

  • 2008-05-21
  • 本文字数:1475 字

    阅读完需:约 5 分钟

上个月的一篇新闻谈及了JSR277 和OSGi(即JSR291)的状况,这在 JSR277 专家组邮件列表引发了一场激烈的争论,这场争论是今年以来最为激烈的一场。这之后的主要推动者之一就是 Bryan Atsatt ,他是 JSR277(模块)和 JSR294(超级包)的专家组成员。他说 JSR277 可以胜过 OSGi

初始规范实际上包含两个独立的部分:一个 api/ 框架,一个带有新的分发格式的实现。不幸的是,人们总是不加区别地介绍他们。更遭的是,新的分发格式(“.jam”文件)经常占据上风。
那么 JSR 277 如何胜过 OSGi 呢?通过向 SE 环境提供紧密的集成。其优势主要体现在以下四个方面: - 正则存储模型

  • 编译期依赖的决定
  • 跨模块实现的类 / 资源共享
  • 通过命令行的执行

对于现存的 OSGi 包来说这些都可行。还能更好点吗,哼?也许还有希望。

事实上,Bryan 已经在 JSR277 专家组中发表了大量的评论;他提出规范应该与实现相分离,因为在专家组的草案介绍中它们已经混淆在一起了;另外他又提出 Peter Kriens 应该加入进来

专家组已经深陷泥潭了,我们需要重新步入正轨。我提出以下具体步骤:1. 让 Peter Kriens 加入到专家组中。Peter 在这个领域具有丰富的经验,我相信他很快就会成为一个有价值并且活跃的贡献者。
2. 将设计 / 讨论 / 调查的互动过程搬出 Sun 的办公室,搬到专家组中。
3. 给予专家组更多一手信息(或者至少一个快照)。

当然,看起来很多讨论和实现的决定都是在 Sun 公司里闭门造车,在决定制订出来后,只是把专家组看作是证明该决定的读者。事实上,以上这两点正是导致 Peter Kriens 不想加入的罪魁祸首

然而,JSR 277 现在包含两个好的(资源库和语言模块)和一个坏的(JAM)部分。就在 JavaOne 2008 之前,Stanley 发布了一个简短的 OSGi 互操作性文档。这个文档不仅在细节上非常简略,而且还提到了尚未公布的早期草稿#2(EDR2)的很多地方。我问了专家组成员 BJ Hargrave [Equinox - ed] 和 Richard Hall [Felix - ed] 是否他们看到了这个草稿,然而他们也并未看到。最近我在 JSR 277 邮件列表中抱怨缺乏讨论,看起来工作都在暗地里进行。 在 Alex 和 Stanley 介绍 JSR 277 的过程中,我清楚地认识到幕后已经做了很多工作了;而这一切并未在邮件列表上进行过任何交流。对于在座的各位并不知道几乎所有的东西都没有经过专家组的讨论。如果唯一的选择就是同意 Sun 在幕后所做的工作的话,那我加入专家组还有什么意义呢?如果在 JavaOne 演示的尚未发布的 EDR2 成为 JSR 277 最终的结果时,有多少东西需要改变?当大部分工作已经完成时,我还需要加入专家组吗?在这种情况下,你能完成多少基本的改变?

我们现在处在一个关键时期。尽管我很想参加关于 Java 语言模块和仓库的讨论,但是我不能对 Java 中的模块系统负责,因为它毫无道理地搞出这么多复杂的东西出来。我真心希望 Sun 能抓住这救命稻草,放弃 JAM,采取更为简单的方式在整个系统中使用 OSGi 元数据。这是我在过去的几个月中得出的结论!

同时,Sun 的不断创新也意味着 OSGi 的交互正在不断进步。 Alex Buckley 已经加入了277 专家组(负责上述的JSR294 的简化工作,这真是可喜可贺啊);同时 Mandy Chung 已被赋予 OSGi 互操作性方面的工作

看起来 Sun 已经在关注了,还算及时。在今年的 JavaOne 上,我们报道了基于OSGi 的 Spring Source 应用平台运行在OSGi 上的Glassfish OSGi 最佳实践展示(PDF)激起了人们的兴趣,自从 JavaOne 后,在论坛和博客上关于包(bundles)的讨论就在持续增长。我们希望 JSR277 EDR 2 会牢记这些建议并且将 OSGi 和 JSR 277 更紧密地结合在一起。

查看英文原文: Are JSR277 and OSGi coming together?

2008-05-21 07:39451
用户头像

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

关注

评论

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

HBase常见问题

数据社

大数据 HBase 5月日更

架构实战营 - 模块4- 作业

笑春风

Flume知识点总结

大数据技术指南

flume 5月日更

架构实战营模块四作业

薛定谔的指南针

架构实战营

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

白发青年

架构实战营

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

汪子熙

SAP abap

python-运算函数-sum

Geek_6370d5

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

颜培攀

架构实战营

模块4 学习总结

TH

架构实战营

模块四作业 - 考试试卷存储方案

张大彪

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

汪子熙

JavaScript html chrome

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

北游学Java

Java 面试 秋招

第四次作业 设计千万级学生管理系统的考试试卷存储方案

函数方程(弘宇)

【Flutter 专题】123 图解简易 GroupList 二级分组列表

阿策小和尚

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

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

ifc177

#架构实战营

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

👈

架构实战营

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

swordman

架构实战营

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

👈

架构实战营

Kafka-详细笔记

ninetyhe

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

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

Lev

Python 数据科学 matplotlib data-science

实战|教你用Python玩转Mysql

Python研究者

Python MySQL MySQL 运维

Scrum Team不等于Development Team——《Scrum指南》重读有感(2)

Bruce Talk

Scrum 敏捷 随笔 Agile

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

捡田螺的小男孩

数据库 面试 一致性 缓存;

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

小遵

Flink的Time与Window

五分钟学大数据

大数据 5月日更

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

汪子熙

JavaScript chrome

架构实战营作业4

大肚皮狒狒

模块4作业 千万级学生管理系统考试试卷存储方案

TH

架构实战营

学生考试系统存储设计

王硕

架构训练营

Java Elasticsearch 使用

Java elasticsearch

架构训练营模块四作业

Geek_e0c25c

架构训练营

JSR277和OSGi会结合吗?_Java_Alex Blewitt_InfoQ精选文章