上周的 EclipseCon 大会给超过 1400 个与会人员带来了 300 份演讲资料和教程。与过去几年一样,EclispeCon 是和 OSGi DevCon 合办的。
令人瞩目的新闻稿
这次大会最具冲击力的新闻热点在于会议初始时所宣布的一个顶级项目,叫做 Eclipse Runtime,简称 Eclipse RT 。和 Apache 一样,Eclipse 也把项目组织为“顶级项目”(这些项目共享一个共同的 repository,有时也共享邮件列表或者类似的形式)和“组件”项目(实现了特定一块功能的项目,如 SWT 或 ECF 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™持久性 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 的 microServicesArchitecture 、 IBM 的 WebSphere (将来甚至是 JBoss )都创建于 OSGi 运行时之上。OGSi 实现不仅一个——比如 Felix (以前的 Oscar )、 ProSyst 的 mBedded Server 、 Knopflerfish 、当然还有 Equinox ——针对特别的性能和许可需求,总可以从中选择出合适的 OGSi 运行时。
过去的几年中,讨论的话题一直局限于初学者的级别,比如什么是 OSGi,如何运用等等。而今年,较高层次的话题如雨后春笋,比如使用Spring 动态模型 (原来称为Spring OSGi)、比如硬件相关的讨论(将OSGi 和Android 结合使用以及 BugLabs 使用OSGi 的定制硬件等)。除此以外, Spring Titan 最近被宣布作为用于创建 J2ME 平台用户界面的 OSGi 平台,从而加入 Nokia 的 eRCP 使用队伍。 Sprint Titan 上的 webinar 开发平台也将接踵而至。
JSR 277 和 JSR 294 的给定目标是与 OSGi (也就是 JSR 291 )兼容;优先级不停上升的 Sun bug 66 50394 将 OSGi 一下推入到需要增强列表的前25 名;结合多个提供商提供OSGi 平台及业界普遍采纳OSGi 这一事实,看起来将来会涌向出不可计数的基于OSGi 的系统模型。
小结
和所有的大会一样,EclipseCon(及OSGi DevCon)是一个认识同道中人、共同讨论想法和应用实现的地方,今年也不例外。另外,这也是一个众多社区聚会的地方,而不是将讨论局限在特定的项目网站上。大会中的一些演讲在会议结束后,可以在EclipseCon 主站上看到。
Eclipse Runtime 项目的创建很明显得告诉我们,Eclipse 不仅仅是集成开发环境。基于 Equinox 的解决方案有可能在 web(用 RAP 或者甚至是将来的 E4 )上、在使用 Rich Client Platform 的客户端、在使用 eRC P 的移动客户端以及使用 Equinox server 的服务端逐渐发展成为经过尝试与测试的模块构架。
查看原文: EclipseCon 2008 Roundup
评论