首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

HotJava:網絡時代的熱咖啡,開啟跨平台瀏覽新紀元

     編輯:Java 程式設計入門

長期以來,桌面作業系統市場的霸主地位一直被微軟牢牢佔據,Windows 95 的推出更鞏固了其統治地位。全球軟體巨頭微軟與晶片之王 Intel 聯手打造的「Wintel」標準 PC 佔據了全球 80% 以上的市場份額。面對兩大公司築起的堅固「柏林牆」,用戶別無選擇,只能跟著微軟和 Intel 走。

然而,隨著網絡計算時代的來臨、全球 Internet 的迅猛發展,各種異構、分散式的軟硬體平台日益增多,導致不同平台之間的資訊流通存在極大障礙。軟體開發者越來越不願意用面向特定平台的專用代碼編寫應用程式,渴望使用一種不依賴本地平台的語言進行編程。

Java 橫空出世:跨平台的曙光

Sun 公司的 Java 語言應運而生。Java 是一種面向對象、可在 Internet 網上分散執行的程式設計語言,其最重要的特性在於:用 Java 編寫的應用程式 可在任意硬體、軟體平台上運行。Java 的推出迅速引起廣大用戶和眾多廠商的關注,也在軟體開發者心中點燃了希望之火。

以往,我們為了較普遍的計算過程編寫應用,也不得不依賴用戶平台的作業系統和微處理器架構;有了 Java 之後,用戶可能再也用不著頻繁升級電腦和作業系統,維護、升級成本將大幅降低。用戶可將用 Java 編寫的應用透過 Internet 或其他裝有 Java 環境的網絡快速傳輸給其他用戶。Java 具有高度可移植性,用它編寫的應用可不加修改地運行在異構主機系統上,資訊系統的管理程式可在網絡上廉價傳輸及維護,開發人員還可免費獲得 Java 的可執行代碼、編譯器以及開發工具包。

HotJava:首個基於 Java 的 Web 瀏覽器

利用 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 和 Netscape Navigator 為典型代表。它們用 HTML 語言生成一個超文本,該文本可把用戶點擊到的任意應用連接起來。這些瀏覽器的工作方式是通過網絡獲取連接的資料,還可以下載資料,並將其顯示到用戶的本地屏幕上。

C/S 計算新概念:控制權下放到客戶端

HotJava 帶來了全新 Client/Server 計算的雙重概念。傳統的 Client/Server 計算是若干個客戶機與一個大型中央服務器長期連接,每個客戶機都可以訪問中央服務器的資料及其應用程式,大致為一個星型結構。由 WWW 產生的新網絡模型是一種廣域網,即若干個客戶機和多個服務器短時連接,控制智能由服務器轉移到了客戶機,「由誰負責」也從服務器轉移到了客戶機上。

第一代 Web 瀏覽器產生的主要問題是:瀏覽器必須知道每一種可能出現的資料類型、通訊協議以及硬體線路連接方法,這意味著一旦有新的資料類型、協議和線路連接出現,這些瀏覽器就得修改或升級以適應新變化。對最終用戶而言,他得不斷知道存在什麼協議、哪些瀏覽器可以處理這些協議、哪些版本可以兼容。而 Internet 卻以令人吃驚的速度迅猛發展,各種協議、不同版本、不同廠商的瀏覽器使人眼花繚亂,這種情況發展很快便會失去控制。同時,隨著 Internet 電子商務的飛速增長,網絡安全性也日益成為用戶最關心的問題,基於網絡的應用必須抵禦網絡病毒及其他各種入侵者的侵襲。

HotJava 的安全架構:雙層防護

構造一個類似 HotJava 這樣的瀏覽器,其最重要的技術之一便是要求它安全可靠。HotJava 本身帶有一系列實用工具,為用戶提供了高度的安全性,表現在兩級上:

第一級:Java 語言解釋器

HotJava 的第一級安全性來自 Java 語言自身特性,表現在:

  • 編寫應用程式時,在需要進行大量編譯時和運行時進行二級檢查,減少開發人員出錯機會
  • Java 用運行時系統管理用戶記憶體,語言基本上沒有指針及指針相關算法,避免指針懸空、記憶體溢出和冗餘
  • 運行時系統內置防病毒和損害文件系統的保護機制,即使用戶從 Internet 下載或修改 Java 應用程式,最終用戶也非常安全
  • Java 禁止未授權代碼對 Java 程式進行干預,保證程式安全性

當代碼模塊被移植入 HotJava 時,它實際上並不知道代碼模塊是否具有 Java 語言規則帶來的安全性,因為本地的 Java 編譯器不可能產生這種安全性。移植的代碼由一系列檢查所控制,開始是直接測試代碼格式是否正確,最後由識別器進行一系列一致性檢查。實際上,HotJava 的一級安全性可以說是 Java 語言環境安全性的繼承。

第二級:高層協議

這一級安全性基本保證了介面級不會受到侵犯,在系統的較高層實現保護機制。例如文件訪問初始化時,產生一個訪問控制表,負責對移植代碼形成(或由其衍生)文件的讀/寫訪問實施控制。這些訪問控制表的缺省值要求非常嚴格,如果一段移植代碼試圖訪問未被允許訪問的文件,診斷框允許用戶判定是否讓其作指定訪問。

HotJava 的核心特點

使用第一代瀏覽器時,用戶需要知道有關 Internet 資料格式、通訊協議以及硬體線路連接方面的知識,有了 HotJava 後,情況大不相同。它可以協調不同資料格式,並可隨時透過網絡添加新的文件格式,用戶無需知道各種通訊協議內容。與第一代瀏覽器相比,HotJava 有幾個重要特點:

1. 動態伸縮性

HotJava 可以動態伸縮,它可以從網絡上任意地方隨意下載 Java 應用程式 (applets),並在用戶本地客戶機上運行。而且,HotJava 增加了可將靜態文檔變換為動態應用的動態特性,擴展了瀏覽功能。

動態性表現在三個方面:

  • 內容是動態的:例如用 Java 編寫程式配合 HotJava 接口實現化學實驗的交互式模擬過程,用戶可輕鬆看到實驗模擬變化並能交互,而不只是靜態文字圖像
  • 類型是動態的:HotJava 可支持多種不同對象類型,遇到新格式圖像信息可隨意將代碼連接到新顯示格式,動態適應變化格式
  • 協議也是動態的:HotJava 讓協議名與適當協議句柄連接,使新協議動態協調起來。用戶在多個具不同協議服務器上訪問資料時,只需一個 HotJava 瀏覽器即可

2. 更好的交互性

HotJava 帶來更多 Web 瀏覽器交互性,將當前瀏覽器上的靜態資料顯示變換成超文本的新型動態、動畫式、交互式瀏覽系統。開發人員只需敲擊一下按鍵,即可透過 Internet 發佈他們的應用。

HotJava 沒有採取第一代瀏覽器那樣的單一方法,而是將交互性焦點從 Web 服務器集中到 Web 客戶機上。基於 Java 語言系統,HotJava 客戶可以動態下載在客戶機上運行正確的代碼段。這樣的 Applet 可提供全動畫、聲音效果和與用戶的實時交互。

HotJava 動態性取代了 Mosaic 類第一代瀏覽器靜態特徵,用戶應用涵蓋了從交互式教學科學實驗、遊戲、專門購物應用,到廣告、報紙,以及一系列還沒想到的主要應用。需要強調的是,HotJava 為用戶訪問這些應用提供了一種全新方法:所需軟體可透明地透過網絡傳輸到用戶本地客戶機,用戶不必刻意安裝某個應用,什麼時候需要,就可隨時從網上傳過來。

結語:Java 掀起網絡時代變革

Java 帶來了網絡時代的嶄新變革,軟體開發商普遍看好 Java。HotJava 可稱得上是 Java 的一個成功應用,HotJava 1.0 版已於當年 1 月推出。目前已有 28 家以上大公司申請加入 Sun Java 授權陣營,其中有 IBM、微軟、HP、SGI、Oracle 等全球知名電腦公司,許多公司準備用 Java 開發自己的 Web 應用。佔據瀏覽器市場 70% 份額的 Netscape 公司,已準備將 Java 與其下一代 Navigator 瀏覽器捆綁在一起。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved