2005年Java技术年度综述(转载)
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(Java Community Process,Sun于1998年发起成立的一个开放的非赢利性组织,负责处理和审批各种Java技术和技术规范)提交了JSR 224-Java EE 5的 最后草稿,在这个草稿中,Java EE 5的重点是简化应用开发,尤其是大量采用元数据标注(annotation)和POJO(普通Java对象)驱动的开发方式,对平台进行了重新定义。JSR-244则规定了Java EE 5总体框架下需要具备的技术特性。Sun坚定的走上了简化Java的道路,甚至不惜重建一个Java。
JavaBeans体系发展之争愈加激烈,对象持久化技术JDO、EJB和Hibernate在2005 年的际遇可谓几家欢乐几家愁。命运多舛的JDO 2.0未能通过JCP的表决,遭遇重大挫折,JCP的委员们声称JDO 2.0在轻量级存储模型上与EJB3.0存在冲突,而让两种不同的规范来描述同样的问题,将使J2EE变得更复杂。但否决JDO 2.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正在逐渐统一Java IDE(集成开发工具),继Borland宣布将把产品线全面转入Eclipse后,Bea也计划把weblogc workshop转移到eclipse平台上,Eclipse在逐步统一Java IDE;目前抗拒Eclipse魅力的还剩下Sun,Sun虽然部分开放了Java源代码,但声称不打算加入Eclipse项目,将坚持发展Netbeans,但Sun的困难在于Netbeans的插件开发社群远远小于Eclipse,即使Sun说服中国教育部在高校中推广Netbeans,这个差距也不是短时间能弥补的。
Eclipse的成功也让Sun看到了开放的架构的巨大吸引力,Sun提出了一个类似.net的脚本运行时环境JSR-232,在这个环境上可以集成各种脚本语言,甚至包括PHP、Groovy,以后也许还有python、ruby;这不由得让人对它充满希望。
Sun在部分开放Java源代码后宣布所有软件免费,Sun今后将从技术支持和服务中获取利润。IBM和JetBrains也宣布免费,幸福来得太突然,我们进入免费时代了。
在2004年曾经在IT界引发狂热的AOP和SOA在理论上已经成熟,开始进入技术应用期。技术人员开始从事将AOP的三个主要框架:AspectJ、AspectWerkz、Spring实现合并,力图提供一个单一的AOP编程平台。AspectJ和AspectWerkz的项目组已经合为一体,共同推出了第一个产品AspectJ5,AspectJ的项目领导人Adrian Colyer则离开了IBM,加入interface21,期望能致力于AspectJ与Spring的融合。
2005年岁末Bea技术大会在北京举行,人们很快发现这次会议成为SOA宣传会和产品展示会,Bea展示了令人眼花缭乱的的SOA产品,人们不禁怀疑Bea是否有意充当SOA应用的排头兵。欲在SOA市场大展拳脚的还有蓝色巨人IBM,IBM在不久前为其中间件WebSphere家族增加了一系列新产品,而这些产品都是针对SOA应用的,同时IBM还联合Oracle、BEA、SAP、Sybase等巨头将SDO和SCA(Service Component Architecture (SCA) and Service Data Objects (SDO))混合组成了一个SOA编程模型,试图简化开发和组装实际业务服务。
Java在中国
2005年Javachina大会在中国召开,这是Sun首次在中国召开的Java技术大会,Java社群的传奇人物纷纷登陆中国,与中国开发人员探讨Java技术的发展应用,这是Java发展史上的第一次,也是Sun、IBM、Bea等厂商10年来不遗余力地推广的结果。
如果说国内Java技术前些年是在追赶世界的话,那么近年来中国Java技术的发展已经紧紧抓住了世界潮流,开始与世界同步。Hibernate、Spring、AOP、SOA等技术都是在最短时间里介绍到国内的,Ajax刚在海外露头,国内就诞生了相似的应用框架,而国内工程师的身影也出现在制定JDO、EJB规范的专家组中。但是,与中国软件的大环境相同,目前国内的Java技术主要还是集中在应用层面,所有核心技术的知识产权都在海外。
根据中国软件产业协会的统计,国内超过三分之二的软件企业在采用Java进行开发,北京有90%的软件公司都有Java开发部门。虽然有这么多企业采用Java进行软件开发,但国内成熟的Java应用软件还不多见,还没有建立统一的Java标准体系和安全架构,也没有人监控,这些问题的存在使对企业进行软件开发增加了成本,也降低了客户对Java产品的信任。与行业软件相反,Java在移动领域的发展非常顺利,国内所有手机厂商都在生产支持Java技术的手机,短信和手机游戏等业务几乎全部是采用Java技术开发,Java技术几乎成为行业标准。
Java在中国的发展与中国程序员的努力密不可分。目前中国有十多万Java程序员,书店里堆满了Java技术书籍,各种培训机构、软件学院中Java都是重要课程。不过国内从事Java开发的人数虽多,但精通者很少,有创造力的则更少。
结束语
毫无疑问2005年Java在各个技术层面都取得了巨大的进步,新技术的出现时间以月计,在这些技术的引领下未来的Java将变更简洁,代码编写量更少,开发周期更短。
在2005年开放成为Java的共识,以往让开发人员难以抉择的框架体系,开始走向彼此融合的道路。开放加上Java世界里从来不缺的天才的思想,将保证Java的顺利发展。
以上是 2005年Java技术年度综述(转载) 的全部内容, 来源链接: utcz.com/z/391540.html