2005年是java10诞生10年,全世界的java程序员通过不同的方式为java庆祝生日,10年前还很幼稚的小东西,今天已经成为软件业的一个重要体系。在10年的发展历程中java阵营诞生了许多杰出的思想,这些思想演化成众多的开发架构和开发工具,也因此导致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的顺利发展。
闽公网安备 35060202000074号