2006年5月16日,第11屆JavaOne會(huì)議如期在美國(guó)舊金山Moscone中心舉行,來(lái)自世界各地超過14000名開發(fā)者和合作伙伴參加大會(huì),超過100家參展商在現(xiàn)場(chǎng)設(shè)立了展臺(tái)。會(huì)議的主題是“The Power of Java”。
去年,Java度過了她的十歲生日,按照J(rèn)ava發(fā)明人James Gosling的說(shuō)法,Java已經(jīng)不再是小孩了,而對(duì)于青年期的Java來(lái)說(shuō),Java的力量到底有多強(qiáng)?Java的力量來(lái)自哪里?這都是人們關(guān)注的問題。而Java平臺(tái)的廣泛性、開放性、參與性正是Java力量的源泉。
Java平臺(tái)的廣泛性
1995年Java語(yǔ)言誕生之時(shí),SUN公司就強(qiáng)調(diào)Java不僅僅是一門語(yǔ)言,而且還是一個(gè)計(jì)算平臺(tái)" title="計(jì)算平臺(tái)">計(jì)算平臺(tái)。目前這個(gè)平臺(tái)已經(jīng)廣泛部署到各種計(jì)算設(shè)備上,根據(jù)SUN的統(tǒng)計(jì),到目前為止,全世界總共有33億個(gè)Java設(shè)備,其中有12億部Java手機(jī),7億5千萬(wàn)臺(tái)Java PC。整個(gè)Java社區(qū)的市場(chǎng)份額達(dá)到10000億美圓。
今年Java平臺(tái)在名字上進(jìn)行了變更,針對(duì)企業(yè)計(jì)算、桌面計(jì)算、移動(dòng)計(jì)算的Java平臺(tái)劃分仍然存在,只不過由于Java本身版本的變化,再延續(xù)J2EE/J2SE/J2ME的名字不能夠體現(xiàn)Java平臺(tái)與時(shí)俱進(jìn)的版本更替,因此SUN將Java三個(gè)平臺(tái)的名字確定為Java Enterprise Edition/Java Standard Edition/Java Micro Edition,簡(jiǎn)稱為Java EE/Java SE/Java ME。
SUN新任總裁Jonathan Schwartz第一次出現(xiàn)在JavaOne的舞臺(tái)上,結(jié)合“Java Platform Roadmaps: the big stuff, today and tomorrow”的主題,介紹了Java平臺(tái)的發(fā)展趨勢(shì)。而Java在三個(gè)平臺(tái)上的推進(jìn)繼續(xù)得到業(yè)界同行的支持,在每天上午的大會(huì)主題報(bào)告中,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企業(yè)計(jì)算平臺(tái)搖旗吶喊;而Motorola也為Java移動(dòng)計(jì)算平臺(tái)而振臂高呼“Java and Mobile: At the experience Crossroads”。
Java不僅在三個(gè)平臺(tái)方面繼續(xù)推進(jìn),同時(shí)在實(shí)時(shí)性方面得到進(jìn)一步的應(yīng)用。在整個(gè)JavaOne會(huì)議期間,展廳內(nèi)搭建了一個(gè)小型的F1賽車場(chǎng)模型,每部賽車上部署了實(shí)時(shí)Java平臺(tái),參會(huì)人員可以通過編寫實(shí)時(shí)Java程序來(lái)控制賽車的運(yùn)行速度和方向,賽車單圈運(yùn)行時(shí)間最短者將獲得賽車競(jìng)技編程挑戰(zhàn)賽的冠軍。
其實(shí),正是由于Java平臺(tái)在不同計(jì)算設(shè)備上的延伸和擴(kuò)展,使得Java語(yǔ)言的應(yīng)用越來(lái)越廣泛。這就是Java的力量源泉之一。
Java平臺(tái)的開放性
開源" title="開源">開源軟件是世界軟件發(fā)展的潮流,而SUN公司也是開源行動(dòng)的積極支持者,只不過是SUN在自己軟件的開放程度到底有多大、步伐有多快。從2000年開始,SUN就成立了OpenOffice開源項(xiàng)目,將StarOffice的源代碼" title="源代碼">源代碼公開,通過開源社區(qū)來(lái)進(jìn)行StarOffice的開發(fā)。隨后,SUN成立OpenSolaris開源項(xiàng)目,通過CDDL許可證來(lái)開放Solaris源代碼;這一舉動(dòng)促進(jìn)了OpenSolaris的發(fā)展,使得Solaris在企業(yè)級(jí)用戶中得到進(jìn)一步的應(yīng)用。
隨著SUN在開源方面的" title="面的">面的推進(jìn),業(yè)界在Java的開源方面的呼聲也越來(lái)越高,對(duì)此SUN也做出了積極的響應(yīng)。在今年JavaOne第一天的主題演講中,SUN新任總裁Jonathan Schwartz宣布將包括Java Studio Creator、Java System Portal Server、NetBeans Enterprise Pack和Java組合應(yīng)用平臺(tái)套件中的BPEL引擎組件、基于Java消息系統(tǒng)(JMS)的消息隊(duì)列組件以及Web服務(wù)互操作性組件(WSIT)等在內(nèi)的一系列產(chǎn)品和組件開放源代碼。這將會(huì)更加有效地幫助Java開發(fā)者構(gòu)建基于Java技術(shù)的企業(yè)應(yīng)用。
上述開源部分僅僅涉及到Java的外圍系統(tǒng)部分,而對(duì)于Java語(yǔ)言本身的開源問題,一直受到業(yè)界的很大關(guān)注。對(duì)此,Schwartz表示Java最終會(huì)走向開放源代碼,取決于時(shí)機(jī)是否成熟,目前還沒有明確的時(shí)間表,而Java本身開源的關(guān)鍵因素是要保持Java的兼容性。Java的兼容性是保證Java能夠“一次編寫,到處運(yùn)行”的基礎(chǔ),在Java的發(fā)展過程中,保證Java兼容性的歷程并不是一帆風(fēng)順的,因此SUN比以往更加關(guān)注Java的兼容性問題。只有在確保Java的兼容性得到保障時(shí),SUN才會(huì)考慮開發(fā)源代碼,也只有這樣才會(huì)保證Java的持續(xù)發(fā)展和普及。
在本次JavaOne大會(huì)上,SUN與開源社區(qū)開展了進(jìn)一步的合作,宣布了新的Java二進(jìn)制代碼再分發(fā)許可證形式(DLJ),允許類似Debian這種基于GNU許可證形式的Linux發(fā)行版可以集成Java的可執(zhí)行文件包。FreeBSD基金會(huì)也將會(huì)在未來(lái)版本中集成Java。與此同時(shí),SUN也積極與過去的競(jìng)爭(zhēng)對(duì)手展開合作,其標(biāo)志之一就是微軟公司這兩年都出現(xiàn)在JavaOne會(huì)議上,這在五年前根本是不可想象的。
Java平臺(tái)的開放性促使SUN能夠與業(yè)界更多的伙伴開展合作,使得Java平臺(tái)能夠得到業(yè)界的承認(rèn)和積極應(yīng)用。這就是Java的力量源泉之二。
Java平臺(tái)的參與性?
在JavaOne會(huì)議期間,經(jīng)常有參會(huì)人員舉著“The power of Java”的牌子在進(jìn)行拍照留念,SUN的口號(hào)其實(shí)是“The power of Java is you!”,也就是每一個(gè)人都是Java力量的來(lái)源。目前,全世界共有500萬(wàn)名Java程序員,這是一個(gè)數(shù)量龐大的群體,其中每位程序員的積極參與都會(huì)促進(jìn)Java的發(fā)展。
SUN在促進(jìn)業(yè)界公司與程序員參與Java平臺(tái)建設(shè)方面有著一套成熟的體系,通過建立Java社區(qū)過程(JCP,Java Community Process)來(lái)吸引大家來(lái)參與Java平臺(tái)的建設(shè),保障Java平臺(tái)的發(fā)展和兼容性。任何公司或者個(gè)人如果認(rèn)為Java平臺(tái)的某個(gè)方面需要發(fā)展,就可以提出Java規(guī)范請(qǐng)求JSR(Java Specification Request),由來(lái)自各方面的專家和技術(shù)人員成立相應(yīng)的工作組,討論制定該規(guī)范,提供規(guī)范的參考實(shí)現(xiàn),以一種民主的機(jī)制來(lái)決定Java的發(fā)展。目前在JCP中已經(jīng)提出了300多個(gè)規(guī)范請(qǐng)求,大部分都獲得了實(shí)現(xiàn),其中第一個(gè)規(guī)范請(qǐng)求JSR-01就是Real-time Specification for Java。JCP對(duì)于Java兼容性的保障和維護(hù),以及Java新特性的開發(fā)都起著至關(guān)重要的作用。
業(yè)界的廣泛參與使得Java平臺(tái)每年都能有所進(jìn)展。在今年的JavaOne會(huì)議上,又推出了Java平臺(tái)的多個(gè)版本。在JDK方面,SUN介紹了即將在2006年10月份推出Java SE6.0版本(Mustang)的新特性,在開發(fā)的易用性、XML處理和Web Services等方面提供了新的支持;甚至對(duì)在2008年推出的Java SE 7.0版本(Dolphin)也做了初步介紹。在Java企業(yè)計(jì)算平臺(tái)方面,SUN發(fā)布了Java EE 5平臺(tái),其中包括對(duì)EJB 3.0和SOA架構(gòu)的支持;Java EE 5在保持良好兼容性的同時(shí),又進(jìn)一步支持了基于SOA架構(gòu)的企業(yè)應(yīng)用開發(fā)" title="應(yīng)用開發(fā)">應(yīng)用開發(fā)。在Java移動(dòng)計(jì)算平臺(tái)方面,SUN推出了新一代的開發(fā)平臺(tái)MIDP 2.0,支持了新的3D圖形技術(shù)、移動(dòng)支付技術(shù)、位置服務(wù)技術(shù)和藍(lán)牙技術(shù)等等。在IDE開發(fā)工具方面,SUN推出了NetBeans5.5版本,并闡述了必須使用NetBeans進(jìn)行開發(fā)的12個(gè)理由,其中包括對(duì)Java EE的支持、對(duì)UML工具的支持、對(duì)SOA架構(gòu)的支持、對(duì)BPEL的支持、對(duì)移動(dòng)應(yīng)用開發(fā)的支持、對(duì)胖客戶端應(yīng)用開發(fā)的支持、性能調(diào)優(yōu)支持等等。在Web 2.0技術(shù)方面,AJAX技術(shù)受到極大的關(guān)注,有許多講座是關(guān)于AJAX技術(shù)的,其中AJAX的動(dòng)手做實(shí)驗(yàn)課程場(chǎng)場(chǎng)爆滿。在Web Services的互操作性方面,可以看到SUN和微軟進(jìn)行了精誠(chéng)合作,確保了Java平臺(tái)和.Net平臺(tái)能夠在Web Services層面互聯(lián)互通。
Java平臺(tái)的參與性使得業(yè)界的公司和個(gè)人都可以一種積極的方式投入到Java的發(fā)展中來(lái),保證Java的良性發(fā)展。這就是Java的力量源泉之三。
思考與體會(huì)
Java已經(jīng)成為一個(gè)世界性的計(jì)算平臺(tái),而中國(guó)也將成為這個(gè)計(jì)算平臺(tái)重要的應(yīng)用市場(chǎng)。要促進(jìn)Java在中國(guó)的進(jìn)一步發(fā)展,一方面需要充分利用Java平臺(tái)的力量,另一方面需要更多的人參與到Java平臺(tái)的建設(shè)中,真正成為“Java的力量”的主要源泉之一。有如下幾點(diǎn)體會(huì):
一、提高Java人才培養(yǎng)的力度和質(zhì)量
目前中國(guó)有20多萬(wàn)Java開發(fā)人員,與Java在中國(guó)的發(fā)展規(guī)模和趨勢(shì)相比,還缺少大量的Java人才,尤其是高級(jí)的Java人才。而在Java人才的培養(yǎng)中,大專院校是主力軍;全國(guó)大專以上高等院校中,有500多所大學(xué)設(shè)有計(jì)算機(jī)專業(yè)。因此,抓好這些學(xué)校的Java課程教育,提高教學(xué)質(zhì)量,將是提高Java人才培養(yǎng)質(zhì)量和數(shù)量的有效手段。
2005年,在清華大學(xué)的建議下,SUN與清華大學(xué)聯(lián)合在北京舉行了“第一屆高校Java教師暑期研修班”,來(lái)自全國(guó)50多所高校的60名Java教師聚集在一起,共同學(xué)習(xí)Java的最新技術(shù),探討Java的教學(xué)經(jīng)驗(yàn)。到了2006年,SUN把高校Java教師研修班辦到了全國(guó)6個(gè)城市,近300名Java教師參加,增進(jìn)了高校Java教師對(duì)Java最新技術(shù)的了解,促進(jìn)了Java教師將最新的Java技術(shù)傳播給廣大學(xué)生。與此同時(shí),為了激發(fā)大學(xué)生學(xué)習(xí)Java技術(shù)的熱情,SUN于去年和今年在大學(xué)生中開展了JavaCup競(jìng)賽,內(nèi)容涉及Java EE和Netbeans Plug-in,吸引了全國(guó)幾十所高校的學(xué)生參賽,較好的促進(jìn)大學(xué)生學(xué)習(xí)Java。
而當(dāng)前高校Java教學(xué)面臨的一個(gè)問題是高級(jí)Java課程開設(shè)得不夠,不利于培養(yǎng)高級(jí)Java人才,還需要繼續(xù)加強(qiáng)。
二、利用互聯(lián)網(wǎng)推動(dòng)中文Java社區(qū)的發(fā)展
Java在世界上蓬勃發(fā)展的一個(gè)重要原因是擁有許多Java社區(qū)(如www.java.net),普通程序員可以通過Java社區(qū)進(jìn)行學(xué)習(xí)、提高、參與各種項(xiàng)目,逐步成長(zhǎng)為Java專家。同時(shí)SUN還鼓勵(lì)各地成立Java用戶協(xié)會(huì)(Java User Group),在同一地區(qū)的Java愛好者可以組織一些講座進(jìn)行交流,共同提高。許多地區(qū)的Java用戶協(xié)會(huì)都做得非常好,例如美國(guó)亞特蘭大、芬蘭等,他們都可以組織大型的技術(shù)交流活動(dòng),并向企業(yè)推薦Java人才。目前國(guó)內(nèi)也逐步出現(xiàn)了一些較好的中文Java社區(qū),如www.j2medev.com、www.matrix.org.cn、www.javaeye.com等等,但是總體上中文Java社區(qū)的數(shù)量也不夠多,會(huì)員人數(shù)也不夠龐大。
因此,推動(dòng)中文Java社區(qū)的發(fā)展,吸引更多的技術(shù)人員學(xué)好Java、用好Java,逐步成長(zhǎng)為Java專家,將是培養(yǎng)Java人才的一個(gè)有效手段。
三、推進(jìn)Java在各個(gè)行業(yè)中的應(yīng)用
Java在中國(guó)要想真正得到推廣,必須在各個(gè)行業(yè)中進(jìn)行應(yīng)用,尤其是針對(duì)不同行業(yè)的特點(diǎn),例如可以針對(duì)金融業(yè)、移動(dòng)游戲業(yè)、網(wǎng)絡(luò)服務(wù)業(yè)等等,采用不同的行業(yè)Java解決方案。為此,需要組織每個(gè)行業(yè)內(nèi)的Java技術(shù)交流,可以通過中國(guó)軟件行業(yè)協(xié)會(huì)Java技術(shù)分會(huì)來(lái)組織,推動(dòng)相關(guān)的企業(yè)積極參與。更加重要的是,需要一批國(guó)內(nèi)軟件企業(yè)能夠參與到Java標(biāo)準(zhǔn)的制定過程中。目前參與SUN的JCP過程的全世界企業(yè)大概有1100多家,但是其中來(lái)自中國(guó)的企業(yè)很少,因此在Java的各項(xiàng)標(biāo)準(zhǔn)、功能的制定過程中,我們只能是一個(gè)被動(dòng)的跟進(jìn)者,而不是一個(gè)積極的主導(dǎo)者,不能夠根據(jù)我們企業(yè)發(fā)展的需要來(lái)去影響和利用Java的各種標(biāo)準(zhǔn)。因此,我們的軟件企業(yè)還需要努力參與到JCP過程中去。
四、抓住Java最新發(fā)展:SOA/Web Services
Java技術(shù)是一個(gè)日新月異、不斷發(fā)展的技術(shù),每年都會(huì)有新的技術(shù)內(nèi)容產(chǎn)生。目前基于服務(wù)的軟件架構(gòu)正受到計(jì)算機(jī)業(yè)界的推崇,通過采用Web服務(wù)和SOA架構(gòu),可以很好的利用Web上的各種資源,方便地開發(fā)企業(yè)級(jí)應(yīng)用。清華大學(xué)知識(shí)工程研究室已經(jīng)成功地開發(fā)出羅盤旅游電子商務(wù)平臺(tái),利用Web Services技術(shù)為各種旅游門戶網(wǎng)站提供賓館訂房、訂機(jī)票等各種業(yè)務(wù)。同時(shí),為提高Web服務(wù)的智能化水平,將語(yǔ)義Web與Web服務(wù)相結(jié)合,采用Java語(yǔ)言研制出語(yǔ)義Web服務(wù)集成平臺(tái)SEWSIP(SEmantic Web Services Integration Platform),為進(jìn)一步利用好SOA和Web Services技術(shù)打下了基礎(chǔ)。
(作者簡(jiǎn)介:許斌,博士,清華大學(xué)計(jì)算機(jī)系Java課程主講教師,中國(guó)軟件行業(yè)協(xié)會(huì)Java技術(shù)分會(huì)理事,是中國(guó)大陸地區(qū)SUN公司授予的兩名Java Champion之一。王克宏,清華大學(xué)計(jì)算機(jī)系教授,博導(dǎo),中國(guó)著名Java學(xué)者。)