2005年Java技术年度综述:融合与开放
来源:网络 更新时间:2014-12-2
2005年是Java10诞生10年,全世界的Java程序员通过不同的方式为Java庆祝生日,10年前还很幼稚的小东西,今天已经成为软件业的一个重要体系。在10年的发展历程中Java阵营诞生了许多杰出的思想,这些思想演化成众多的开发架构和开发工具,也因此导致Java技术派系众多,让架构师难于选择,应用系统复杂而且昂贵。为了这解决这个问题,Java专家们们提出一系列的新的技术规范,这些技术的目的就是使Java更简单,不仅仅是Java语言,还包括开发工具和框架。融合与开放成为2005年Java发展的主要特征。
处于二次革命前夜的Java
在Java领域中Sun公司具有举足轻重的地位,在2005年Sun推出了一系列新的技术规范,希望继续简化并重新整合Java技术。7月Sun连续公布两个技术规范:JSR-196和JSR-277,JSR-196简化了J2EE应用服务器整合第三方验证服务,JSR-277又被称为"Java模块系统",Sun希望通过该规范解决了现在Java应用在部署时的麻烦,同时彻底废除JAR文件格式,采用新的Java模块打包Java程序。
随后Sun在8月举行的JavaOne大会上宣布取消J2XE的命名规则,新的命名以JavaEE/SE为主,如果仅仅是改换个命名方式是不会引起震动的,从Sun随后公布的文件看,这不是一个简单的改名,其中的技术跨度很大,可以把它看成一种新的技术而不是J2EE的延续。
然而事情并未结束,不久前,Sun又向JCP(JavaCommunityProcess,Sun于1998年发起成立的一个开放的非赢利性组织,负责处理和审批各种Java技术和技术规范)提交了JSR224-JavaEE5的最后草稿,在这个草稿中,JavaEE5的重点是简化应用开发,尤其是大量采用元数据标注(annotation)和POJO(普通Java对象)驱动的开发方式,对平台进行了重新定义。JSR-244则规定了JavaEE5总体框架下需要具备的技术特性。Sun坚定的走上了简化Java的道路,甚至不惜重建一个Java。
JavaBeans体系发展之争愈加激烈,对象持久化技术JDO、EJB和Hibernate在2005年的际遇可谓几家欢乐几家愁。命运多舛的JDO2.0未能通过JCP的表决,遭遇重大挫折,JCP的委员们声称JDO2.0在轻量级存储模型上与EJB3.0存在冲突,而让两种不同的规范来描述同样的问题,将使J2EE变得更复杂。但否决JDO2.0给JCP带来不小的麻烦,Java社群内群言汹汹,大有不推翻此结果不罢休之意,因此,JCP决定为EJB3.0重新提供一套API(应用程序接口),JDO将通过这套API得到支持,看来JDO未来的出路将是被EJB收编。与JDO不同,Hibernate今年的发展很顺利,Hibernate在被JBoss收购后发表了3.0版本,在这个版本中Hibernate增加了对XML持久化的支持,也没有出现被绑定在JBoss上情景,这曾让开发人员担心不小。
Java开源和免费势不可挡
在Java诞生之初,Sun及其明智的为制定了一个开放的发展策略,为Java的发展创造了一个良好的环境,可以说正是这个策略造就今天繁荣兴旺的局面,也因此Java与开源结下了不解之缘。
在2005年Java开源迎来新一波高峰,Java世界的众多产品和开发工具纷纷开放源代码,开源项目Eclipse正在逐渐统一JavaIDE(集成开发工具),继Borland宣布将把产品线全面转入Eclipse后,Bea也计划把Weblogcworkshop转移到eclipse平台上,Eclipse在逐步统一JavaIDE;目前抗拒Eclipse魅力的还剩下Sun,Sun虽然部分开放了Java源代码,但声称不打算加入Eclipse项目,将坚持发展Netbeans,但Sun的困难在于Netbeans的插件开发社群远远小于Eclipse,即使Sun说服中国教育部在高校中推广Netbeans,这个差距也不是短时间能弥补的。
Eclipse的成功也让Sun看到了开放的架构的巨大吸引力,Sun提出了一个类似.net的脚本运行时环境JSR-232,在这个环境上可以集成各种脚本语言,甚至包括PHP、Groovy,以后也许还有python、ruby;这不由得让人对它充满希望。