隨筆-62  評論-29  文章-0  trackbacks-0
          Java Web Start 是幫助客戶機端應用程序開發的一個新技術,它的獨特之處在于將您從關心客戶機是如何啟動的(從 Web 瀏覽器或是桌面)中解放出來。另外,該技術提供了一個使 Web 服務器能獨立的分發和更新客戶機代碼的集合部署方案。軟件工程師 Steve Kim 介紹了該新技術(該技術預定將集成進Java 1.4 的最終發行版),并從開發者和用戶的角度進行了描述。您可以在 討論論壇與作者和其他讀者分享您對這篇文章的看法。

          在現今的不斷發展的軟件業市場,用戶強烈要求客戶機應用程序不但能運行在臺式機環境,還能運行在因特網。用戶希望他們從基于 Web 的應用程序獲得與從臺式機獲得的相同的功能和支持,而且最好是用瘦客戶機接口打包。目前,最通用的解決方案是開發兩個獨立的 Java 應用程序:一個作為臺式機應用程序執行,另一個模仿臺式機應用程序的多數功能,但是通過 Web 訪問。這對開發者是個負擔,開發者要寫兩個獨立的在不同的執行環境執行相同的功能的應用程序,然而對軟件公司也是個財政負擔,軟件公司被迫為兩個獨立的應用程序提供支持。為緩解該問題,Sun Microsystems 引進了 Java Web Start,它是個使 Java 應用程序可以從臺式機或 Web 頁面啟動的客戶機端技術。這消除了為 Web 應用程序開發 Java 支持的需要,而且還提供了一個有效方式來升級、維護和管理任何通用的 Web 服務器都支持的客戶端的 Java 應用程序。

          什么是 Java Web Start?

          Java Web Start 是一個軟件技術,它包含了 applet 的可移植性、Servlet 和 JavaServer Pages (JSP)的可維護性以及象 XML 和 HTML 這樣的標記語言的簡易性。它是基于 Java 的應用程序,允許從標準的 Web 服務器啟動、部署和更新功能完全的 Java 2 客戶機應用程序。在第一次啟動 Java Web Start 時,用戶可以從 Web 下載新的客戶機應用程序;之后這些應用程序可以通過 Web 頁面的鏈接或(Windows 中的)桌面圖標或“開始”菜單初始化。應用程序在 Java Web Start 下快速初始化,被高速緩存在客戶機,并且可以遠程的離線啟動。另外,因為 Java Web Start 是從 Java 2 技術建立起來的,所以它繼承了 Java 平臺的完整的安全性體系結構。

          由于 Java Web Start 自身是一個 Java 應用程序,所以該軟件是平臺獨立的,并且支持 Java 2 平臺的任何客戶機系統都支持該軟件。當客戶機應用程序啟動時,Java Web Start 自動執行更新,在從原來的高速緩存(倘若存在高速緩存)裝入應用程序的同時,從 Web 下載最新的代碼。Java Web Start 還提供了一個 Java 應用程序管理器(Java Application Manager)實用程序,既提供了多種選項,如清除下載的應用程序的高速緩存、指定多種 JRE 的使用、設置 HTTP 代理,還允許最終用戶組織他們的 Java 應用程序。





          回頁首


          Java Web Start 對 Java 插件

          Java Web Start 和 Java 插件的一個共同作用是:允許 Java 程序從任何地方、在任何平臺安全運行。兩種 Java 技術都提供了可以啟動和執行 Java 程序的“沙箱(sandbox)”安全環境,還具有高速緩存應用程序和指定使用的 JRE 的能力。Java Web Start 和 Java 插件的根本不同是 Java 插件限于在 Web 瀏覽器環境中運行的 Java applet。Java 插件嚴重的依賴于 Web 瀏覽器的 JRE,并且如果沒有瀏覽器就不能運行。另一方面,Java Web Start 可以在 Web 頁面單擊鏈接或是單擊 Java 應用程序管理器來啟動 Java 應用程序。在 Windows 操作系統中,用戶可以從開始菜單或是只要雙擊桌面圖標來啟動應用程序。如果瀏覽器窗口被關閉,從 Web 瀏覽器啟動的客戶機應用程序不會受到影響。

          盡管 Java Web Start 確實支持 Java applet,而且確實包含內置的 Appletviewer,但這個技術的最初目的是啟動和部署 Java 客戶機應用程序。某些約束,如 applet 的策略文件不受支持。





          回頁首


          用戶觀點的 Java Web Start

          Java Web Start 不僅允許開發者開發可從 Web 頁面啟動和執行的應用程序(不只是 applet),還強調了無需任何用戶交互就可以為現存的客戶機代碼提供透明更新的部署方案。為幫助您理解這個過程、幫助您決定是否為與 Java Web Start 的兼容性而開發自己的應用程序,我們將從用戶的觀點來看這個產品。我將從兩個基本的用戶場景(安裝 Java Web Start 和從使用 Java Web Start 的 Web 下載和啟動應用程序)的基本解釋開始。

          首次安裝 Java Web Start

          Java 插件無需用戶在客戶機安裝任何的應用程序,與 Java 插件不同,Java Web Start 必須要安裝在每臺用于從 Web 來啟動 Java 應用程序的客戶機。當用戶試圖用 Java Web Start 啟動一個基于 Web 的應用程序時,Web 瀏覽器將啟動 Java Web Start 從而開始下載適當的文件。

          如果 Java Web Start 安裝在本地機的話,那么需要的應用程序將正常的啟動和進行。另一方面,如果 Java Web Start 還沒安裝,用戶將被提示要下載該程序。一旦用戶同意下載 Java Web Start 并且已經下載了該文件,用戶就必須運行程序來安裝 Java Web Start,如圖 1 所示。


          圖 1. 安裝 Java Web Start
          安裝 Java Web Start

          在安裝過程中,Java Web Start 安裝程序將判斷在客戶機上是否安裝了 Java 2 環境。如果未安裝,將出現一個安裝對話框,如圖 2 所示。


          圖 2. Java Web Start 搜索 Java 2 環境
          搜索 Java 2 環境

          一旦裝好了 Java Web Start,就必須關閉所有的打開的 Web 瀏覽器。新的 MIME 標記(帶有 jnlp 擴展名)是為 Web 瀏覽器定義的,用于 Web 瀏覽器啟動自身(Web 服務器)和 Java Web Start 之間的聯系。(JNLP 是 Java Network Launching Protocol 的首字母縮略字。JNLP 文件確定哪些 JAR 文件和資源有助于客戶端的 Java 應用程序。)一旦 Web 瀏覽器被關閉并重新啟動,用戶可以再次單擊相同的鏈接來啟動所要的應用程序。Web 瀏覽器然后將與 Java Web Start 聯系,并且應用程序將開始啟動過程。

          “Developer's Guide for Java Web Start” (請參閱 參考資料)包含能夠查出本地是否安裝了 Java Web Start 的 JavaScript 和 Visual Basic 腳本。

          用 Java Web Start 啟動應用程序

          當用戶首次單擊一個鏈接來啟動一個客戶端的 Java 應用程序時,發生下面的過程:

          • Web 瀏覽器被指示運行 Java Web Start。
          • Java Web Start 以啟動閃屏開始
          • 然后 Java Web Start 與指定的 Web 服務器聯系,并且確定是否為所要的 Java 應用程序下載了所有的文件。
          • 把適當的文件下載到本地機。
          • Java Web Start 運行下載的應用程序。

          在整個安裝和啟動過程中,Java Web Start 與 Java Web Start 應用程序管理器一起提供了一個外觀和感覺一致的界面,同時還向用戶提供了反饋。圖 3 表示了當 Java Web Start 首次試圖啟動一個客戶機 Java 應用程序時出現的窗口。


          圖 3. Java Web Start 下載客戶機 JAR 文件

          Java Web Start 把一個應用程序下載到了本地機之后,客戶機程序就被執行了。將來,當程序再次從 Java Web Start 啟動時,Java Web Start 將試圖判定客戶機是否有應用程序的最新版本。在此過程中,用戶將可以看到一個與圖 4 所示的相似的窗口。


          圖 4. Java Web Start 檢查應用程序的版本

          從用戶的觀點來看,該窗口提供了該 Java 應用程序是在啟動過程還是在更新過程的可視化反饋。另外,進度條和文本反饋不僅通知用戶每個過程所需的時間,還讓用戶可以了解更新或啟動什么時候將完成。這也許是該產品的最有用的特性之一,它可以確保在應用程序的啟動過程的每一步都通知了用戶正在發生什么。





          回頁首


          圖形用戶界面(GUI)

          應用程序管理器的 GUI (圖形用戶界面)提供了一個簡單的卻合理的界面,該界面允許用戶在啟動應用程序時可以指定多種的選項。每次啟動應用程序管理器時,出現一個閃屏,如圖 5 所示。


          圖 5. 應用程序管理器閃屏
          應用程序管理器閃屏

          一旦閃屏消失,應用程序管理器的主窗口就顯示出來,如圖 6 所示。


          圖 6. 應用程序管理器的主窗口
          應用程序管理器的主窗口

          在 Applications 框中,可以看到和啟動所有的從 Java Web Start 啟動的應用程序。在下面的框中,提供了關于選中的 Java 應用程序的附加信息(在圖 6 中,即為 Draw 4),如供應商、可以獲得關于該應用程序的更多信息的主頁以及程序的描述。這條信息是直接從該應用程序的 JNLP 文件(稍后有更多關于 JNLP 的介紹)派生的。

          在 File Preferences,有讓用戶調整和校準的多種設置。盡管大多數設置已經由 Java Web Start 自動配置了,但仍然允許用戶覆蓋不同的設置,如代理設置,如下面的圖 7 所示。


          圖 7. 應用程序管理器的 Preferences 選項卡
          應用程序管理器的Preferences 選項卡

          用戶還可以指定當啟動應用程序時使用 JRE 的什么版本,如圖 8 所示。


          圖 8. 指定 JRE
          指定 JRE

          本質上,應用程序管理器的目的在于為管理所有的遵照 Java Web Start 指導方針和策略的應用程序提供了一個統一的實用程序。另外,應用程序管理器允許有經驗的用戶配置一些應用程序設置。這樣免除了一些開發者將在其它方面需要做的工作,比如寫腳本或批處理文件來啟動或配置應用程序。要注意應用程序管理器僅對為 Java 2 平臺編寫的而且與 Java Web Start 兼容的應用程序有用,注意到這一點是很重要的。實用程序不能查出駐留在本地機的其它 Java 應用程序。

          要考慮的問題

          當選擇是否為與 Java Web Start 兼容而開發應用程序時,明智的做法是對用戶體驗做全面考慮。

          • Java Web Start 必須安裝在每臺從 Web 或從 Java 應用程序管理器啟動客戶機 Java 應用程序的機器上。所以,雖然客戶機 Java 應用程序可以從 Web 頁面啟動,但如果最初沒有 Java Web Start 安裝在本地機上的話,該應用程序本身是不能啟動的;這樣 Web 瀏覽器僅提供啟動程序的方便的鏈接 ― 不多不少。
          • Java Web Start 僅對正確打包的并且依照 Java Web Start 指導方針的應用程序有用。另外,需要 Web 服務器,而且 Web 服務器必須正確的配置來解釋 所有的JNLP 和 MIME 標記。所以,除非下載的或是從 Web 啟動的所有的客戶機 Java 應用程序滿足了這些要求,每個客戶機 Java 應用程序才能從 Java Web Start 被啟動和被管理的。
          • 在用戶中也許有點關于 Java Web Start 和 Java 插件的應用程序與 applet 間的不同之處的困惑。用戶可能理解或還不理解為什么 Java Web Start 能管理和啟動許多的客戶機 Java 應用程序,卻不能與以 Java 插件運行的 Java Applets 建立任何連接,盡管事實是任一程序都可以從 Web 瀏覽器啟動。
          • 對于被要求去為僅僅一個客戶機應用程序而下載 Java Web Start 的用戶來說,可能又認為對一個客戶機 Java 應用程序的執行來說,Java Web Start 應用程序管理器的特性很累贅,安裝過程“麻煩”太多。
          • Java Web Start 僅能用于為 Java 2 平臺編寫的客戶機 Java 應用程序。
          • 當前,Java Web Start 可在 Windows 95/98/NT/2000、Linux 和 Solaris 操作系統上執行。




          回頁首


          為 Java Web Start 做開發

          從開發的觀點,您應該能象為常規的客戶端應用程序一樣能為與 Java Web Start 的兼容性編寫和設計代碼。您應該相對的不用擔心更新現存的客戶機代碼所需的打包問題和變通技術。下面是您在開發和部署 Java Web Start 的客戶端 Java 應用程序時需要依照的一些簡單的規則:

          • 應用程序可以作為針對 Java 2 平臺的獨立的應用程序正常的編寫。
          • 如果您的應用程序需要訪問本地系統,那么 JAR 文件中的每個條目都必須被簽名。
          • 應用程序的所有的文件必須保存在一個 JAR 文件集中,該文件集包含如圖像和聲音文件等資源。
          • 裝入資源(如圖像)的任何訪問都必須使用有類裝載器的 getResource 方法。請參閱下面的使用 getResource 方法示例的清單 1。

          清單 1. 使用 ClassLoader 對象從 JAR 文件裝入資源
          //Obtain the current classloader
                      ClassLoader classLoader = this.getClass().getClassLoader();
                      //Load the company logo image
                      Image companyLogo = classLoader.getResource("images/companyLogo.gif");
                      

          更新應用程序代碼

          從 Web 服務器首次下載一個應用程序時,應用程序的所有的相關的 JAR 文件被下載到了本地機。Java Web Start 將自動決定該把這些文件下載到何處,這是因為缺省的安全性協議(如本地磁盤存取)在起作用。下面將進一步討論安全性。

          從應用程序開發和維護的觀點來看,Java Web Start 使更新應用程序代碼很容易。因為下載的應用程序的所有文件必須包含在客戶機的 JAR 文件集中,您只需更新存儲在 Web 服務器的 JAR 文件集。Java Web Start 將根據下面將討論的版本編號方案來決定當應用程序最初被啟動時需要下載和更新客戶機的哪些文件和資源。每次用戶啟動一個應用程序時,Java Web Start 將與包含 JAR 文件集的 Web 服務器連接,并將下載適當的文件。注意客戶機可以下載的資源僅為 JAR 文件、圖像和 JNLP 文件。

          Java Web Start 使用 HTTP 請求來從 Web 服務器獲得資源文件,并且允許客戶機端 Java 應用程序從代理服務器或防火墻后執行。最初,Java Web Start 將既使用通用的代理自動配置腳本也試著檢測本地機的缺省 Web 瀏覽器中定義的代理設置。如果需要附加信息,可用應用程序管理器使用 Preferences 部分來指定端口和代理。





          回頁首


          Java Web Start 的核心:JNLP

          為使 Java 應用程序能用 Java Web Start 執行,您必須為應用程序創建一個 Java 網絡語言協議(Java Networking Language Protocol,JNLP)文件。JNLP 是一個為應用程序提供基本的元素和描述的 XML 文件。JNLP 符合規范號為 JSR 000056(請參閱 參考資料)的 Java Community Process (JCP)。

          JNLP 文件的目的如下:

          • 指定從 Web 服務器下載的 JAR 文件
          • 提供其它的可能的包需要
          • 指定系統屬性
          • 考慮到任何必要的運行時參數
          • 指定使用哪個版本的 Java 2 平臺

          JNLP 文件的一個示例

          JNLP 文件以一種與 Web 瀏覽器相似的方式(僅用 URL 而不是特定的文件名)來獲得并定位文件。清單 2 表示了 JNLP 文件的一個示例。


          清單 2. JNLP 文件的一個示例:clientApp.jnlp
          <?xml version="1.0" encoding="UTF-8"?>
                      <jnlp codebase=http://www.companySite.com/javaApp>
                      <href="clientApp.jnlp">
                      <information>
                      <title>This is my company's Java client application</title>
                      <vendor>Company name</vendor>
                      <icon href="companyLogo.gif"/>
                      <homepage ref="reference/tips.html">
                      <offline-allowed/>
                      </information>
                      <resources>
                      <j2se version=1.3/>
                      <jar href="companySong.jar" part="music" download="lazy"/>
                      </resources>
                      <resources os="Windows"/>
                      <nativelib="windowIconsForWindowOS.jar" part="windowIcons"
                      download="eager"/>
                      <application-desc main-class="com.company.ui.Client"/>
                      <security>
                      <all-permissions/>
                      </security>
                      </jnlp>
                      

          清單 2 的注釋

          接下來對 JNLP 文件的示例的評述也許在您創建自己的文件時對您有所幫助:

          • 第一行,您可以看到文件的編碼是 UTF-8 字符編碼。所以,當編輯 JNLP 文件時,最終文件要用與 JDK 一起提供的 native2ascii工具轉換來確保文件的編碼正確。
          • jnlp codebase 屬性用于在 JNLP 文件中指定所有的相關 URL。 href 屬性設置(要求的)是為了讓應用程序并入 Java Web Start 應用程序管理器。
          • information 標記(如 title、vendor 等)用于提供來自 Java Web Start 應用程序管理器的關于應用程序的附加信息。 homepage ref 屬性是專門用于指向 Web URL 從而用戶可以去提供了關于應用程序的更多的信息的 Web 頁面。最有趣的 information 標記是 offline-allowed 屬性;該屬性決定了客戶機 Java 應用程序是否能離線啟動。當離線運行客戶機 Java 應用程序時,Java Web Start 將繼續判定來自 Web 服務器的最新的文件;在多數情況下,這個方案將引起快速的超時(因為位置被指定要離線啟動),并且應用程序從本地高速緩存啟動。
          • resource 標記考慮到 JNLP 文件指定應用程序使用哪些 JAR 文件和如何下載 JAR 文件;即,是急切的還是不緊不慢的。這個特性在當用戶要下載大量的文件而對用戶來說不是所有的文件都是客戶機執行所需要的時是非常有幫助的。缺省的,多數資源是急切的下載的,在這樣情況下,JAR 文件和資源在應用程序啟動前被下載。不緊不慢的下載的資源只有當 Java 虛擬機(JVM)觸發從應用程序載入資源或文件時才被下載。不緊不慢的下載資源的一個示例是客戶機的幫助文件;考慮到了客戶機的更快的啟動和執行,只有在用戶實際上向客戶機請求幫助文件時,才會下載這些文件。然而,一旦用戶請求了一個幫助文件,在請求過程中適當的 JAR 就會被下載,并伴有一個通知用戶大致的下載時間的窗口。
          • JNLP 文件中最后一個有趣的標記是 security 屬性。缺省的,任何從 Java Web Start 客戶機啟動的 Java 應用程序在一個安全的、受限制的環境執行,該環境中不允許進行本地文件訪問、與其它計算機的網絡連接等等。然而,對于要對客戶機和網絡可以完全訪問的特性豐富的客戶機來說, all-permissions 值是用于給予客戶機完全訪問的權限的。為具有對本地機的完全訪問,Java 應用程序所使用和裝入的所有 JAR 文件和資源必須被數字簽名。安全性將在下面將進一步討論。




          回頁首


          JNLP 和 WAR 文件

          為與應用程序相關的 JNLP 文件和 JAR 文件提供更加方便有效的打包方案,Java Web Start 使 Web 壓縮文件(WAR)的分發成為可能。WAR 文件是一個目錄結構,它包含了一個與 JNLP 文件和 JAR 文件一起打包的 servlet,從而使整個包能夠方便的在 Web 服務器上部署。該 servlet 自身被打包在 jnlp-servlet.jar 文件里,包里還有 JnlpDownloadServlet 類作為主要的執行 Java 類,這個類將負責不同的任務,如:

          • 生成 JARDiff 文件
          • 根據 WAR 文件中的每個文件或每個目錄進行版本編號
          • 支持 JNLP 文件中定義的下載協議
          • 自動安裝 URL 到 JNLP 文件,從而免除對開發者要進行硬編碼 URL 的要求。

          為了從 Java Web Start 啟動應用程序,把應用程序和 WAR 文件打包在一起并非必需。然而,WAR 文件的加入可以改善存儲在 Web 服務器的文件的管理和升級。WAR 文件的主題對于本文的范圍來講實在是太冗長了。請參閱 參考資料來獲得與附加信息的聯系。





          回頁首


          Java Web Start 中的版本變化

          到目前為止,我們已經討論了想要實施 Java Web Start 的開發者和用戶所需的整體的部署和管理技術。在我們深入前,我要概括一下到目前為止我所講到的部署的步驟。

          • 應用程序所用的文件存儲在 JAR 文件。
          • 必須創建一個 JNLP 來通知 Java Web Start 應用程序使用哪些 JAR 文件、如何下載必要的文件等。
          • 一個標準的 Web 服務器被配置來接受被 Java Web Start 理解的 MIME 類型。
          • JAR 文件放在了 Web 服務器上。
          • 用戶需要下載和安裝 Java Web Start(僅一次)。
          • 用戶首次運行應用程序;JAR 文件被下載并執行。
          • 用戶可以再次運行應用程序,從 Java Web Start 應用程序管理器或 Web 頁面啟動。Java Web Start 將下載需要更新的全部文件,并且然后將啟動應用程序。

          從技術角度來說,這個總結可能會引發問題:Java Web Startf 是如何決定哪些文件是有必要更新的呢?答案很簡單:JNLP 文件。一個有版本標識的唯一的 URL與每個 JNLP 文件中定義的資源相關聯。如清單 3 所示。


          清單 3.JNLP文件中的一個基于版本的 JAR 文件的示例
          <jar href=http://www.companySite.com/javaApp/imageFiles.jar
                      version="1.1+">
                      

          當啟動了一個應用程序時,Java Web Start 檢查 JNLP 文件并創建一個有 URL 和版本標識的 HTTP GET 請求。如果沒有 version 屬性,那么 Java Web Start 就只是創建一個 JAR 文件的 HTTP GET 請求。Java Web Start 檢查 Web 服務器的響應狀態代碼和 MIME 類型來決定此 JAR 文件是否有更新的版本。

          JNLP 文件還允許使用 JARDiff 實用程序來遞增的更新 JAR 文件。 JARDiff 實用程序能只下載 JAR 文件中的特定文件(不是整個 JAR 文件本身),這樣使下載更快。請參閱 參考資料來獲得關于決定 JNLP 文件配置的更多信息。





          回頁首


          安全性

          也許在決定是否為了與 Java Web Start 兼容而開發應用程序時,需要考慮的最重要的問題就是安全性。Java Web Start 允許客戶端 Java 應用程序訪問各種本地機資源,如文件訪問、剪貼板訪問等。源自 Java 2 平臺,該產品繼承了該平臺的安全性體系結構。如前面提到的,在 JNLP 文件中定義的 security 屬性決定了當應用程序通過 Java Web Start 啟動時所能有的安全性級別。缺省的,使用受限環境,為應用程序授權對網絡和本地機的有限的訪問。如同使用 applet 沙箱(sandbox),這樣可以保證惡意的應用程序不能造成任何破壞。

          Java Web Start 的安全性的另一重要元素是數字簽名的使用。當啟動或更新一個應用程序時,它的 JAR 文件被下載到客戶機。Java Web Start 用那些文件中的數字編碼來判定在對文件初始簽名之后,是否有 JAR 文件已經被修改或改變。如果有不一致的或是文件尚未被簽名,應用程序就不能從 Java Web Start 啟動。正確簽名的應用程序可以訪問本地機。

          用戶授權安全性

          當運行要對本地機無限制訪問的應用程序時,用戶最初將看到一個對話框,該對話框說明了應用程序的出處或供應商,并且允許用戶給應用程序授予額外的權限。此外,當應用程序要求使用本地機的資源并且還沒有被簽名的 JAR 文件時,Java Web Start 將允許用戶通過一個 Security Advisory 對話框顯式的授予應用程序訪問權限。例如,如果客戶機 Java 應用程序需要能把信息粘貼到 Windows 操作系統剪貼板工具,將出現一個與圖 9 相似的對話框。


          圖 9. 應用程序試圖訪問剪貼板的 Security Advisory 對話框
          SecurityAdvisory 對話框 1

          當應用程序試圖訪問客戶機的本地資源(如文件系統)時,將出現另外的對話框窗口,如圖 10 所示。


          圖 10. 應用程序試圖訪問文件系統時的 Security Advisory 對話框
          Security Advisory 對話框 2

          用戶可以在以下方面授予應用程序對本地機的訪問權限:

          • 在本地機存儲應用程序的當前狀態
          • 查看本地文件的內容
          • 保存文件到本地機
          • 本地機打開文件
          • 在本地機對隨機存取文件讀/寫
          • 從本地機打印

          JNLP API 庫中的很多的類允許開發者在不可靠的環境使用系統的資源,由用戶來負責決定操作是否是允許的。





          回頁首


          結論

          Java Web Start 提供一個創造性的解決方案來開發和部署客戶機端的 Java 應用程序。呈現給用戶啟動、更新和管理 Java 應用程序的很多種的選項。Java 開發者獲得了設計軟件的自由,無須過多的關注代碼的修訂、更新和分布。盡管這是個新技術,但 Java Web Start 是定義工業標準的一個嘗試。偕同已被證明的 Java 2 安全性體系結構中的基礎,Java Web Start 有潛力為從 Web 或桌面啟動和部署的 Java 應用程序建立一個通用的、一致的協議。



          posted on 2009-04-13 16:12 閱讀(304) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 河津市| 贡觉县| 平陆县| 民勤县| 扎囊县| 广丰县| 南和县| 屏东县| 岱山县| 丽江市| 和林格尔县| 两当县| 兴安县| 镇雄县| 内丘县| 额尔古纳市| 永丰县| 德惠市| 九台市| 顺义区| 龙江县| 虎林市| 乌兰县| 黄平县| 花垣县| 蚌埠市| 大城县| 英吉沙县| 泸西县| 福建省| 尉犁县| 郎溪县| 通州区| 新兴县| 三明市| 安仁县| 红桥区| 乌拉特前旗| 景泰县| 洞头县| 禹州市|