This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.
直击JavaOne2007大会
今年我又可以去JavaOne现场了,原因是我和同事(Jim Jiang)提交的一个Session被JavaOne委员会选上了。这是我第三次去JavaOne现场,前两次的收获很多,不知道这一次会怎么样呢?前几次的JavaOne都有自己的亮点和重点。例如我记得2004年的重点是WebServices,2005年的亮点是Ajax和JDK5,而2006年大家都在谈论JavaEE5和JDK6的新特新了。今年Java技术有新的特点吗,是那种让人眼前完全一亮的特点和创新,才是每个参加JavaOne会议的开发人员共同的期待。
说句实话,我想象不出来今年会有什么崭新的Java技术。JavaEE5去年就被炒得没有了新意,Ajax的应用也已经遍地开花了,WebServcies已经很少人再提它了。Ruby On Rails也是“地球人都知道了!”,就连JDK6的新特性,去年的JavaOne就已经显身了,各种框架结构和开源社区都已经嘈嘈了很长时间。今年还有新的Java技术吗?
由于要倒时差和准备自己的Session,我们一行(3人)提前来到了旧金山。每年的JavaOne都在旧金山的Moscone Center会议中心举行。每年的这个时候,旧金山的天气是一年当中比较好的时候(事实上旧金山一年四季都不错),由于临海,空气新鲜,风景优美。

我们到海边去转了转,吹了吹海风,晒晒太阳,感觉真不错。难怪这里是美国地皮最贵的地方,在这里生活还真不错。在这里的IT技术人员享受着高工资的同时还能享受着大自然,呼吸着新鲜空气,而我们在北京...我就不比较了。

其实在天堂也有穷人,路边到处都是豪华的跑车,跑车的旁边却有乞讨的人群。“朱门酒肉臭,路有冻死骨”的景象笔笔皆是。

对不起对不起,跑题了,我们自己都快忘了是来参加JavaOne的了。虽然JavaOne大会现在没有开始,但我们到现场去感受了一下气氛。一到Moscone Center,JavaOne的宣传铺天盖地,这才让我们重新又想起了我们所熟悉的Java。在JavaOne的柱子旁留个影,估计过两天这里全都是人群了。

除了“JavaOne”的字样,我们还看到了巨大的“Open Possibilities”的宣传。“Open Possibilities”?“开放机会,无限可能”,难道这是今年JavaOne的主题吗?这个标语是什么意思呢?有什么重大的事件要发生吗?一切都是未知数。

在javaOne会议的前一天,Sun组织了的CommunityOne的会议,它是JavaOne的前奏,吸引了3000多名开发人员。CommunityOne的主要话题是有关免费和开源软件项目。O'Reilly的CEO,Tim做了第一个报告,分析了当前开源项目和社区的现状和趋势,以及展望了以后开源社区的美好未来。在这个会议中Community被提升为最为重要的因素,是现在商家争夺的最为重要的宝贵资源。随后,Rich Green进一步阐明了Sun公司的开源策略。
说句实话,对于一个Java技术爱好者(我相信现场还有其他很多人都跟我一样),对各个公司的一些商业策略并不感兴趣。但是我关心今后的技术和产品的重点会往哪个方向走。以后开我们公司的产品都会开源吗?我们需要大力支持其他开源的软件吗?我们以后是不是尽量使用开源的数据库而放弃Oralce,Sysbase,我们以后是不是使用Apache而放弃自己的Web Server吗?这对我和我的客户很重要。显然,Sun把开源被当作了资源争夺的重要武器。Solaris开源,JDK开源,工具开源,听说以后Portal Server, Access Manager, LDAP等等都要开源。据欧盟体统计,Sun对开源作出的贡献比IBM要多三倍。

由于CommunityOne的会议是由Sun资助和主办的,接下来的技术讲座都是有关Open JDK,OpenSolaris,NetBeans,Glassfish。在听这些讲座的时候,我一直有一个问题(我相信其他很多人都有):Sun大张旗鼓的开源,对自己究竟有多少好处,会不会对创新带来打击呢。在过去的10年内,硅谷的传奇都来自于创新。“一个好主意就是一大笔财富”成就了多少IT公司。现在Sun将这么多好主意免费让大家知道,会不会得不偿失呢?其实我在Sun公司内部就听到一些对Open Solaris的微辞,说有些Solaris的优秀特性(例如DTrace)无偿捐献给开源社区,有可能会导致Sun的竞争力下降。
Jonathan Schwartz在NetBeans的Session上回答了这个问题:“我们不断的将自己的好主意拿出去,是为了经过更多的聪明的大脑的加工,产生更多的好主意,这样整个产业才能不断快速的发展。”Sun正在努力的参与创建一个开放的生态环境,这个环境的良好发展有益于所有IT公司的发展,包括Sun自己。
我参加主题演讲的主要目标就是三个:1是看看有什么重要的大事要申明。2是看看有什么新产品要面世。3是练练自己的英语。
对第一个目的,可以说没有达到,Sun只是宣布对Java虚拟机的完全开源过程的结束,将这个JDK叫做OpenJDK。对于第二个目的,Sun发布了JavaFx。关于JavaFx,下面再讨论。第三个目的是完全达到了,每个演讲嘉宾的演讲都非常精彩,会场的音响效果也非常不错。其中一位联合国官员的发言深深打动了每一个在座的观众。在这位联合国官员的眼中,无论是Java还是OpenSource,都是为了增加人和人之间的交流,增加对青年的教育机会,增加工作机会,减少饥饿、平穷和歧视,都是为了为了这个世界更加美好。Jonathan Schwartz也很感动,估计他也是第一次被提拔到这个高度,不仅为技术领域提供更好的架构,最重要的是为人类的沟通提供了无限的可能。这位联合国官员的发言,让那些口口声声“Business, Money”的演讲者无地自容。
JavaFx是这次JavaOne发布的为数不多的几个新技术。什么是JavaFx呢?JavaFx是另外一种脚本语言,用于快速开发界面花哨的桌面应用。JavaFx融合了Swing,Java2D,Java3D的各种技术,并且以后会向Mobile设备提供实现。JavaFx的主要特点就是用非常简单的脚本就能使用已经有的组件创建非常眩的界面来。例如下面的例子。但是也有人提出异议,开发个性化界面的组件仍然是个复杂的过程。要更多的JavaFx信息,请访问https://openjfx.dev.java.net/。那里有所有的演示和资源。

在JavaOne重要的任务就是参加技术Session,可以学到很多东西。今年比较特殊,我自己有一个Session,需要准备;另外我的时差没有完全到过来,没有太多的精力来听太多的Session;我还要花时间到展台为我的儿子拿些礼品;技术Session以后有在线的视频回放。基于以上原因,我决定将重点放到一两条主线上,而不是大面积撒网。
Real Time Java---我已经关注它很久了,非常高兴看到今年的JavaOne,它又成为热点。从主题演讲中的Nasdaq的应用,到Sun的RealTime Java的实现与原理,到IBM的Java以及JRocket的Java虚拟机,我参加了所有和Real Time Java有关的技术讲座。为什么我会关心RealTime Java呢?因为Java有个致命的弱点,导致Java平台被银行,电信等行业的核心业务弃之门外。这个弱点就是Java在做内存回收时候,停顿时间的不可预测性。
从这些Session中,我学到了RealTime Java的基本知识,构建RealTime Java应用有几种不同的方式,有简单的方法,有复杂的方法,简单的方法实时性差,复杂的方法实时性好。例如,你可以一行代码都不改,通过配置,让系统使用实时的内存回收算法,就可以将你原来的应用变成RealTime;如果实时要求更严,那么使用javax.realtime. RealtimeThread 来运行你的应用,其他代码都不需要改变。对于更加更加严格的实时,你可能需要操纵内存了,有的对象可能放到永远也不回收的地方等等。这样的编程的难度就大多了。有一点必须从分意识到是:Real Time Java 不能等于 Very Fast Java。 Real Time只能保证预测性,性能(吞吐量)比起一般的Java肯定要差一些。
在JavaOne大会上导出都有 Real TimeJava的影子,Lab,讲座,游戏区, Real TimeJava已经到了成熟期了。我希望在中国有客户能够适用 Real TimeJava。

我(和Jim)负责的(动手实验)HandsonLab今年被JavaOne委员会采用,对我来说是莫大的荣誉。如果有人问我怎样才能使自己的Session被JavaOne录用,我的经验是:题目一定要吸引人,如此而已。我的动手实验主要是介绍Glassfish的。但是我没有介绍老掉牙的EJB3,WebServices,等等标准,而是介绍了一些非标准的特性,如:服务器推送技术等等。如果你感兴趣,请访问下面地址,有所有的实验的材料。
http://sessions.sun.com/learning/javaoneonline/sessions/hol2007/3360/3360glassfish/index.html
做这个练习以前,我特意用中文向现场到达的中国人问好。只有自己人看得起自己人,别人才能看得起你,你说是吧?
由于是第一次引导这么多人来做这样一个Lab,经验上有欠缺,时间的控制上掌握不好。但是我们计划在China JavaOne上重新做这个Lab,希望带来更大的效果。这个Lab有个特点,根据文档的一步步做完比较容易,但有些概念理解起来需要一定的难度,例如HTTP异步处理,数据推送,虽然都是比较流行的技术,但是参加者的水平参差不齐,有些人理解起来有些困难。让我比较欣慰的是,那几个中国来的开发人员的水平比较高,基本能完成我们的实验,还是中国人聪明。
显然Sun在大力推OpenSource,其中OpenESB的展台很大很热闹。我特意询问了一个困扰已久的问题,现在的OpenESB(JBI)和CAPS的关系。回答是OpenESB(和JBI)标准是今后的道路,那CAPS呢?以后还支持吗,现在学的难道白学了吗?回答是ESB和JBI是后端的协议,前端的工具、部署和开发都不会变太大,也许用户根本察觉不到由SeeBeyond到OpenESB的变化。
虽然大部分的开发者关注纷繁复杂的上层应用和架构,有一小部分人仍然关注Security,他们指出当前流行的技术(如Ajax和JavaScript)中有哪些安全漏洞,说得句句在理,让很多人直冒冷汗。
Sony的BD-J非常酷,让电影和观众互相交互是个很好的主意,他们的演示也非常酷。
Comet(数据推送技术)也非常热门,有多场演讲都涉及到这方面的应用。

这次JavaOne大会并没有带来太多的创新技术和令人炫目的新产品,但是它打开了创新的大门,让Java在开源的社区和广大的开发人员的贡献中不断强大吧,毕竟它是我现在吃饭的工具呀。只要财务上允许,明年我们还准备提交自己的Session,争取在去一次JavaOne。
Posted at 04:33下午 五月 24, 2007 by 王昱 in Java | 评论[1]