帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
Java 客戶端技術捲土重來
Java Web Start -

【作者: 葉建華】   2001年05月01日 星期二

瀏覽人次:【3922】

前言

在Java 誕生的初期,相信有許多人都會因為它可以在網頁中執行 applet程式而雀躍不已。的確,Java 的優勢之一,也就是程式碼的可移動性 ( Code Mobility ),伴隨著虛擬機器的特色,在網路程式設計的世界裡,引發了一股新的熱潮,無數的程式設計師都因 Java 各項獨創性的特點而沈醉著迷。但隨著人們對於網路運算的需求增大,Java applet 已不再適用於日漸嚴苛的商業運算需求,因此,各方都欲為 Java 在客戶端的運算模式,找一個新的出路。


本篇就是針對了這些新的需求,以及昇陽公司所提出的解決方案,為各位讀者做一個詳細的介紹。


Java 客戶端已死?

相信會寫 Java applet 的人都知道,applet 所能達成的商業運算功能,實在是相當有限。在 Web 發展的初期,Java applet 的動態特性,對於網頁的活潑及美化的確有相當多的貢獻。但隨著商業運算的需求增加,客戶端的運算需求也隨之提升,Java applet在安全性限制、介面呈現上都有明顯地不足。也就因為如此,曾經有一度 Java applet 被認為無法再提供商業運算客戶端需要的特性,之所以會有這樣的狀況,其實是由以下幾個因素所引起的。


由 ( 表一 ) 的原因看來,Java 在客戶端方面,的確有改善進步的空間。第一個重要的改變,就是沒法在各戶端使用 Java2 的技術。由於目前各家瀏覽器所支援的Java 版本,大多為 JDK 1.1 版,因此,一些較為複雜的介面呈現技術 ( 也就是 Swing 技術 ) ,都無法有效地應用在客戶端的 applet 上,這是相當可惜的一件事。


第二個改變,便是要能有效解決安全性限制的問題。較有經驗的 Java 程式設計師都會知道,Java applet 的安全性限制相當嚴格,除了不能取用客戶端的系統資源 ( 檔案、印表資源等 ) 之外,在網路連結部份,也只能夠連回 applet 的程式碼供應端。這些安全性的限制其實相當合理,不但可以避免 applet 意外破壞客戶端的運算環境,同時也可以避免有心人利用客戶端的網路運算連結來做不好的事情。


但是以上這二種改變需求,卻是商業運算所必需的,因此,如何推動新一代 Java的客戶端技術,便成了昇陽公司的重要任務之一。而就在今年的3月14日,昇陽公司正式的宣佈新的 Web 技術,也就是所謂的 Java Web Start 軟體。


Java Web Start 可以改善嗎?

對於獨立執行的應用程式,有些問題是必然存在且不可避免的,例如該項軟體必須要經歷安裝、調整組態、維護以及更新版本,這些負荷給企業的資訊部門帶來了沈重的工作負擔。而 Java 自發明的一開始,就是要試圖解決這些複雜的問題 - 也就是利用跨平台的特性,以及動態程式庫載入的能力。而昇陽公司最近所發表的 Java Web Start 軟體,正是由昇陽公司以及其合作夥伴針對剛剛所提到的問題,所提出的一種解決方案。


以技術的觀點來說,Java Web Start 是一種客戶端的輔助型應用程式 ( helper application ),也就是說,它的功能角色會很像 RealAudio 一般,當 Web 瀏覽器載入 Java Web Start 所登記的 MIME 形態檔案時,它就會被啟動處理這些形態的資料。所以,這種與一般 HTML 其他類型資料相當類似,同時也補強了以 HTML 為基礎的應用程式環境。


Java Web Start 其實可以被視為一個通用型的輔助型應用程式,因為 Java Web Start 也是針對特定 HTML 型態資料來做處理。但是,Java Web Start 並不只是處理特定資料型態的工具 ( 如音訊、視訊等等 ),而是凡是以 Java 撰寫的應用程式,都可以輕易的使用這個環境來進行運作。對客戶端環境而言,只需要下載 Java Web Start 並安裝一次,而不是針對各種資料型態都要安裝特定的輔助型應用程式。


如此一來,Java Web Start 便可以輕易地將 Java 整合到以 Web 為基礎的應用層面上,不單解決了以往 applet 執行的各項問題,同時也可以達到各種 Web 應用程式的整合目的,更可以提供以往 HTML 無法達到的功能,以近乎一般應用程式執行的姿態,在客戶端的環境中進行運作。不論是對 Java 應用程式,或是 Java applet,都可以在 Java Web Start 中順利執行,而不需再仰賴瀏覽器所提供的 Java 虛擬機器環境 - 因為這會引發版本以及提供環境功能不一致的問題。


簡而言之,Java Web Start 就是針對以 Web 為基礎的 Java 應用程式所提供的新一代技術。這項技術,讓使用者透過一個簡單的 Web 連結,就可以輕易的使用獨立的 Java 應用程式 ( stand-alone Java application ) ,而不必再去考慮諸如 Java 平台版本等等的問題。如此一來,以往的安全性問題、介面呈現的問題,都可以迎刃而解。因此,Java Web Start 正是為了提供 Web Java 技術而誕生的軟體程式。


一旦使用了 Java Web Start,Java 應用程式 ( 而不再只有 Java applet ) 便得以透過一個簡單的 Web 連結來啟動,而在應用程式的下載與啟動方面,使用者將會渾然不覺。而不論是那一種瀏覽器,如微軟的 Internet Explorer、網景的 Navigator,抑或是其他任何一種瀏覽器,都可以受惠於這樣的 Java 技術,不論是對各種作業環境的支援,或是各種硬體組態、安全限制等,都有了良好的解決途徑。使用者也不再需要擔心瀏覽器所使用的 Java 平台版本,因為 Java Web Start 本身就可以判斷 Java 應用程式對平台版本的需要,進而選擇適當版本的平台來執行之。以下我們將 Java Web Start 的特色整理成表,以提供讀者更清楚的了解 Java Web Start 所具有的特點,請見 ( 表二 )。


而使用 Java Web Start 技術的 Java 應用程式,對客戶端的來說,將會是永遠存在且即時的,也就是說,這些 Java 應用程式可以透過Java Web Start,在使用者毫無察覺的狀況下,在啟動過程中自動更新版本。同時,每一個應用程式都會在一個特定的 JRE ( Java Runtime Environment,Java 執行期環境 ) 中進行運作,而不受特定的瀏覽器或作業平台的干擾。


Java Web Start 軟體的支援的層面很多,舉例如下:


  • ●使用最新的Java2平台。


  • ● 使用多個JRE來進行運作。


  • ● 支援程式碼的數位簽章辨識。


  • ● 提供安全限制的程式執行環境。


  • ● 支援程式版本判別以及漸進版本更新功能。


  • ● 與既有的桌面環境做整合。


  • ● 可以在現有網路連線的狀態下進行離線運作。


  • ● 可以自動安裝必要的JRE以及特定的程式庫。


  • ● 提供應用程式管理員,以便利使用者使用Java Web Start的特殊功能。



在第一次的下載過程中,Java Web Start 軟體的安裝程式以及資料檔案會被下載下來。使用者只需要執行安裝程式,就可以完成 Java Web Start 軟體的安裝設定。接下來 Java Web Start 將提供一個高度整合且互動性強的使用者介面,同時並支援離線執行應用程式、最少量的伺服器連結、精簡規模列應用程式、以及快速的處理效能等特色。


而在安全限制的機制部份,所有的應用程式都會在一個受到安全限制的環境中執行,以保護使用者的資料不會受到有心或無意的破壞。同時,Java Web Start 也提供了程式碼數位簽章辨識的功能,因此使用者可以很確切的知道該項應用程式的信賴程度,降低自身資料遭受不當使用的危險性。


當使用者欲執行一個應用程式時,只需要如網頁連結一般,就可以開啟 Java Web Start 伺服端的連結,而 Java Web Start 便會以獨立於瀏覽器之外的姿態,為使用者下載必要的應用程式並執行之。在往後需要再執行的場合下,使用者可以只需要透過桌面上的圖示捷徑,或是仍透過網頁連結,就可以輕易的再啟動該項應用程式。並且還可以確保該項應用程式是在最新版本的狀態下運作,而完全不需要任何人工的介入來進行版本更新的工作。


由於使用者所需要的,是要能夠快速的取得功能強大的 Web 應用程式,也就是說,需求是發生在對跨平台以瀏覽器為基礎的應用程式介面。正因如此,昇陽公司才決定開發 Java Web Start 技術來滿足這幾項的需求層面,而由於 Java Web Start 是以 Java2 的平台為運作基礎,因此它可以確信是相當具有彈性且穩定的軟體。而由於應用程式在 Java Web Start 上的執行環境是完全獨立於瀏覽器之外,所以使用者將可以一邊使用該項應用程式,同時繼續其網頁瀏覽的工作,甚至可以將瀏覽器關閉,都不會影響到應用程式的運作。


應用 Java Web Start 技術的時機

既然已經知道了 Java Web Start 的特性,接下來我們就來探討使用 Java Web Start 技術的時機問題,我們先從檢視目前常見的主從式應用程式看起。


目前而言,有許多具有較高生產力以及許多傳統的主從式應用程式,都是以 Web為互動介面為主來提供使用者必要的功能與服務,但是這樣的模式並不總是能夠符合所有應用程式的需求。舉例來說,在企業內部使用以 Web 為基礎的電子郵件服務,是目前常用的應用模式。這對於使用者擁有少量郵件的情況下,是相當合理且有效率的。可惜事不如願,在企業中大多數使用者所擁有的郵件量都是大得驚人,動輒數百件,且每天會以數十封的成長速度增加。


在這樣的情況下,使用以 Web 為介面的電子郵件服務,不但會徒增不必要網路傳輸資料量,而且運作效能也會相對降低。所以,以這樣的應用場合來看,Web 為介面的應用的確不適用,只會增加伺服器以及網路的負荷而已。


以上面的例子來看,若是使用 Java Web Start 技術的話,問題就會顯得簡單了許多。由於 Java Web Start 技術可以運用 Web 介面啟動,因此不論是在企業內部,抑或是在網際網路上,都可以提供使用者完整功能的應用程式軟體。但是要享受這樣的服務並非全無代價,它需要付出「初次啟動」的下載時間,或許第一次需要花上幾分鐘來下載才能使用到完整功能的應用程式,但是請注意,這只是「初次」的代價。因此在將來的使用上,使用者都不需要再付出這麼昂貴的等待時間,因為應用程式可以被儲存在本地端中,來等待下一次,以及接下來的「快速啟動」。


因此,完整且強大功能的應用程式,無法使用 Web 介面達到其目的功能者,都可以利用這樣的技術來大大提升其效能與便利性。即使初次的下載代價高於 HTML,但是將來如同本地端應用程式的執行速度將可以大大地彌補先前所付出的代價,特別是玩家級的使用者,也將會更滿意程式啟動的效率。


Java Web Start 的架構

Java Web Start 是建構在大多數使用者仍然需要各式各樣功能強大應用的基礎上。況且,目前大多數使用者仍舊沒有想到傳統桌面上的工具與應用 ( 如文字處理器、試算表、以及電子郵件管理程式等等 ),可以被某些先進的技術所取代。這些使用者所認定具有生產力的軟體工具,大多擁有以下的幾種特色:


  • ● 應用程式的使用者介面都相當的豐富,且具有強大的互動性。


  • ● 應用程式很容易透過“開始“功能表、桌面,或是其他捷徑來啟動,而不需要事事都透過Web瀏覽器來完成。


  • ● 應用程式的執行效率與互動性並不會隨著網路連線速度而有所改變。


  • ● 應用程式可以離線運作,如火車、飛機上等等。



即使如此,傳統的應用程式仍會有若干有待解決的問題,特別是應用程式的安裝與升級。許多人都會有這樣的經驗,就是往往必須要隨著應用程式版本的更新,或是軟體的錯誤修正,而進行所謂的重新安裝或是軟體升級的步驟。基本上,這些動作是相當無聊且繁複的,這也是為什麼安裝程式大多要做得有些許花俏的原因之一。而對於擁有大量供員工使用桌上型電腦的企業來說,要使用新版的應用程式,也就是升級企業軟體版本,是企業最為頭痛的一件事。


而這樣的問題,也就間接鼓勵並助長使用 HTML 開發應用服務的趨勢,原因無他:開發簡單、佈設廉價。而對於 Java Web Start 技術來說,這項新的應用程式佈設技術,是以 Java2 平台為運作基礎,支援使用者透過任何一種瀏覽器來啟動應用程式,而且沒有作業平台的限制。也就是說,可以在任何一個地方,透過 Web 連結,便能安心的使用應用程式。Java Web Start 技術提供了兩大層面主要的解決方案,分別是:


● 使用HTML佈設應用程式。


● 提供完整且功能強大的應用程式。


如 ( 圖一 ), 說明了 Java Web Start 的技術以及運作流程。圖中紅色的箭頭表示是使用者所會察覺到的動作,使用者只需要在網頁上擊點特定的超連結,便可以誘發 Java Web Star t技術來啟動使用者所需要的應用程式。不需要使用者自行安裝,也不需要手動升級,一個完整功能的應用程式就會呈現在使用者面前。而使用者所啟動的連結,對 Java Web Start 來說,實際上經歷了三個重要的步驟 ( 圖中藍色的箭頭 ),分述如下:


  • 1.當使用者點選應用程式時,該項超連結會由瀏覽器轉交給 Java Web Start 軟體,此時 Java Web Start 便需要啟動。


  • 2. Java Web Start 啟動時,會先顯示一個啟動畫面 ( 其中內含 Java Web Start 版本訊息 )。接著 Java Web Start 便根據超連結內容的描述,開始下載標的物,也就是使用者所需要的應用程式。


  • 3. Java Web Start 會透過 Web 界面來確認所有應用程式執行所需要的資源,一但擠滿,便馬上啟動應用程式,使用者便可以開啟使用。



以上幾個步驟,和許多 Web 輔助的應用程式都相當類似,如 RealAudio或是 Acrobat Reader。Java Web Start 所提供的,則是一個完整的 Java2 運作環境。這樣的環境是一般性的,而非根據特定的資料屬性所設計 ( 像是音訊、視訊、電子文件等等 )。


如此一來,使用者就可以簡單且安全地啟動任何 Web 應用程式。在此再次提醒一次:要具有這些功能特性,前提必須是在客戶端先行安裝 Java Web Start 軟體,這是只需下載安裝一回的工作,一旦完成所有各式軟體安裝及升級的工作,對你而言將會如同過往雲煙。


後記

Java Web Start 技術提供了豐富的功能特色,提供使用者更為便利的應用程式存取以及使用的環境,同時對於企業的IT部門來說,也提供了易於管理與佈設的支援。而對於應用程式供應商來說,更是簡化了開發的複雜度,這樣的技術,將有助於提升以Web為基礎的應用程式,同時也大幅減輕了應用程式執行的複雜度,無論是對企業以及個人的應用程式使用上,都將會有明顯的貢獻。


相關文章
線下服務應用與HTML規範發展
新一代的Web應用標準競爭(三)
國內Application Server市場報導
Email 行銷不可忽視的技術方案
新一代的Web應用標準競爭
相關討論
  相關新聞
» 精誠「Carbon EnVision雲端碳管理系統」獲台灣精品獎銀質獎 善盡企業永續責任 賺有意義的錢
» 工研院通訊大賽獲獎名單出爐 AI創新應用助2025年通訊業產值破兆
» 宜鼎推出 iCAP Air 智慧物聯空氣品質管理解決方案 透過即時空品數據自主驅動決策
» AI浪潮來襲!伺服器面臨高熱密度挑戰 Vertiv協助矽谷主機代管商在既有機房突破散熱瓶頸
» 英業達捐贈台大高效伺服器 引領學術研究高算力大未來


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.147.81.172
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw