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學者。)