2008 EclipseCon 综述

阅读数:174 2008 年 4 月 1 日

话题:Java语言 & 开发

上周的EclipseCon大会给超过 1400 个与会人员带来了 300 份演讲资料和教程。与过去几年一样,EclispeCon 是和OSGi DevCon合办的。

令人瞩目的新闻稿

这次大会最具冲击力的新闻热点在于会议初始时所宣布的一个顶级项目,叫做 Eclipse Runtime,简称Eclipse RT。和 Apache 一样,Eclipse 也把项目组织为“顶级项目”(这些项目共享一个共同的 repository,有时也共享邮件列表或者类似的形式)和“组件”项目(实现了特定一块功能的项目,如SWTECF Jabber)。

Runtime 项目目标在于突出 Eclipse 的 OSGi 运行时(Equinox)和其他一些主要组件(比如,Eclipse 通信框架)。另外,他们创建了一个Equinox Portal,为那些关注运行时领域的众多社区提供“培育基地”,这样将 Eclipse 或者 Eclipse 平台区分开来,后者通常与(Java)IDE 方面相关联。

Eclipse 基金会今天宣布了一个新的倡议,开发并推动基于 Equinox(一个轻量 OSGi 运行时)的开源运行时技术。虽然 Eclipse 是因被广泛运用的开发工具而著称,但该倡议旨在建立一个集中于运行时技术的 Ecplise 开源项目社区,这一技术为移动、桌面和服务器环境下的软件构建和和部署提供了更灵活的方法。

“发起一个关注运行时的 Equinox 社区是 Eclipse 自然而然的进化”,Eclipse 基金的执行官 Mike Milinkovich 说,“我们的社区已经开发了一些运行时项目,比如 RCP、RAP、Swordfish、EclipseLink 以及 ECF。这个新社区将帮助组织和“孵化”那些目标在于简化软件开发和部署软件的项目。”

EclipseCon 大会上发布的另一则消息是EclipseLink被选为JPA 2.0 (aka JSR317)的参考实现。Java 持久性 API(Java Persistence API )是针对 Java EE 和 Java SE 环境下持久化及对象 / 关系映射管理的 Java API:

Eclipse 基金会今天宣布说,Java(TM) 持久性 API (JPA) 2.0 和 JSR 317 标准的领头人 Sun 选择了 EclipseLink 项目作为参考实现。由 Oracle 领导的 Eclipse 持久性服务项目 (EclipseLink) 提供了一个支持主要持久性标准的开源运行时框架。EclipseLink 项目提供了相当多的涉及到复杂映射、性能和可伸缩性的服务,以及 Java 企业应用所需的高级功能。

JSR 317——Java 持久性 API,是针对 Java EE 和 Java SE 环境下持久化及对象 / 关系映射管理的 Java API。作为参考实现,EclipseLink 将提供一个在 Java SE 和 Java EE 应用中都能采用的经过验证的、具有商业品质的持久性解决方案。

“把 EclipseLink 作为 JSR 317 的参考实现是 JCP 和 Eclipse 社区携手改进 Java 软件应用开发的又一个优秀的例子,”Eclipse 基金的执行官 Mike Milinkovich 说,“诸如此类的开放式合作有助于推动技术被广泛接受。”

这个消息的发布特别引人注意,首先是因为EclipseLink项目是去年由Oracle在他们的TopLink产品基础上的捐献出来的;其次,该项目也将被运用到Glassfish 3中。尽管 Sun 不可能立马加入到 Eclipse 基金会,但这样的合作无论对谁都是有利无害。

最后,虽然在宣布当时没有任何协议,但 Microsoft 的Sam Ramji仍然许诺会投入资源帮助 SWT 的 WPF 端口方面的开发。此外,Windows CardSpace团队也一直在参与个人身份管理项目——Higgins的开发。

Eclipse 的发展

Eclipse 的“生态系统”一直都很健康。由于 OSGi 运行时的引入对它来说是近期最大的变化,出现了关于 Eclipse 将来的“健康”问题的争论:在今年的 EclipseCon 上,大家看到了特别针对E4、带有BoF session笔记)的演讲。它的关健在于引入一个 Eclipse Session,使用过将浏览器作为用户界面来,而代码则位于服务器上——这样一来,无论你在哪儿都可以登录并进行在线开发。这项工作在某种程度上会引发创建更多的异步 API(为了在异步的基于 web 环境下工作),并且很有可能对 Eclipse 3.x 的前景带来负面影响。就目前而言,E4 是一组理念,它会随着时间的推移而不断进化,因此它是未来的发展趋势。当前,已经有一些范例可供参考。

Rich AJAX Platform已经拥有可以在 web 浏览器中展现已有实现的代码(有范例供参考),尽管数据的持久性需要以 Servlet 形式来考虑及处理,但要运行已有视图只需很小量的代码修改

OSGi 前沿

在过去的三年里,OSGi DevCon 一直和 EclipseCon 协作举办。Eclipse 从 3.0 开始就开始使用 OSGi 运行时;现在,很多企业应用,诸如BEA 的 microServicesArchitectureIBM 的 WebSphere (将来甚至是JBoss)都创建于 OSGi 运行时之上。OGSi 实现不仅一个——比如 Felix(以前的Oscar)、ProSyst 的 mBedded ServerKnopflerfish、当然还有Equinox——针对特别的性能和许可需求,总可以从中选择出合适的 OGSi 运行时。

过去的几年中,讨论的话题一直局限于初学者的级别,比如什么是 OSGi,如何运用等等。而今年,较高层次的话题如雨后春笋,比如使用 Spring 动态模型 (原来称为 Spring OSGi)、比如硬件相关的讨论(将 OSGi 和 Android 结合使用以及BugLabs 使用 OSGi 的定制硬件等)。除此以外,Spring Titan最近被宣布作为用于创建 J2ME 平台用户界面的 OSGi 平台,从而加入 Nokia 的eRCP使用队伍。Sprint Titan 上的webinar开发平台也将接踵而至。

JSR 277JSR 294的给定目标是与 OSGi (也就是JSR 291)兼容;优先级不停上升的Sun bug 6650394将 OSGi 一下推入到需要增强列表的前 25 名;结合多个提供商提供 OSGi 平台及业界普遍采纳 OSGi 这一事实,看起来将来会涌向出不可计数的基于 OSGi 的系统模型。

小结

和所有的大会一样,EclipseCon(及 OSGi DevCon)是一个认识同道中人、共同讨论想法和应用实现的地方,今年也不例外。另外,这也是一个众多社区聚会的地方,而不是将讨论局限在特定的项目网站上。大会中的一些演讲在会议结束后,可以在 EclipseCon 主站上看到

Eclipse Runtime 项目的创建很明显得告诉我们,Eclipse 不仅仅是集成开发环境。基于 Equinox 的解决方案有可能在 web(用RAP 或者甚至是将来的E4)上、在使用Rich Client Platform的客户端、在使用eRCP的移动客户端以及使用Equinox server的服务端逐渐发展成为经过尝试与测试的模块构架。

查看原文:EclipseCon 2008 Roundup