上周的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(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的“生态系统”一直都很健康。由于OSGi运行时的引入对它来说是近期最大的变化,出现了关于Eclipse将来的“健康”问题的争论:在今年的EclipseCon上,大家看到了特别针对E4、带有BoF session(笔记)的演讲。它的关健在于引入一个Eclipse Session,使用过将浏览器作为用户界面来,而代码则位于服务器上——这样一来,无论你在哪儿都可以登录并进行在线开发。这项工作在某种程度上会引发创建更多的异步API(为了在异步的基于web环境下工作),并且很有可能对Eclipse 3.x的前景带来负面影响。就目前而言,E4是一组理念,它会随着时间的推移而不断进化,因此它是未来的发展趋势。当前,已经有一些范例可供参考。
Rich AJAX Platform已经拥有可以在web浏览器中展现已有实现的代码(有范例供参考),尽管数据的持久性需要以Servlet形式来考虑及处理,但要运行已有视图只需很小量的代码修改。
在过去的三年里,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 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