1.引言?
??? Java技術已經遍布世界各個角落,從智能卡、Java手機和電話,到汽車生產以至于控制“火星漫游者”號的臨界任務系統都能看到它的作用,Java已經成為一種普遍深入的技術。在2004年舊金山的第八屆JavaOne開發者大會上,Sun的總裁兼首席運營長喬納森-舒瓦茨(Jonathan Schwartz)這樣描繪了現今日益繁榮的Java技術。?
??? 他指出Java技術之所以如此成功,關鍵在于它能夠將四個互補因素有機地結合起來。這四個互補因素是:兼容性(Compatibility)、創造力(Creativity)、商業(Commerce)和社團(Cmmunity)。兼容性促進了4A(anywhere, any when, any device and any person)技術的發展,4A技術的廣泛應用又有助于開發者發揮其巨大的創造性,同時有助于工業界建立良好的商業模式,由此建立Java技術的社團。因此可以說,Java技術的不斷普及給全世界帶來了日益增長的市場機遇。?
??? 以下統計數字有力說明Java技術在近幾年的發展和普及:?
.現在全世界有大約4百萬Java開發者;Java開發者在一年中增長了近百萬人。?
.下載Java Developers Kit的次數達到1億次;?
.下載Java桌面系統的次數達到了6500萬次;?
.6.5億臺PC都裝有Java技術的系統;?
.3.5億臺移動電話使用了Java技術;?
.一個采用Java技術開發的游戲在2006年估計價值會達到1.9億美元。?
??? 這些統計數據充分表明Java技術正在向最初提出的“使每一件事和每一人都能與網絡連接”的目標靠近。而今這一目標也早已成為了全世界的目標。?
2. Java技術的新發展?
??? 在過去的一年中,Java技術在許多應用平臺和軟件上都有了長足的發展。這其中包括Java的核心技術、Java的Web服務技術、移動技術以及企業系統的解決方案。?
2. 1 核心技術的增強J2SE 1.5?
??? J2SE是Java技術中一個重要開發和部署平臺,它既提供了編寫桌面/工作站應用程序所有必需的功能,而且也是J2ME的基石和J2EE執行程序的推動力。Sun即將推出J2SE的1.5版本,并將其命名為“Tiger”。該版本在Java程序的簡易開發、可擴展性及性能、監視及管理和桌面客戶端等幾個重要性能方面都有了大幅提高。?
??? 在面向程序的簡易開發的研究中,J2SE1.5增加的包括對泛型、元數據和自動裝箱等新特性技術的支持,使用戶在Java程序的在應用開發上更加方便。在可擴展性和性能方面,J2SE 1.5對原有版本的一個顯著更新是實現了類數據在Hotspot JVM中的分享。這一技術使得多個運行的JVM之間可以分享只讀數據,而且還改善了它們的啟動時間。程序的監控和管理是J2SE平臺上RAS(Reliability, Availability, Serviceability)中的一個關鍵組件,JVM的監控和管理API詳細說明了一套非常容易理解的JVM內部機制。此外,在J2SE的1.5版本中,其改善的安全特性使得基于J2SE 平臺的應用能夠使用新的安全提供者來存取智能卡。?
2.2 基于Java的Web服務和XML技術?
??? XML作為網絡上數據的通用置標語言,可以更好的表示網絡資源信息,XML增強了網絡中數據的表示、組織和交換。XML與Java結合,使互聯網的數據集成程度獲得大幅度提高,可以遠遠超過單獨使用Java時的集成程度。如果說XML的提出解決的是網絡上信息表示問題,Web services的提出則是基于XML對Web上的各種應用和服務進行統一管理和調度的又一新技術。因此可以說,Java、XML和Web services是網絡應用開發的三個不同層次,三者的有機結合主要體現在它們都是網絡的開發語言和標準,基于三者開發的應用都具有開放型和跨平臺特性。這也是為什么業界利用這三者作為網絡開發平臺的主要原因。?
??? J2EE提供了對Web服務的支持,標準Java技術API給出了對web Services的編程處理,包括對Web服務的注冊、配置和調用的RPC方式。他們分別是基于RPC調用方式的Web Services API (JAXRPC),SOAP Attachment APIs for Java technology (SAAJ)以及Java API for XML Registries (JAXR)。 ?
2.3 Java的小型設備編程技術?
??? Sun將J2ME 定義為一種以廣泛的消費性產品為目標的高度優化的 Java 運行時環境,包括尋呼機、移動電話、可視電話、數字機頂盒和汽車導航系統。目前已經超過6.5億臺電話嵌入了J2ME運行時環境。?
??? 在連接受限設備上J2ME實現了在虛擬機層次上的多任務控制,在同一個物理Java虛擬機上同時構造多個邏輯的虛擬機,使得多個Java應用程序(MIDlets)可以同時運行。為了擴大用戶群,現在的J2ME使用戶能夠在一個小型設備上更方便和直觀地處理多個Java應用。另外,在J2ME應用程序的性能和內存的使用上也有了很大的改善。?
2.4 Java企業系統解決方案?
??? J2EE已經成為企業應用開發的標準。平臺為創建、部署和管理企業級類應用以及代碼的可移植性及重用提供了一個安全的、魯棒的和可擴展的環境。Java企業系統軟件套件被認為是當今最為完整、技術最先進的企業應用軟件之一?;贘ava技術的跨平臺特性,使這套應用軟件在全球廣受歡迎,擁有許多成功案例。?
??? 在新的J2EE 1.4版本增強和完善了許多新的功能,同時對加大了對中小企業的應用系統開發的支持。Java Studio Creator提供了基于Java和J2EE的解決方案,使用它可以降低開發應用系統的復雜性和時間,Java Studio Creator 采用了可視化界面,適合初學者用來開發簡單應用。使用其中的JavaServer Face工具就可以方便地開發基于MVC模式的應用。這樣使得J2EE不僅僅可以應用于象“波音”和“通用電器“這樣大的”航空母艦,同時使中小企業用較小的費用就可以在其上架構自己的系統,從而擴大了其用戶群。
3.Java技術帶來新的機遇和挑戰
????Java作為一種網絡編程語言誕生,經過九年的不斷發展和完善,已經逐漸成為網絡編程語言的標準,Java技術在對各類型網絡設備支持的不斷增強,和各種易用開發工具的不斷推出,必然使得基于Java的應用不斷普及。今年SunOne的開發者大會上,Schwartz用大量實例說明了Java技術可能出現在你看到的任何地方,特別是在巨大的、重新顯現的桌面市場。他認為:“當你選擇了Java,你就具有了最廣泛市場”。如何能抓住這一機遇,推進Java在中國的發展,使我們的技術能與世界接軌,是我們當前應該明確的問題。?
??? 在今年的SunOne的開發者大會上,Schwartz在他的報告“機遇無處不在”中給我們描繪了Java技術應用各種場景。?
3.1 客戶是Java應用的基礎?
??? 要使一項技術能夠得以普及,就必須不斷擴大用戶群,滿足各種類型用戶對不同應用的需求。而Java技術正是迎合了這一發展規律,其技術的普適性給各個行業市場帶來巨大的開發潛力。?
??? 許多大的軟件廠商包括IBM、Oracle和BEA都在應用服務器層次上對Java進行了支持,并從中取得了豐厚的利益。而在具體應用領域中,Java技術的應用已遍及全球幾乎所有Internet所及之處,涉及電子政務、電子商務、遠程醫療、遠程教學、科學研究、日常生活等方方面面。
??? 除此之外,Schwartz在SunOne 2004開發者大會上以若干鮮活的實驗說明了了Java的更廣泛的應用。在人帶的手表上安裝一個拇指大小的設備,就可以將他的脈搏跳動情況傳送到他的移動電話上。這兩個設備之間的連接為病人、醫院和醫生之間的有機連接奠定了技術基礎。?
??? Schwartz認為對于Java的開發者來說,Java的一個大的應用市場是汽車工業。為了顯示Java在其中軟件和服務上的潛在應用,他將一輛充滿個性的跑車開到會議大廳,一個中央顯示器來顯示通信、汽車室溫控制、導航和娛樂信息,可以說網絡在駕駛者這輛汽車。如果每個汽車消費者每月將220美元用在他們的汽車網絡服務上,汽車公司可能將免費送給他汽車后,仍將賺更多的錢。
3.2 Java的實時控制技術?
??? 今年的Java開發者大會上,Sun實驗室的 Bollella 向與會者展示了Java實時應用的一個示例。該實例使用Java實時規范,研究對鐘擺的實時控制。該項目代號為“Macinaw”,使用一個經典的被稱為“逆向鐘擺”的實驗來說明對發動機的控制問題。RTSJ是一段用Java編寫的代碼,它每5毫秒檢測一下鐘擺擺動的位置。鐘擺有兩種狀態:搖擺和平衡。平衡一個鐘擺就像是平衡你手中的尺子。開始,他啟動一個設備,這個設備是一個小的載體,上面有個鐘擺,它可以帶著鐘擺在軌道上行進。設備在軌道上的前后移動,可以使鐘擺來回晃動。設備可以通過精確控制,將鐘擺擺成垂直方向,并保持鐘擺始終處于垂直狀態。隨后,Gosling幾次用手指推鐘擺,想使它失去平衡,每次發動機和兩個傳感器都能夠及時矯正鐘擺使它保持平衡。這個實驗表明系統能夠以足夠快的速度來進行切換,以保證鐘擺的平衡。
??? Gosling認為在一個大的實時控制系統中,最重要的事情是可預測性。
??? 此外,Sun的實驗室和NASA噴氣推進實驗室目前正在合力研發一個基于Java技術的控制系統,它將使未來的宇宙探測器在探測這個紅色星球之時能夠具有智能化的、獨立進行決策的能力。盡管目前尚處于實驗室研究階段,但“Java之父”——James Gosling仍對與噴氣推進實驗室、Carnegie Mello University合作的這項充滿了冒險和挑戰的實驗項目充滿了信心和熱切的向往——向往著其中的實驗結果有朝一日會成為未來太空船的一部分。
3.3 簡單的Java應用開發過程帶來的生機?
??? Java技術的經濟就是以Java先進技術應用為中心的社團、創新和機遇。Java技術要進行普及,Java開發者的隊伍要擴大到1000萬,就必須使開發者能夠方便地來使用Java。Java技術以其可視化、簡單、快速和隨意性很好地符合了開發者的需求。而Sun Java Studio Creator應用開發工具就是這樣一個開發工具,它是建筑在Netbeans集成開發環境上的一個可視化設計工具,可以通過簡單的鼠標拖拽功能進行快速的Java應用開發,同時它也是一個采用100%純Java技術的完整的解決方案。
這一技術的推出使得基于Java應用系統的開發降低了對Java編程的工作人員的要求,使Java開發隊伍的擴大至1000萬這一說法,不再是空談,而必定將由于其簡單易用性而付諸實現。
??? 同時Sun在Sun Java Studio Creator的銷售在價格也采取了許多優惠措施,使中小企業也能夠很快地開發其應用系統。這無疑給Java技術的廣泛應用帶來的巨大的商機。
3.4 Java企業系統促進中小企業的發展?
????今年2月16日,Sun公司的總裁Jonathan Schwartz在中國舉辦的媒體交流會上宣布,Sun公司將向中國的中小企業免費提供Java Enterprise System(Java企業系統)軟件套件。這一舉動為中國的中小企業的信息化建設提供了一個較高的起點。Java Enterprise System套件中包含了目錄服務器、身份識別服務器、應用服務器、信息隊列服務器、網絡服務器、日程服務器、短信服務器、門戶服務器、門戶安全遙控和移動登錄、集成服務器等軟件,適用于各種平臺。不僅如此,Sun還聯手國內公司廣泛開展對Java企業系統的培訓,目的是這些企業更好的掌握Java技術,推進中國中小型企業的信息化進程。
????Sun公司這樣做就是想說明:Java不僅僅適合大型企業級用戶,中小企業同樣需要Java;Java除了可以運行在Unix、Linux平臺,也能夠在Windows平臺上運行。
4.我們的工作
??? Internet作為信息基礎設施之一,已經深入到人類社會的各個領域,而world wide web(WWW)在Internet之上為人們提供了一個廣泛進行各種數據和信息共享及利用的空間。Web技術已經成為現在信息技術的一個重要領域,并在國民經濟建設中發揮著巨大的作用。清華大學計算機系軟件所知識工程研究室以網絡計算模式下知識處理為研究方向,以Java、XML和構件為技術基礎,對Web技術的基礎理論和關鍵技術進行研究。
4.1?? 語義Web和Web服務?
??? 給Web賦予語義信息,將Web做為基于知識的資源共享平臺,是Web發展趨勢。該方向的主要研究內容包括:
??? (1)語義互聯網中的基礎軟件的體系結構的研究,建立語義web整體架構;以本體構件為單位,研究建立能對本體進行有效存儲、訪問和處理的機制;
??? (2)web環境下大規模知識處理機制和方法的研究。
??? 語義web中分布式本體的理論和關鍵技術研究。運用數據挖掘和機器學習算法,建立領域本體的概念網絡,實現大規模的領域知識庫,為實現語義web提供重要的知識來源。研究語義Web中分布式本體內容生成的關鍵技術,語義Web得以實現的重要研究課題,重要研究內容包括分布式本體標注和映射機制。
??? (3)智能Web 服務研究。
??? 解決目前Web上廣泛存在的信息格式的異構性、信息語義的多重性以及信息關系的匱乏和非統一,實現Web更自動化地、更智能化地交互。將本體引入Web Services,使之成為Intelligent Web Services,使Web實現從自動化到智能化的轉變成為可能。主要研究內容包括Web服務的管理機制和語義Web服務的實現機制。
??? 目前我們已經利用Java技術建立了一個基于本體的語義Web的基礎軟件,并將其應用于Web services的自動發現中。
4.2?? 基于Java和XML的Web信息處理?
??? 涉及web下異構信息源的集成、web環境下基于內容的資源自動獲取理論和方法,以及基于內容的知識查詢和處理。主要研究內容包括:
??? (1)基于Java的XML關鍵技術
??? XML作為更好實現網絡互操作和數據交換的標記語言,已經得到的極大發展。XML提供了一個數據共享和交換的信息平臺,為信息有效管理和數據集成提供了強大地功能。清華大學知識工程研究室在XML的客戶化工具進行了深入的研究和開發,并初步具有一些擁有自主知識產權的XML的客戶化開發工具,包括:
??? .XML數據管理的可視化開發關鍵技術
??? .異構XML的數據集成
??? (2)基于XML的Web挖掘和知識發現
??? .在基于XML的Web信息處理中,提出基于XML的半結構化數據智能處理模型,通過定義半結構化文檔的邏輯、語義和表示視圖,充分利用數據挖掘和機器學習方法,挖掘半結構數據的內容信息,實現真正意義上對半結構化文檔的內容管理。
??? .基于XML自適應的文檔管理關鍵技術研究,包括自動按照分類體系管理文檔,建立方便用戶信息瀏覽的導航方式,建立有效的文檔索引和搜索技術,和能夠有效抽取用戶關心信息的信息抽取技術。
4.3?? 電子政務和電子商務的關鍵技術?
??? 電子商務和電子政務的發展正在成為當代信息化的最重要的領域。作為Web技術應用的主戰場,我們以電子商務和電子政務技術作為以上Web技術理論研究的應用平臺,為電子商務和電子政務的研究提供先進的理論和方法,使我們基于Web技術的研究在理論和實踐上都處于先進水平。
??? 運用J2EE、XML和Web services的先進技術,清華大學知識工程研究室在電子政務和電子商務的關鍵技術擁有了一定的研發經驗。我們承擔并實現了旅游電子商務平臺(http://www.luopan.com),并在該平臺上實現了基于頁面和功能級的Web服務。此項技術在國內處于領先地位。在電子政務建設方面,我們承擔了赤峰市電子政務系統中公文流轉系統的設計與開發項目。該項目目前正在進行之中。
??? Java 技術正在不斷的完善,Java應用領域正在不斷的擴大,Java正在朝著“無處不在的Java”健康地邁進,Java正在成為IT應用的首選平臺。對于13億人口的巨大市場,全國都在實施“用信息化促進現代化”的戰略行動,各地正在掀起電子政務和電子商務建設的熱潮,具有強大生命力的Java 技術的推廣與應用是大勢所趨,尤其是SUN與 MicroSoft兩巨頭的和解,對于.NET 和 Java/J2EE的兩大核心技術的融合受到廣大技術人員的歡迎,有利于網絡應用與軟件開發的進展。我們更是應該抓住機遇,利用無處不在的Java技術為我國的信息化建設服務。