在旧金山召开的JavaOne会议上,Sun Microsystems公司将介绍下一个Java版本(代号为Mustang)的重点特色。
Java开发组核心工程团队成员表示,Java 2平台6.0标准版的新增特色主要表现在6个方面:Java编程语言和工具、安全性能和网络处理、Java Management Extensions、适应性、核心类库和企业客户端与XML。
Sun公司官员表示:我们并没有对Java语言的语法作任何改变,而是添加了一些JSR(Java Specification Requests),以便扩展该平台处理Java语言的能力,提高其在运行中的性能。JSR 223就是其中之一,用于实现语言增强功能,将会包括在Mustang版本之中。
JSR 223又被称为“Java平台脚本”,其目的是将脚本语言集成到Java平台之上。Mustang也将包括一个基于Mozilla Rhino的javascript工具,这是一个使用Java语言编写的开放源代码JavaScript实现工具。
该团队还介绍了另外两个JSR——JSR 199和JSR269。
JSR 199是一个Java编译器API,它定义了在应用程序范围内用于编译源文件的框架。
JSR 269是一个可插入式注释处理API,由此对Java的注释处理工具进行了标准化处理。
为了增强安全性,Sun公司计划增加用于XML数字签名的JSR 105和支持I/O API智能卡的JSR 268两个方面的投入力度。其中I/O API智能卡可以将Java应用程序与智能卡上的应用程序融合关联起来。
其它计划引入Mustang 的新安全特征包括:本地平台上集成的Java 类库安全服务和Kerberos、支持简单且受保护的GSS-API 的谈判机制、采用LDAP认证技术的Java 认证和授权服务登陆模块以及安全认证申请框架。
Sun公司还官员表示,已经为Java引入了更加丰富的网络特性,包括国际化的域名、资源标识符和对网络参数进行可编程访问。
在继续对Mustang版本锦上添花的同时,Sun公司也开始筹划J2SE(Java 2平台标准版)7.0版,代号为Dolphin。当前的Java版本是Java 5.0,代号为Tiger。
在JMX(Java Management Extensions)的技术前沿,Sun公司正在致力于通过JSR 255来建立JMX API的2.0版本,但是这部分将会作为Dolphin版本的内容,而Mustang版本仅包括JMX的1.3 版本。
Java在可维护性方面所做的改进包括:DTrace(动态跟踪)的运行时支持、更加友好的控制台用户界面、增强的“诊断能力”、增强的JVM工具接口和JPDA(Java平台调试架构)功能。
Java在核心类库方面增强的内容包括:找出并整理磁盘空闲空间、答应java.io.File类库文件支持Window下的长路径名称。
Sun公司曾经说过,XML和Web服务将是Mustang版本的一大亮点。因此,关于企业客户端和XML用于Mustang的增强版本,Sun公司将着重推出JAX-WS 2.0与JAXB2.0。前者先前称为JAX-RPC,是Java用于XML-Web服务的架构, 后者是Java用于XML绑定的架构。Mustang版本也将隆重推出JDBC(Java Database Connectivity)4.0版本。
虽然此次推出诸多改进,但是JDK团队还是提醒人们,并非所有的这些都将在Mustang版本中一次完全实现。这也就是为什么Sun公司要求开发人员及时获取Mustang最新版本的“快照”,因为由此可以随时了解Java改进的进程并修补bug。Sun公司每周给出一个新的Mustang版本的开发情况。
Tangosol公司总裁Cameron Purdy评论道:“我认为Java 5[JDK 1.5]已经有了诸多改进,包括注释、新的for-loop语句、自动缩进、静态导入等语言上的改进。另一方面,将Web服务器和JavaScript支持囊括其中也非常有趣,因为它在根本上意味着:哪里有Java,哪里就有一个最小化的HTTP应用程序环境。理论上讲,以此为基础,就让每个设备都拥有自己的基于HTTP治理工具,也就等于网络上的每一个设备都能为你所拥有。”
Echelon 4公司的工程副主管Bob Laferriere说:“最大的改进是Web服务和XML相关的新增功能。JAXB 2将添加图表(schema)支持。从图表到Java类库的绑定对我来说意义重大,因为它将创建一个从结构化XML文档到Java类库之间的无缝切换。此举将在系统与软件工程之间架起一座简明的桥梁。然而,我的疑虑是:对于大多数JSR,是不是仍将重起炉灶,重新做起”。
随着Java步入它的第二个十年,Sun公司面临着对于技术发展的控制力度更小的局面。但是考虑到Sun公司的未来构想,这个局面不一定有妨大碍?
另一方面,Laferriere也对在内核中包罗万象的必要性提出了质疑。 “反过来看,到底这些新特征中有多少是内核JDK部分所确实需要的呢?”他问到,“随着Java 6版本增加了影响范围,那些大的、导致程序执行慢的问题将在Java中卷土重来。对于.Net也是如此,它也变得非常庞大。在这个问题上对于整个平台都是如此,简直有如一场较量。拥有开发事物的开放源码,但却要开发人员费尽心思作出决定。”
波士顿Burton集团公司的分析家Anne Thomas Manes对这些感想做出了回应。“使我最苦恼的就是我其实一点都不喜欢JAX-WS,”Manes抱怨道,“有些事情,Sun JAX-WS团队的确应该向Microsoft公司学习。他们应该构造一个类似Indigo的软件—包括JAX-WS/JAXM、JMS、RMI和EJBcommon的编程模型。但是Sun公司没有做到。不过,至少他们从JAX-RPC到JAX-WS上面已经迈进了一大步,并且他们并不惧怕打破向后兼容性,”Manes补充道,“但是JAX-WS仍然还是太笨拙,Sun公司的传统思路普遍过于精雕细琢。”