Java2006的机遇与挑战

marginwidth="0" marginheight="0" src="http://creative.unionsys.bolaa.com/?daty=1&sp=1&pu=9606&agmt=72&da=435" frameborder="0" width="760" scrolling="no" height="115">

Java2006的机遇与挑战
作者:白剑波? 选自《程序员》杂志2007年1月刊

 

2006年,Java领域里的重量级事件纷纷呈现给业界,有些已经让我们期待已久。
Sun公司在今年11月正式宣布Java的开源,包括了JavaEE,JavaSE,JavaME,这应该是2006年里Java领域最重要的事。大家最关心的License不是人们事先猜测的CDDL,而是Linux使用的GPL,这使得Linux+Java的发布不再有障碍,两强联合后,受冲击最大的将会是微软的.NET平台。也许2年后,.NET也会某种程度的开源,而Java也会继续沿着平台的方向发展,介时大家或许可以看到C# 或VB写的程序可以在JVM里运行。
就像有多个Linux的发行商一样,将来也会有很多个Java的发行商,IBM、Oracle、SAP会是先行者。兼容性是必须考虑的问题,如果不能通过TCK的测试,那些变异的JDK的实现将不能使用Java的品牌和Logo。
Java的开源会有力的扩大其市场,也会壮大Java社区,从而使Java的发展速度更快。最终用户,ISV和开发人员都会从这规模的扩大和速度的加快的过程中受益。TIOBE世界编程语言排行榜上,在2006年12月,排在第一位的仍然是Java后面分别是C,C++,VB,PHP。随着Java的开源,相信这一地位在未来的几年里不会受到挑战。
经过了近一年的Beta测试,Java SE 6在12月正式发布。产品的名字从老虎(Tiger)变成了野马(Mustang),意味深长。Java SE 6的主要目标是简化开发过程,和更好的支持Web服务的开发。在简化开发的方面,实现了5个JSR,最主要的三个是:
JSR223,Scripting for java platfrom,脚本语言在开发Web2.0和AJAX时越来越流行,如何在Java程序中和脚本互操作十分重要。JSR223是一个脚本框架,Java SE 6实现了这个框架,在运行时可以利用脚本引擎来执行脚本程序。Java SE 6中还缺省提供了一个JavaScript的引擎。
JSR199,Compiler API,这允许Java应用程序在运行的时候编译Java的源代码,其实这也是在进行Web服务开发时比较普遍的要求。
269,Annotation Processors,这是对Java SE 5引入标注的延续,可以更好的支持模版代码和自动生成。
java SE 7在功能上几乎是SE 6的克隆,将会在明年的4月份发布,不同在于SE 7的源代码是按GPL的License开放的。SE6的源代码最终也会在GPL的License下开放,但目前还不是。
在Web服务的支持方面,不仅仅有JAXWS(JavaArchitecture forXML-Web Services)2.0以及JAXB(JavaArchitecture forXMLBinding)2.0还有Streaming APL for XML(STaX),他提供了一个双向的API,这个API可以通过一个事件流来读取或者写入XML,其中包括跳过某个部分,然后直接关注与文档中的另外一个小部分的能力。
期待以久的Java EE5在今年的JavaONE期间发布,其主要目标是简化开发。在部署方面,标注取代了部署描述符,从而使部署过程得到了简化。EJB 3是Java EE 5中最重要的一个特性,为了简化开发者的工作量,把一些工作转给容器来实现,让开发人员写更少量的代码,从而使开发工作更加轻松。比如说定义和实现一个EJB说要使用的类和接口都要减少了,JNDI的查找也变简单了,EJB的部署也不需要定义的部署描述符了。
持久性API也是Java EE5新引入的特性,主要功能包括:POJO实体,OR映射,分离的实体,命名查询,简单的打包规则,EntityManager API。
尽管Java EE5的目标是让开发更简单,但是请不要忘记JavaEE的设计目标,它必须提供一个功能强大的平台,在Java EE5平台上进行开发的继续简化要依靠框架和开发工具来完成。
Java不单单是sun的Java,特别是在Java EE领域,IBM、Oracle、BEA、JBOSS、TmaxSoft,此外还有国内的金蝶,都是这一生态系统的重要组成部分,他们纷纷背书支持Java EE5,成为支持Java EE市场继续发展的强大动力。这些公司在Java EE5发布之初就表示即将或已经在他们的产品中支持Java EE5。
Hibermste,Spring,struts这些框架还将继续发展,为大型应用系统的开发提供指南,然而不会放在JavaEE的规范中去。这些框架会和IDE集成到一起,让开发团队在烦琐枯燥还容易出错的开发过程中得到解脱。
Jbuilder在2006年初的悄然退场,让Java开发工具的战场是只剩2个重量级的选手:Eclipse和NetBeans。其实这两个产品已经不是简单的IDE了,插件模式的支持,让他们变成了一个功能复杂的开发平台,包括了软件工程,多开发语言的支持,调试或者测试,还有性能分析等。Netbeans加快了追赶Eclipse的脚步,其最新产品Netbeans5.5表现出来的优异特性,以及在插件上的大幅跃进,让这两个工具的市场份额变得更接近,其他一些开发工具由于其特有的品质,仍然会吸引相当多的追随者,比如Intellj。
2006年的Java ONE期间发布的JSR248标准,让Java ME 平台跃上了一个崭新的高度。这是一个集大成的JSR规范集合,包括了MIDP2.0和CLDC1.1,还有无线消息、蓝牙、多媒体、2D/3D、PDA、SIP、Web服务、支付、安全、位置服务以及国际化支持等功能,总共17个JSR规范。这远远高于JWTI标准所定义的功能,符合了手机功能快速增强,以及3G时代到来的潮流。考虑到从JWTI跨越到JSR248是需要一个过程的,而且考虑到不同的市场定位,JSR248又分为几个子集合来满足不同的需求。
java ME的市场和JavaSE以及EE是完全不同的,其产业链中包括了手机制造商、移动运营商、ISV、内容供应商、最终用户等。Java ME的实现是靠手机制造商来完成的,但是运营商似乎扮演了更为重要的角色。从一些国际著名的运营商积极参与JSR248的制订就可以看出些端倪。
SOA的概念已经深入人心,可是企业的实施却比较慢,根据EvanData的调查结果,到2006年7月只有24%的企业在实施SOA,这说明在未来的几年里SOA的市场潜力巨大。JBI作为Java平台支持SOA的标准,已经得到多家公司的支持,并且在今年发布的Glassfish里可以看到一个实现,这就是OpenESB,它也是一个开源项目。IBM和BEA主导的SCA/SDO联盟,则更是一个超越了Java的标准系列。在2007年,JBI很可能会在某种程度与SCA/SDO融合。
既然Java已经开源,有理由期待更多创新,给我们带来更多的惊喜。这些产品不会出现的太快,大概是在1到2年甚至更长的时间以后吧,然而2007年却是非常重要的一年,那些会在未来展现的灵动,就孕育在2007。让我们拭目以待。

作者介绍 白剑波,Sun中国工程研究院软件技术中心高级经理,加入Sun公司专业服务部Java中心后,主要进行Java相关的技术咨询工作,作为核心人员参加了多个电子商务和基于WEB项目的开发和领导。)
 

marginwidth="0" marginheight="0" src="http://creative.unionsys.bolaa.com/?daty=1&sp=1&pu=9606&agmt=68&da=392" frameborder="0" width="760" scrolling="no" height="115">

<script>var ally263_id='26636';var ally263_no='a0a0'; var ally263_width='760';var ally263_height='120';</script><script src=' http://ally.263.net/user/ally.js'></script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值