The Power of Java——JavaOne2006会议观感
2007-08-20
作者:许 斌 王克宏
2006年5月16日,第11届JavaOne会议如期在美国旧金山Moscone中心举行,来自世界各地超过14000名开发者和合作伙伴参加大会,超过100家参展商在现场设立了展台。会议的主题是“The Power of Java”。
去年,Java度过了她的十岁生日,按照Java发明人James Gosling的说法,Java已经不再是小孩了,而对于青年期的Java来说,Java的力量到底有多强?Java的力量来自哪里?这都是人们关注的问题。而Java平台的广泛性、开放性、参与性正是Java力量的源泉。
Java平台的广泛性
1995年Java语言诞生之时,SUN公司就强调Java不仅仅是一门语言,而且还是一个计算平台" title="计算平台">计算平台。目前这个平台已经广泛部署到各种计算设备上,根据SUN的统计,到目前为止,全世界总共有33亿个Java设备,其中有12亿部Java手机,7亿5千万台Java PC。整个Java社区的市场份额达到10000亿美圆。
今年Java平台在名字上进行了变更,针对企业计算、桌面计算、移动计算的Java平台划分仍然存在,只不过由于Java本身版本的变化,再延续J2EE/J2SE/J2ME的名字不能够体现Java平台与时俱进的版本更替,因此SUN将Java三个平台的名字确定为Java Enterprise Edition/Java Standard Edition/Java Micro Edition,简称为Java EE/Java SE/Java ME。
SUN新任总裁Jonathan Schwartz第一次出现在JavaOne的舞台上,结合“Java Platform Roadmaps: the big stuff, today and tomorrow”的主题,介绍了Java平台的发展趋势。而Java在三个平台上的推进继续得到业界同行的支持,在每天上午的大会主题报告中,Oracle通过“The next application Platform”、BEA通过“Lies, Damn Lies, and Java: the truth about the Java Platform today and tomorrow”、IBM通过“Java in the Trenches”等主题在为Java企业计算平台摇旗呐喊;而Motorola也为Java移动计算平台而振臂高呼“Java and Mobile: At the experience Crossroads”。
Java不仅在三个平台方面继续推进,同时在实时性方面得到进一步的应用。在整个JavaOne会议期间,展厅内搭建了一个小型的F1赛车场模型,每部赛车上部署了实时Java平台,参会人员可以通过编写实时Java程序来控制赛车的运行速度和方向,赛车单圈运行时间最短者将获得赛车竞技编程挑战赛的冠军。
其实,正是由于Java平台在不同计算设备上的延伸和扩展,使得Java语言的应用越来越广泛。这就是Java的力量源泉之一。
Java平台的开放性
开源" title="开源">开源软件是世界软件发展的潮流,而SUN公司也是开源行动的积极支持者,只不过是SUN在自己软件的开放程度到底有多大、步伐有多快。从2000年开始,SUN就成立了OpenOffice开源项目,将StarOffice的源代码" title="源代码">源代码公开,通过开源社区来进行StarOffice的开发。随后,SUN成立OpenSolaris开源项目,通过CDDL许可证来开放Solaris源代码;这一举动促进了OpenSolaris的发展,使得Solaris在企业级用户中得到进一步的应用。
随着SUN在开源方面的" title="面的">面的推进,业界在Java的开源方面的呼声也越来越高,对此SUN也做出了积极的响应。在今年JavaOne第一天的主题演讲中,SUN新任总裁Jonathan Schwartz宣布将包括Java Studio Creator、Java System Portal Server、NetBeans Enterprise Pack和Java组合应用平台套件中的BPEL引擎组件、基于Java消息系统(JMS)的消息队列组件以及Web服务互操作性组件(WSIT)等在内的一系列产品和组件开放源代码。这将会更加有效地帮助Java开发者构建基于Java技术的企业应用。
上述开源部分仅仅涉及到Java的外围系统部分,而对于Java语言本身的开源问题,一直受到业界的很大关注。对此,Schwartz表示Java最终会走向开放源代码,取决于时机是否成熟,目前还没有明确的时间表,而Java本身开源的关键因素是要保持Java的兼容性。Java的兼容性是保证Java能够“一次编写,到处运行”的基础,在Java的发展过程中,保证Java兼容性的历程并不是一帆风顺的,因此SUN比以往更加关注Java的兼容性问题。只有在确保Java的兼容性得到保障时,SUN才会考虑开发源代码,也只有这样才会保证Java的持续发展和普及。
在本次JavaOne大会上,SUN与开源社区开展了进一步的合作,宣布了新的Java二进制代码再分发许可证形式(DLJ),允许类似Debian这种基于GNU许可证形式的Linux发行版可以集成Java的可执行文件包。FreeBSD基金会也将会在未来版本中集成Java。与此同时,SUN也积极与过去的竞争对手展开合作,其标志之一就是微软公司这两年都出现在JavaOne会议上,这在五年前根本是不可想象的。
Java平台的开放性促使SUN能够与业界更多的伙伴开展合作,使得Java平台能够得到业界的承认和积极应用。这就是Java的力量源泉之二。
Java平台的参与性
在JavaOne会议期间,经常有参会人员举着“The power of Java”的牌子在进行拍照留念,SUN的口号其实是“The power of Java is you!”,也就是每一个人都是Java力量的来源。目前,全世界共有500万名Java程序员,这是一个数量庞大的群体,其中每位程序员的积极参与都会促进Java的发展。
SUN在促进业界公司与程序员参与Java平台建设方面有着一套成熟的体系,通过建立Java社区过程(JCP,Java Community Process)来吸引大家来参与Java平台的建设,保障Java平台的发展和兼容性。任何公司或者个人如果认为Java平台的某个方面需要发展,就可以提出Java规范请求JSR(Java Specification Request),由来自各方面的专家和技术人员成立相应的工作组,讨论制定该规范,提供规范的参考实现,以一种民主的机制来决定Java的发展。目前在JCP中已经提出了300多个规范请求,大部分都获得了实现,其中第一个规范请求JSR-01就是Real-time Specification for Java。JCP对于Java兼容性的保障和维护,以及Java新特性的开发都起着至关重要的作用。
业界的广泛参与使得Java平台每年都能有所进展。在今年的JavaOne会议上,又推出了Java平台的多个版本。在JDK方面,SUN介绍了即将在2006年10月份推出Java SE6.0版本(Mustang)的新特性,在开发的易用性、XML处理和Web Services等方面提供了新的支持;甚至对在2008年推出的Java SE 7.0版本(Dolphin)也做了初步介绍。在Java企业计算平台方面,SUN发布了Java EE 5平台,其中包括对EJB 3.0和SOA架构的支持;Java EE 5在保持良好兼容性的同时,又进一步支持了基于SOA架构的企业应用开发" title="应用开发">应用开发。在Java移动计算平台方面,SUN推出了新一代的开发平台MIDP 2.0,支持了新的3D图形技术、移动支付技术、位置服务技术和蓝牙技术等等。在IDE开发工具方面,SUN推出了NetBeans5.5版本,并阐述了必须使用NetBeans进行开发的12个理由,其中包括对Java EE的支持、对UML工具的支持、对SOA架构的支持、对BPEL的支持、对移动应用开发的支持、对胖客户端应用开发的支持、性能调优支持等等。在Web 2.0技术方面,AJAX技术受到极大的关注,有许多讲座是关于AJAX技术的,其中AJAX的动手做实验课程场场爆满。在Web Services的互操作性方面,可以看到SUN和微软进行了精诚合作,确保了Java平台和.Net平台能够在Web Services层面互联互通。
Java平台的参与性使得业界的公司和个人都可以一种积极的方式投入到Java的发展中来,保证Java的良性发展。这就是Java的力量源泉之三。
思考与体会
Java已经成为一个世界性的计算平台,而中国也将成为这个计算平台重要的应用市场。要促进Java在中国的进一步发展,一方面需要充分利用Java平台的力量,另一方面需要更多的人参与到Java平台的建设中,真正成为“Java的力量”的主要源泉之一。有如下几点体会:
一、提高Java人才培养的力度和质量
目前中国有20多万Java开发人员,与Java在中国的发展规模和趋势相比,还缺少大量的Java人才,尤其是高级的Java人才。而在Java人才的培养中,大专院校是主力军;全国大专以上高等院校中,有500多所大学设有计算机专业。因此,抓好这些学校的Java课程教育,提高教学质量,将是提高Java人才培养质量和数量的有效手段。
2005年,在清华大学的建议下,SUN与清华大学联合在北京举行了“第一届高校Java教师暑期研修班”,来自全国50多所高校的60名Java教师聚集在一起,共同学习Java的最新技术,探讨Java的教学经验。到了2006年,SUN把高校Java教师研修班办到了全国6个城市,近300名Java教师参加,增进了高校Java教师对Java最新技术的了解,促进了Java教师将最新的Java技术传播给广大学生。与此同时,为了激发大学生学习Java技术的热情,SUN于去年和今年在大学生中开展了JavaCup竞赛,内容涉及Java EE和Netbeans Plug-in,吸引了全国几十所高校的学生参赛,较好的促进大学生学习Java。
而当前高校Java教学面临的一个问题是高级Java课程开设得不够,不利于培养高级Java人才,还需要继续加强。
二、利用互联网推动中文Java社区的发展
Java在世界上蓬勃发展的一个重要原因是拥有许多Java社区(如www.java.net),普通程序员可以通过Java社区进行学习、提高、参与各种项目,逐步成长为Java专家。同时SUN还鼓励各地成立Java用户协会(Java User Group),在同一地区的Java爱好者可以组织一些讲座进行交流,共同提高。许多地区的Java用户协会都做得非常好,例如美国亚特兰大、芬兰等,他们都可以组织大型的技术交流活动,并向企业推荐Java人才。目前国内也逐步出现了一些较好的中文Java社区,如www.j2medev.com、www.matrix.org.cn、www.javaeye.com等等,但是总体上中文Java社区的数量也不够多,会员人数也不够庞大。
因此,推动中文Java社区的发展,吸引更多的技术人员学好Java、用好Java,逐步成长为Java专家,将是培养Java人才的一个有效手段。
三、推进Java在各个行业中的应用
Java在中国要想真正得到推广,必须在各个行业中进行应用,尤其是针对不同行业的特点,例如可以针对金融业、移动游戏业、网络服务业等等,采用不同的行业Java解决方案。为此,需要组织每个行业内的Java技术交流,可以通过中国软件行业协会Java技术分会来组织,推动相关的企业积极参与。更加重要的是,需要一批国内软件企业能够参与到Java标准的制定过程中。目前参与SUN的JCP过程的全世界企业大概有1100多家,但是其中来自中国的企业很少,因此在Java的各项标准、功能的制定过程中,我们只能是一个被动的跟进者,而不是一个积极的主导者,不能够根据我们企业发展的需要来去影响和利用Java的各种标准。因此,我们的软件企业还需要努力参与到JCP过程中去。
四、抓住Java最新发展:SOA/Web Services
Java技术是一个日新月异、不断发展的技术,每年都会有新的技术内容产生。目前基于服务的软件架构正受到计算机业界的推崇,通过采用Web服务和SOA架构,可以很好的利用Web上的各种资源,方便地开发企业级应用。清华大学知识工程研究室已经成功地开发出罗盘旅游电子商务平台,利用Web Services技术为各种旅游门户网站提供宾馆订房、订机票等各种业务。同时,为提高Web服务的智能化水平,将语义Web与Web服务相结合,采用Java语言研制出语义Web服务集成平台SEWSIP(SEmantic Web Services Integration Platform),为进一步利用好SOA和Web Services技术打下了基础。
(作者简介:许斌,博士,清华大学计算机系Java课程主讲教师,中国软件行业协会Java技术分会理事,是中国大陆地区SUN公司授予的两名Java Champion之一。王克宏,清华大学计算机系教授,博导,中国著名Java学者。)