写点什么

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

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

关注

评论

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

Android 开发面试心得:BAT大厂Android面试题整理,面试8家大厂后终于拿到Offer

android 程序员 移动开发

Android 性能监控系列一(原理篇),闭关60天学懂NDK+Flutter

android 程序员 移动开发

Android&Java面试题大全—金九银十面试必备【上,大厂Android面试真题精选

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏,音视频编解码开发

android 程序员 移动开发

Android 获取子 View 的位置及坐标的方式(1),Android入门视频教程

android 程序员 移动开发

Android 黑科技保活实现原理揭秘,精心整理

android 程序员 移动开发

Android 开发经验分享:挺重要的网络基础,android实现选择题模式

android 程序员 移动开发

android 快速开发(三)巧用公共标题栏(1),android开发从入门到精通

android 程序员 移动开发

Android 组件化实战,kotlin协程实现原理

android 程序员 移动开发

Android---Fragment-的过去、现状与未来,android网络层框架设计实战

android 程序员 移动开发

Android---用力过猛!为了组件化改造学习十几家大厂的技术博客

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android实战项目

android 程序员 移动开发

Android 进阶之 MVP,高级安卓工程师面试题

android 程序员 移动开发

Android 高工面试必考题(二),android开发艺术探索pdf百度云

android 程序员 移动开发

Android 自定义 View 之 LeavesLoading,移动开发工程师考试

android 程序员 移动开发

Android 面试主题集合整理,kotlin协程原理

android 程序员 移动开发

Android 面试官:这些经验要记录好,面试途中会遇到,做了6年的Android

android 程序员 移动开发

Android 技术的下半场(1),android开发书籍下载

android 程序员 移动开发

Android 技术的下半场,kotlin开源

android 程序员 移动开发

Android 无缝换肤深入了解与使用,android快速开发

android 程序员 移动开发

Android 约束布局(ConstraintLayout)1,最详细的解释小白也能听懂

android 程序员 移动开发

Android 网络框架之Retrofit源码解析,android嵌入式开发及实训答案

android 程序员 移动开发

Android 高频面试必问之Java基础,安卓framework开发

android 程序员 移动开发

Android 开发之深入浅出 NavigationUI,2020-2021阿里巴巴安卓面试真题解析

android 程序员 移动开发

Android 开发必备知识点整理,34岁程序员年薪50w

android 程序员 移动开发

Android 组件通信中有哪些不为人知的细节?,面试题分享

android 程序员 移动开发

Android 架构组件的最新进展 (上篇),flutter登录界面设计

android 程序员 移动开发

Android-10分区存储介绍及百度APP适配实践,三年经验月薪50k我是怎么做到的

android 程序员 移动开发

Android 开发必备知识点及面试题汇总(Android+Java,斩获offer

android 程序员 移动开发

Android 开发行业真的不行了嘛?,深入讲解Android

android 程序员 移动开发

Android 插桩入门,腾讯T2大牛手把手教你

android 程序员 移动开发

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