hotjava

tern tern tern

網路時代的世界語
長期以來,台式機作業系統市場的霸主位置一直被微軟牢牢地占據著,而Windows 95的出台又使得微軟的地位更加鞏固。全球軟體業巨人微軟和晶片之王Intel聯合壟斷形成的"Wintel"標準的PC機占據了世界80%以上的市場,而且Intel的微處理器晶片還在不停地更新換代,微軟的作業系統仍舊在頻頻升級。面對兩大公司築就的堅固的"柏林圍牆",用戶別無選擇地跟著微軟和Intel走。然而,隨著網路計算時代的到來、全球Internet的迅猛發展,各種異構、分散式的軟硬體平台越來越多,使不同平台之間的信息流通存在極大障礙,軟體開發者們越來越不願意用面向特定平台的專用代碼編寫應用程式,希望使用一種不依賴於本地平台的語言進行編程。
Sun公司的Java語言應運而生。Java是一種面向對象、可在Internet網上分布執行的程式設計語言,它最重要的特性,就是用Java語言編寫的套用(Applet)可在任何一個硬體、軟體平台上運行。Java的出台,很快就引起廣大用戶和眾多廠商們的關注,同時也在軟體開發者們的心中點燃了希望之火。
以往,我們為較普通的計算過程編寫套用,也不得不依賴於用戶平台的作業系統和微處理器結構;有了Java以後,用戶可能再也用不著頻繁地去將計算機以及作業系統升級,在維護、升級上的費用就會大大減少,用戶可將用Java編寫的套用通過Internet或其它裝有Java環境的網路快速傳輸給其它用戶。Java具有高度的可移植性,用它編寫的套用可以不加修改地運行在異構的主機系統上,信息系統的管理程式可以在網路上廉價地傳輸及維護,開發人員還可以免費得到Java的可執行代碼、Java編譯器以及Java的開發人員工具包。
利用Java可以開發出許多套用,這裡,僅向讀者介紹Sun公司推出的Internet上的一種互動式套用———HotJava瀏覽器。 HotJava是一種WWW(World Wide Web)瀏覽器,也是完全用Java語言編寫的主要面向最終用戶的套用。開發者將其產品起名"HotJava(熱咖啡)"的目的也許是想讓人們在使用HotJava時像喝一杯熱氣騰騰的咖啡那樣適意、輕鬆。
Java的醞釀始於1990年,正式推出是在1995年的5月,HotJava瀏覽器則是與Java語言同期推出的,它是第一個基於Java語言及其運行系統而建立的套用。HotJava不僅充分顯示了Java語言環境的威力,而且為在更複雜、離散、異構的Internet網上進行分散式Java編程提供了一個理想的平台。
Web瀏覽器的發展史
Internet正以驚人的速度快速增長,時至網路時代的今天,Internet已經變成了一個雜亂無章的數據海洋,這個數據海洋中存在著多種異構的網路主機系統,在其上使用著各種類型的格式存儲數據,不同的數據存儲格式及其傳輸協定又在這種無序的結構中形成了某些規則。網路上增長最為迅速的、也是用戶最感興趣的領域之一就是WWW,它基於超文本來構造系統,用於指導用戶在Internet的數據海洋中漫遊。
Web在Internet中有著舉足輕重的地位,其瀏覽器將數據獲取功能和數據圖形化功能結合在一起。目前最普通的處理瀏覽器檔案格式的語言是超文本構造語言(Hypertext Markup Language,HTML),超文本概念的關鍵是在其文檔中含有與其它文檔的連線,超文本不僅包括文字信息,而且還包含聲音、圖像、動畫等廣義的文本。WWW的客戶程式與伺服器程式的相互通信採用超文本傳輸通訊協定HTTP(HyperText Transmission Protocol)。
翻開Web瀏覽器的發展史,人們可以看到:第一代Web瀏覽器以NCSA Mosaic和Netscapeavigator為其典型代表。它們用HTML語言生成一個超文本,該文本可把用戶點(Click)到的任何套用連線起來。這些瀏覽器的工作方式是通過網路獲得連線的數據,還可以卸載數據,並將其顯示到用戶的本地螢幕上。下圖顯示了第一代瀏覽器Web瀏覽器的大致互動控制流。 @@I1;圖 第一代瀏覽器Web瀏覽器的大致互動控制流@@ 從圖中可以看出,第一代並沒有實現真正的互動性,而只是一個進行數據獲取和顯示的工具。 C/S計算新概念 HotJava帶來了全新Client/Server計算的雙重概念。通常的Client/Server計算是若干個客戶機與一個大型的中央伺服器長期連線著,每個客戶機都可以訪問中央伺服器的數據及其應用程式。即傳統的Client/Server計算大致為一個星型結構:中央是一個大型伺服器,四周是客戶機。由WWW產生的新的網路模型是一種廣域網,即若干個客戶機和多個伺服器短時連線,實行控制智慧型由伺服器轉移到了客戶機,回答"由誰負責"也從伺服器轉移到了客戶機上。 第一代Web瀏覽器產生的主要問題是:瀏覽器必須知道每一種可能出現的數據類型、通訊協定以及硬體線路連線的方法,這就意味著一旦有新的數據類型、協定和線路連線出現,這些瀏覽器就得修改或升級以適應新的變化情況。對於最終用戶而言,他就得不停地知道存在什麼樣的協定、哪些瀏覽器可以處理這些協定、哪些遊覽器的哪些版本可以與別的版本兼容。而Internet卻以令人吃驚的速度迅猛地發展,各種各樣的協定、不同版本、不同廠家的瀏覽器使人眼花繚亂,這種情況的發展很快便會失去控制。同時,隨著Internet電子貿易的飛速增長,網路的安全性也日益成為Internet用戶最關心的問題,基於網路的套用必須抵禦網路病毒及其它各種入侵者的侵襲。 構造一個類似HotJava這樣的瀏覽器,其最重要的技術之一便是要求它安全可靠。HotJava本身帶有一系列的實用工具,為用戶提供了高度的安全性。它的安全性表現在以下兩級上
第一級:Java語言解釋器HotJava的第一級安全性來自Java語言自身的特性。其安全性表現在以下幾個方面: ·在使用Java語言編寫應用程式時,在需要進行大量的編譯時和運行時進行二級檢查,從而減少了開發人員的出錯機會; ·Java用運行時間系統來管理用戶的記憶體,在記憶體管理模組中,語言基本上沒有指針及指針的相關算法,這樣,用戶程式不會有指針懸空、記憶體溢出和記憶體冗餘的現象發生; ·在Java的運行時間系統中,內置了防病毒和損害檔案系統的保護機制,這樣即使從Internet網上卸載或者修改Java應用程式,最終用戶也是非常安全的; ·Java禁止未授權的代碼對Java程式進行干預,因此保證了程式的安全性。 當代碼模組被移植入HotJava中時,它實際上並不知道代碼模組是否具有Java語言規則帶來的安全性,因為本地的Java語言編譯器不可能產生這種安全性。移植的代碼由一系列檢查所控制,開始是直接測試代碼的格式是否正確,最後是由識別器進行一系列一致性檢查。實際上,HotJava的一級安全性可以說是Java語言環境安全性的繼承。
第二級:高層協定這一級安全性基本保證了界面級不會受到侵犯,它在系統的較高層實現了保護機制。例如檔案訪問初始化時,產生一個訪問控制表,該控制表負責對移植代碼形成(或由其衍生)檔案的讀/寫訪問實施控制。這些訪問控制表的預設值要求非常嚴格,如果一段移植代碼試圖去訪問未被允許訪問的檔案,診斷箱允許用戶來判定是否讓其作指定的訪問。
HotJava的特點
在使用第一代瀏覽器時,用戶需要知道有關Internet數據格式、通訊協定以及硬體線路連線方面的知識,有了HotJava以後,情況就大不相同了。它可以將不同的數據格式協調起來,並可隨時通過網路添加新的檔案格式,用戶無需知道各種通訊協定的內容。因此,與第一代瀏覽器相比,HotJava瀏覽器有幾個重要特點:
1.動態伸縮性HotJava可以動態伸縮,它可以從網路上的任何一個地方隨意卸載Java應用程式(Applets),並在用戶的本地客戶機上運行。而且,HotJava增加了可將靜態文檔變換為動態套用的動態特性,從而擴展了瀏覽功能。它在網路上的瀏覽技術取自Mosaic和其它瀏覽器產品。 動態性表現在以下三個方面:首先,內容是動態的。例如,用Java語言編寫一段程式,配以HotJava應用程式接口,用於實現化學實驗的互動式仿真過程,結果使人們可以用HotJava瀏覽器通過網路輕而易舉地看到實驗的仿真變化情況,並且還能與其互動,而不只是一些文本的靜態圖像。而且,實現化學實驗呈活動狀態的代碼不包含可能損害系統的代碼,因為這部分代碼繼承了Java語言安全性和穩定性的特徵。 其次,類型是動態的,HotJava可以支持多種不同的對象類型,例如絕大多數Web瀏覽器支持一些圖像格式的集合,如GIF、Xll pixmap、Xllbitmap,再遇到其它格式的圖像信息就無法直接進行處理;HotJava則不然,它可以隨意將代碼連線到新的顯示格式,每遇到新的類型,HotJava瀏覽器就對其自身進行修整,以動態地適應變化的格式。 協定也是動態的。Internet主機進行通訊的協定是網路的關鍵部分,其中,HTTP是WWW通訊協定中最重要的一種,WWW中與文檔相關的部分被稱為URL,當前的Web瀏覽器支持內置HTTP協定。HotJava則不採取這種方法,它讓協定名與適當的協定句柄連線,這就使新的協定動態地協調起來。協定的動態協調性在Internet上有著特殊的意義,在通常情況下,如果用戶在多個具有不同協定的伺服器上訪問數據,用戶就需要多個瀏覽器。使用HotJava瀏覽器則是被賦予一個參數在一個目標上(URL)。如果協定句柄已經安裝,這種協定就直接可用,否則HotJava就搜尋一個本地系統作為URL的目標系統。
2.更好的互動性HotJava帶來了更多的Web瀏覽器的互動性,可將當前瀏覽器上的靜態數據顯示變換成超文本的新型動態、動畫式、互動式的瀏覽系統,進行瀏覽的開發人員只需擊打一下按鍵,即可通過Internet發布他們的套用。 HotJava沒有採取第一代瀏覽器那樣的單一方法,而是將互動性的焦點從Web伺服器集中到Web客戶機上,即集中到用戶要瀏覽Web的計算機上。由於其基於Java語言系統,HotJava瀏覽器的客戶可以動態地卸載在客戶機上運行正確的代碼段。這樣的Applet可以提供全動畫、聲音效果和與用戶的實時互動。 HotJava動態性取代了Mosaic一類的第一代瀏覽器靜態的特徵,用戶的套用涵蓋了從互動式的以教學為主的科學試驗,到遊戲、專門的購物套用,還可以實現廣告、報紙,以及一系列還沒有想到的主要套用。 需要強調的是,HotJava為用戶訪問這些套用提供了一種全新的方法。你需要的軟體可以透明地通過網路傳輸到用戶的本地客戶機,用戶不必刻意去安裝某個套用,什麼時候需要,就可以隨時從網上傳過來。WWW的內容開發者不必擔心安裝在用戶系統中的是否是特殊的軟體代碼,它只需自動地獲取就行了。
結語Java帶來了網路時代的嶄新變革,軟體開發商們也普遍看好Java。HotJava可以稱得上是Java的一個成功套用,HotJava 1.0版已在今年1月份出台。目前已經有28個以上的大公司申請加入Sun Java的授權行列,它們當中有IBM、微軟、HP、SGI、Oracle等全球知名的計算機公司,其中也有許多公司準備用Java開發出它們自己的Web套用。占據瀏覽器市場70%份額的Netscape公司,已準備將Java與它的下一代Nav-igator瀏覽器捆綁在一起。 (黃盛萍/文)

相關詞條

相關搜尋

熱門詞條

聯絡我們