技术开发 频道

外电头条 再论Java未来之路

  Java EE

  Oracle长期以来一直都是Java的支持者,也是最大的JCP成员之一,公司10多年前就开始参与Java EE规范的编制,因此对Oracle成为Java中间件市场的大鳄不应该感到意外。

  通过自身努力和并购,Oracle汇聚成了自己的融合中间件平台,它由完整的Java EE堆栈,基于SOA的服务,一个ESB,事务服务器和开发工具等组成。收购Sun后,Oracle拥有了Glassfish软件套件,它也是一个Java EE参考实现。由于Oracle还拥有另一个Java EE平台Weblogic,据最新的产品路线图,Oracle在融合中间件堆栈中将使用Weblogic,而在嵌入式方面可能会使用Glassfish。

  至于Java EE的未来,Oracle表示将在以下几方面做出努力:

  · 模块化,开发标准:Java EE 6通过配置文件(Profile)定义实现了模块化Java EE,允许厂商根据特定需求创建更小的Java EE堆栈子集,解决成本和Java EE使用复杂问题。通过模块化设计和定义标准,有助于简化Java EE,让它的应用领域更广泛。

  · Java EE 6规定了两种配置文件:Web配置文件(Servlet,JSP和JSF)和Java EE企业配置文件。显然还可以定义更多的配置文件种类,例如,为支持会话初始化协议(SIP)定义电信服务器配置文件。

  除了配置文件外,模块化可用于部署中间件到其它设备,例如,Java EE堆栈的嵌入式部分嵌入到移动设备,如安防摄像头,RFID阅读器,或其它你能想到的任何智能设备,开放了标准Java编程模型后让它的使用范围更广了。

  · UI和RIA:HTML仍然是Java EE应用程序隐含的UI协议,通常有Java Servlet,JSP和JSF生成,考虑到生产的Web页面是静态的,可以使用Ajax技术,不过它已经超出了Java EE的范畴。

  虽然Ajax和Comet方法已经被证明是非常强大的,具有活力,让Web应用程序的易用性更好,但目前还缺乏标准和优秀的JavaScript开发工具。

  虽然Oracle没有明确这方面的具体计划,但我猜测未来Java EE和JavaFX集成时将会解决Ajax问题,事实上,根据2009年JavaONE大会上拉里埃里森的关于Ajax和JavaFX的发言,我的猜测应该是正确的。

  Java ME

  Java ME是Sun的一个巨大成功,已经用于数十亿各种类型的手机,它还由第三方定制用于无数的电力嵌入式解决方案。具体而言,Java ME主要由两个产品组成:连接限制设备配置(Connected Limited Device Configuration,CLDC)和连接设备配置(Connected Device Configuration,CDC)。两者之间的区别是它们的能力,CLDC是一个较小的子集,拥有一个非常小的虚拟机(VM),因此在能力有限的设备上运行。CDC是一个较完整的Java实现,它是为更强大的设备设计的。CDC与Java SE的字节码兼容,即为Java SE编译的.class文件可以在CDC JVM上运行,但CLDC就不行。

  由于Java ME(CDC和CLDC)和Java SE之间的限制和差异,在Java API和库方面也有差异,这就造成了开发分裂,为了解决这个问题,Oracle日前宣布将统一Java ME和Java SE API,彻底消除Java市场的分裂。

  另外,Oracle还宣布要改善Java ME的启动时间和整体性能,改进移动设备的电源管理,并努力支持新兴嵌入式设备(MID,媒体播放器等),以及改进JavaFX和JavaFX Mobile。

  JavaFX

  根据拉里埃里森和其它高层(如Thomas Kurian)的表态,Oracle将会继续支持和发展JavaFX,JavaFX是一个强大的运行时,脚本语言和工具集,让Java开发人员更容易构建RIA应用程序,Flash/Flex和Silverlight也是RIA领域的竞争者,但JavaFX应用程序是为了满足你生活方方面面的应用,此外,JavaFX及基于Java构建的,因此你可以在JavaFX程序中集成和使用现有Java代码。

  你可以直接在桌面计算机上,嵌入到网页,通过Java WebStart或支持JavaFX Mobile的设备上运行JavaFX应用程序,在移动世界大会(Mobile World Congress,MWC)2009上,多家手机制造商和运营商宣布它们的手机将会支持JavaFX,但Oracle对JavaFX是如何计划的呢?

  Oracle表示它将增加JavaFX的投资,为RIA应用提供非常好的体验,重点如下:

  · 基于可视化组件创建一个设计范式

  · 为JavaFX应用程序创建一个丰富的UI扩展库

  · 提升所有平台的JavaFX性能

  · 增强跨设备移植JavaFX应用程序的能力

  · 与Java,JavaScript和HTML 5无缝集成

  · 支持新兴设备和UI范式(如多点触摸)

  当然,埃里森本人在去年的JavaONE大会上也暗示将会基于云的方式改造OpenOffice,基于这个原因,我猜测Oracle将会让JavaFX成为其云战略的主要组成部分,即使埃里森本人对云并不感冒。

0
相关文章