專利名稱:控制運行的應(yīng)用程序以便進行實時場景圖編輯的制作方法
控制運行的應(yīng)用程序以便進行實時場景圖編輯
背景技術(shù):
現(xiàn)代計算機應(yīng)用程序可存儲在地理上遙遠的多個位置,或者存儲在世界各地的多個計算機上,以便向最終用戶提供對應(yīng)用程序的便利訪問。另外,最終用戶可能嚴重依賴于這種應(yīng)用程序,以致對這種應(yīng)用程序的訪問的中斷可能導致重大的社會和金融挫折。當部署新版本的應(yīng)用程序時,典型的計算機應(yīng)用程序會在一段時間內(nèi)不能供最終用戶使用。此外,對典型計算機應(yīng)用程序做出的改變只有在做出所述改變之后重新部署所述應(yīng)用程序時才能觀察到。
發(fā)明內(nèi)容
一般來說,在一個方面,本發(fā)明涉及一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)包括執(zhí)行一種方法的軟件指令,所述方法包括由內(nèi)容服務(wù)器從客戶端接收對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與第一 Java網(wǎng)絡(luò)加載協(xié)議(Java network launch protocol, JNLP)文件相關(guān)聯(lián),響應(yīng)于所述第一請求,提供所述應(yīng)用程序內(nèi)容文件;從客戶端接收編輯所述應(yīng)用程序內(nèi)容文件的第二請求,響應(yīng)于所述第二請求,向客戶端提供應(yīng)用程序設(shè)計器工具;從客戶端接收利用所述應(yīng)用程序設(shè)計器工具生成的變更的應(yīng)用程序內(nèi)容文件,生成與變更的應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的第二 JNLP文件,和把第二 JNLP文件提供給 web服務(wù)器。一般來說,在一個方面,本發(fā)明涉及一種系統(tǒng)。所述系統(tǒng)包括內(nèi)容服務(wù)器,所述內(nèi)容服務(wù)器包括處理器,應(yīng)用程序內(nèi)容文件,和配置成存儲指令的存儲器,其中當被處理器執(zhí)行時,所述指令使內(nèi)容服務(wù)器從客戶端接收對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與第一 Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián),響應(yīng)于所述第一請求,提供所述應(yīng)用程序內(nèi)容文件;從客戶端接收編輯所述應(yīng)用程序內(nèi)容文件的第二請求,響應(yīng)于所述第二請求,向客戶端提供應(yīng)用程序設(shè)計器工具;從客戶端接收利用所述應(yīng)用程序設(shè)計器工具生成的變更的應(yīng)用程序內(nèi)容文件,生成與變更的應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的第二 JNLP文件,和把第二 JNLP文件提供給web服務(wù)器。一般來說,在一個方面,本發(fā)明涉及一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)包括執(zhí)行一種方法的軟件指令,所述方法包括由客戶端向web服務(wù)器發(fā)送對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián),從響應(yīng)于第一請求的web服務(wù)器接收JNLP文件,向內(nèi)容服務(wù)器發(fā)送第二請求,其中第二請求包含至少一部分的JNLP文件,從響應(yīng)于第二請求的內(nèi)容服務(wù)器接收應(yīng)用程序內(nèi)容文件,向內(nèi)容服務(wù)器發(fā)送編輯應(yīng)用程序內(nèi)容文件的第二請求,從響應(yīng)于第三請求的內(nèi)容服務(wù)器接收給客戶端的應(yīng)用程序設(shè)計器工具,利用應(yīng)用程序設(shè)計器工具編輯應(yīng)用程序內(nèi)容文件,以獲得變更的內(nèi)容文件,向內(nèi)容服務(wù)器發(fā)送包含變更的內(nèi)容文件的第四請求。
圖1表示根據(jù)本發(fā)明的一個或多個實施例的系統(tǒng)。
圖2表示根據(jù)本發(fā)明的一個或多個實施例的流程圖。圖3表示根據(jù)本發(fā)明的一個或多個實施例的流程圖。圖4表示根據(jù)本發(fā)明的一個或多個實施例的例子。圖5表示根據(jù)本發(fā)明的一個或多個實施例的計算機系統(tǒng)。
具體實施例方式
下面參考附圖,說明本發(fā)明的示例性實施例。附圖中的相似項目用相同的附圖標記表不。在本發(fā)明的實施例中,為了更透徹地理解本發(fā)明,闡述了眾多的具體細節(jié)。不過, 顯然對本領(lǐng)域技術(shù)人員來說,可在沒有這些具體細節(jié)的情況下實施本發(fā)明。在其它情況下, 為了避免模糊本發(fā)明,未詳細說明公知的特征。一般來說,本發(fā)明的實施例涉及控制運行的JavaFX應(yīng)用程序,以便進行實時場景圖編輯(live scene graph editing)。更具體地說,本發(fā)明的實施例涉及在不中斷用戶對應(yīng)用程序的訪問的情況下,編輯部署的(即,最終用戶可訪問的)JavaFX應(yīng)用程序的內(nèi)容和行為的方法和系統(tǒng)(Java 禾口JavaFX 是 Sun Microsystems, Inc.,Mountain View, CA 擁有的注冊商標)。圖1表示根據(jù)本發(fā)明的一個實施例的系統(tǒng)。系統(tǒng)包括用戶瀏覽器(100),Web服務(wù)器(102)和內(nèi)容服務(wù)器(104)。用戶瀏覽器(100)包括Web啟動小程序(106),F(xiàn)X設(shè)計器運行時實例(108),JavaFX應(yīng)用程序?qū)嵗?110)和FX設(shè)計器工具實例(112)。Web服務(wù)器 (102)包括Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件(114)。內(nèi)容服務(wù)器(104)包括FX設(shè)計器運行時文件(116),JaVaFX應(yīng)用程序內(nèi)容文件(118)和FX設(shè)計器工具文件(120)。下面詳細地分別討論這些組件。在本發(fā)明的一個實施例中,用戶瀏覽器(100)是在用戶計算機系統(tǒng)(未示出)上運行的用于與因特網(wǎng)內(nèi)容交互作用的應(yīng)用程序。用戶瀏覽器可以是本領(lǐng)域中已知的能夠運行Web啟動小程序(106)的任何因特網(wǎng)瀏覽器,其例子可包括hternet Explorer 瀏覽器anternet Explorer 是Microsoft Corp.擁有的注冊商標),F(xiàn)kefox 瀏覽器
(Firefox 是Mozilla inundation擁有的注冊商標),Safari 瀏覽器(Safari 是Apple Computer, Inc.擁有的注冊商標),和 GoogleChrome 瀏覽器(Google Chrome 是 Google, Inc.擁有的商標)。在本發(fā)明的一個實施例中,在用戶的控制下,用戶瀏覽器(100)可導航到用來作為JavaFX應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110))的宿主的網(wǎng)頁。在本發(fā)明的一個實施例中,所述網(wǎng)頁包括對與嵌入的JavaFX應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110)) 相關(guān)聯(lián)的JNLP文件(114)的引用。在本發(fā)明的一個實施例中,用戶瀏覽器(100)被配置成向Web服務(wù)器(102)請求JNLP文件(114)。在本發(fā)明的一個實施例中,Web服務(wù)器(102)被配置成通過向用戶瀏覽器(100) 提供與JavaFX應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110))相關(guān)聯(lián)的JNLP文件(例如, JNLP文件(114)),來響應(yīng)用戶瀏覽器(100)對JavaFX應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110))的請求。在本發(fā)明的一個實施例中,Web服務(wù)器(102)是在計算機系統(tǒng)(未示出)上運行的,配置成響應(yīng)通過網(wǎng)絡(luò)(例如,局域網(wǎng),廣域網(wǎng),因特網(wǎng)等)發(fā)送的請求的的應(yīng)用程序。在本發(fā)明的一個實施例中,Web服務(wù)器(102)可存儲多于一個JNLP文件(例如, JNLP文件(114))。此外,每個JNLP文件可以與一個不同的應(yīng)用程序相關(guān)聯(lián),多個JNLP文件 (例如,JNLP文件(114))可以與同一應(yīng)用程序的不同版本相關(guān)聯(lián)。在本發(fā)明的一個實施例中,用戶瀏覽器(100)被配置成響應(yīng)于從Web服務(wù)器(例如,Web服務(wù)器(102))接收到JNLP 文件(例如,JNLP文件(114)),實例化Web啟動小程序(例如,Web啟動小程序(106))。在本發(fā)明的一個實施例中,用戶瀏覽器(100)可把接收的JNLP文件(例如,JNLP文件(114)) 直接提供給Web啟動小程序(106)。在本發(fā)明的一個實施例中,Web啟動小程序(106)利用相關(guān)聯(lián)的JNLP文件(例如,JNLP文件(114)),在用戶瀏覽器(100)內(nèi)創(chuàng)建能夠初始化Java應(yīng)用程序軟件(例如, JavaFX應(yīng)用程序?qū)嵗?110))的平臺。更具體地說,在本發(fā)明的一個實施例中,Web啟動小程序(106)包括取回和執(zhí)行能夠運行與JNLP文件(114)相關(guān)聯(lián)的Java應(yīng)用程序(例如, JavaFX應(yīng)用程序?qū)嵗?110))的Java運行時環(huán)境(JRE)(例如,F(xiàn)X設(shè)計器運行時實例(108)) 的功能。在本發(fā)明的一個實施例中,JNLP文件(114)包括用于取回和執(zhí)行JavaFX應(yīng)用程序?qū)嵗?110)的所有必需信息。所述信息可包括FX設(shè)計器運行時文件(114)、應(yīng)用程序內(nèi)容文件(116)和FX設(shè)計器工具文件(118)的網(wǎng)絡(luò)位置。所述信息還可以包括為運行Java 應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110))所必需的JRE(例如,F(xiàn)X設(shè)計器運行時實例 (108))的版本號、配置和網(wǎng)絡(luò)位置。此外,所述信息可指定用于給定計算機配置的JRE的版本號、配置和網(wǎng)絡(luò)位置。例如,JNLP文件(例如,JNLP文件(114))可提供基于計算機的硬件規(guī)范、軟件規(guī)范或網(wǎng)絡(luò)通信速率的獨立版本、配置和網(wǎng)絡(luò)位置的有關(guān)信息。本領(lǐng)域的技術(shù)人員可理解其它信息可包括在JNLP文件(114)中。在本發(fā)明的一個實施例中,Web啟動小程序(106)利用JNLP文件(例如,JNLP文件(114))確定FX設(shè)計器運行時(例如,F(xiàn)X設(shè)計器運行時(108))的位置和配置。Web啟動小程序(106)還可以包括向內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104))請求與FX設(shè)計器運行時(例如,F(xiàn)X設(shè)計器運行時文件(116))相關(guān)聯(lián)的文件的功能。FX設(shè)計器運行時文件(116) 可被Web啟動小程序(例如,Web啟動小程序(106))用于實例化FX設(shè)計器運行時實例(例如,F(xiàn)X設(shè)計器運行時實例(108))。此外,Web啟動小程序(106)可包括把用戶瀏覽器(例如,用戶瀏覽器(100))提供的JNLP文件(例如,JNLP文件(114))提供給FX設(shè)計器運行時實例(例如,F(xiàn)X設(shè)計器運行時實例(108))的功能。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時實例(108)是包括利用JNLP文件(例如,JNLP文件(114))的內(nèi)容來取回和執(zhí)行與JNLP文件(例如,JNLP文件(114))相關(guān)聯(lián)的 Java應(yīng)用程序(例如,JavaFX應(yīng)用程序?qū)嵗?110))的功能的JRE。JRE(或者更具體地說, JRE的實例(例如,F(xiàn)X設(shè)計器運行時實例(108)))提供操作系統(tǒng)和運行于JRE實例內(nèi)的應(yīng)用程序之間的一層軟件。JRE實例包括使應(yīng)用程序相對于主機的底層操作系統(tǒng)和硬件不可知的的功能。換句話說,具有在JRE實例內(nèi)運行的能力的應(yīng)用程序可在能夠運行兼容JRE 實例的任何機器上運行。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時實例(108)向內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104))請求內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時實例(108)利用內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件 (118))加載(launch)應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110)。在本發(fā)明的一個實施例中,JavaFX應(yīng)用程序內(nèi)容文件(118)包括實例化應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))所需的所有文件。JavaFX應(yīng)用程序內(nèi)容文件(118)可包括例如程序代碼(例如,Java類,Java檔案等),圖形文件,音頻文件等等。在本發(fā)明的一個實施例中, JavaFX應(yīng)用程序內(nèi)容文件(118)可分布在多于一個內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104)) 上。在本發(fā)明的一個實施例中,一些JavaFX應(yīng)用程序內(nèi)容文件(118)只有當為運行的應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))所需時才被取回。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器(104)是可以包括內(nèi)容管理軟件(例如, Mercurial,并發(fā)版本系統(tǒng)(CVS))的計算系統(tǒng)。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器 (104)存儲運行應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))必需的所有文件,包括 FX設(shè)計器運行時文件(例如,F(xiàn)X設(shè)計器運行時文件(116))和內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))。另外,內(nèi)容服務(wù)器(104)還可以維護對寄宿的文件(例如,F(xiàn)X設(shè)計器運行時文件(116)、JavaFX應(yīng)用程序內(nèi)容文件(118))做出的改變的記錄。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器(104)包括生成與FX設(shè)計器運行時文件(例如,F(xiàn)X設(shè)計器運行時文件(116))和內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))相關(guān)聯(lián)的JNLP文件 (例如,JNLP文件(114))的功能。在本發(fā)明的一個實施例中,當FX設(shè)計器運行時文件(例如,F(xiàn)X設(shè)計器運行時文件(116))或內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))被變更時,內(nèi)容服務(wù)器(104)自動生成更新的JNLP文件(例如,JNLP文件(114))。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器(104)還包括把更新的JNLP文件(例如,JNLP文件(114))傳送給web服務(wù)器(例如,Web服務(wù)器(102))的功能。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時實例(108)可接收編輯JavaFX應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))的請求。在本發(fā)明的一個實施例中,通過應(yīng)用程序的實例(例如,JavaFX應(yīng)用程序?qū)嵗?110))接收該請求。在本發(fā)明的一個實施例中, 通過FX設(shè)計器運行時實例(例如,F(xiàn)X設(shè)計器運行時實例(108))接收該請求。在本發(fā)明的一個實施例中,所述請求可以是只為應(yīng)用程序的作者所知的用戶輸入的組合,從而只允許作者編輯該應(yīng)用程序(例如,文本密碼,有序的一系列鼠標點擊,等等)。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器(104)通過向發(fā)出請求的FX設(shè)計器運行時實例(例如,F(xiàn)X設(shè)計器運行時實例(108))提供FX設(shè)計器工具文件(例如,F(xiàn)X設(shè)計器工具文件(120)),來對編輯應(yīng)用程序的請求作出響應(yīng)。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時實例(108)利用FX設(shè)計器工具文件(例如,F(xiàn)X設(shè)計器工具文件(120))創(chuàng)建FX設(shè)計器工具實例(例如,F(xiàn)X設(shè)計器工具實例(112))。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器工具實例(112)包括變更內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))的功能。更具體地說,F(xiàn)X設(shè)計器工具實例(112)可以包括變更存在于用戶的計算機系統(tǒng)(例如,運行用戶瀏覽器(100)的計算機系統(tǒng))上的內(nèi)容文件(未示出)的副本的功能。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器工具實例(112)包括與應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))的執(zhí)行同時地變更內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))的副本的功能。另外, 對JavaFX應(yīng)用程序內(nèi)容文件做出的改變可被立即合并到在用戶的計算機上運行的應(yīng)用程序?qū)嵗?例如,JavaFX應(yīng)用程序?qū)嵗?110))中。此外,在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器工具實例(11 包括把變更的內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))發(fā)給內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104))的功能。在本發(fā)明的一個實施例中,至少在變更的內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))被發(fā)送給內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104))之前,變更的JavaFX應(yīng)用程序內(nèi)容文件只是在作者的計算機(例如,運行用戶瀏覽器(100)的計算機)上可用。在本發(fā)明的一個實施例中,多于一個用戶可同時執(zhí)行JavaFX應(yīng)用程序的實例(例如,JavaFX應(yīng)用程序?qū)嵗?110))。此外,在本發(fā)明的一個實施例中,在第二用戶變更內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))時,第一用戶可同時向內(nèi)容服務(wù)器(例如,內(nèi)容服務(wù)器(104))請求內(nèi)容文件(例如,JavaFX應(yīng)用程序內(nèi)容文件(118))。圖2表示根據(jù)本發(fā)明的一個或多個實施例,加載應(yīng)用程序的流程圖。在本發(fā)明的一個或多個實施例中,圖2中所示的一個或多個步驟可被省略、重復(fù)和/或按與圖2中所示順序不同的順序執(zhí)行。因而,圖2中所示步驟的具體排列不應(yīng)被解釋成對本發(fā)明的范圍的限制。在步驟210,客戶端向Web服務(wù)器請求應(yīng)用程序。在本發(fā)明的一個實施例中,客戶端是受用戶控制的用戶瀏覽器。在本發(fā)明的一個實施例中,客戶端向Web服務(wù)器發(fā)送對 JavaFX應(yīng)用程序的請求,而不具體請求JNLP文件。在步驟212,Web服務(wù)器把與應(yīng)用程序相關(guān)聯(lián)的JNLP文件提供給客戶端。在步驟214,客戶端把JNLP文件載入(Ioad)Web啟動小程序中。在步驟216,Web啟動小程序向內(nèi)容服務(wù)器請求與JNLP文件相關(guān)聯(lián)的FX設(shè)計器運行時文件。在本發(fā)明的一個實施例中,F(xiàn)X設(shè)計器運行時文件被用于創(chuàng)建FX設(shè)計器運行時實例。在步驟218,Web啟動小程序向內(nèi)容服務(wù)器請求應(yīng)用程序內(nèi)容文件。在本發(fā)明的一個實施例中,該請求由FX設(shè)計器運行時發(fā)起。在本發(fā)明的一個實施例中,只請求為加載程序所必需的文件。在本發(fā)明的一個實施例中,應(yīng)用程序內(nèi)容文件包括Java檔案文件。在步驟 220,F(xiàn)X設(shè)計器運行時載入應(yīng)用程序內(nèi)容文件,并加載該應(yīng)用程序。在本發(fā)明的一個實施例中,應(yīng)用程序內(nèi)容文件包括描述應(yīng)用程序的行為的一個或多個文件(例如,Java類)。在本發(fā)明的一個實施例中,利用所有應(yīng)用程序內(nèi)容文件的子集,加載應(yīng)用程序。在本發(fā)明的一個實施例中,根據(jù)應(yīng)用程序?qū)嵗男枰?,向?nèi)容服務(wù)器請求應(yīng)用程序內(nèi)容文件。圖3表示根據(jù)本發(fā)明的一個或多個實施例加載和編輯應(yīng)用程序的流程圖。在本發(fā)明的一個或多個實施例中,圖3中所示的一個或多個步驟可被省略、重復(fù)和/或按與圖3中所示順序不同的順序執(zhí)行。因而,圖3中所示步驟的具體排列不應(yīng)被解釋成對本發(fā)明的范圍的限制。在步驟310,客戶端經(jīng)Web啟動小程序,向Web服務(wù)器發(fā)送編輯應(yīng)用程序的請求。 在本發(fā)明的一個實施例中,可在關(guān)于圖2說明的步驟之后進行步驟310。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器通過向Web啟動小程序發(fā)送FX設(shè)計器工具文件來做出響應(yīng)。在步驟 312,Web啟動小程序載入與該應(yīng)用程序相關(guān)聯(lián)的FX設(shè)計器工具,從而創(chuàng)建FX設(shè)計器工具實例。在步驟314,客戶端利用FX設(shè)計器工具實例,變更應(yīng)用程序內(nèi)容文件。在本發(fā)明的一個實施例中,變更應(yīng)用程序內(nèi)容文件可包括對圖形或音頻文件做出改變。在本發(fā)明的一個實施例中,變更應(yīng)用程序內(nèi)容文件可包括編輯指示應(yīng)用程序中的要素的行為的代碼。在本發(fā)明的一個實施例中,利用FX設(shè)計器工具,編輯應(yīng)用程序內(nèi)容文件。在步驟316,客戶端發(fā)送提交對應(yīng)用程序內(nèi)容文件的改變的請求。在步驟318,新的應(yīng)用程序內(nèi)容文件被保存在內(nèi)容服務(wù)器上。在步驟320,Web服務(wù)器參照新的應(yīng)用程序內(nèi)容文件,更新JNLP文件。在本發(fā)明的一個實施例中,參照變更的應(yīng)用程序內(nèi)容文件,生成新的JNLP文件。圖4表示根據(jù)本發(fā)明的一個實施例的示例性通信時間線。該示例性時間線并不意圖限制本發(fā)明的范圍。此外,對該示例性附圖來說不必要的一些元件已被省略。如圖4中所示,示例性的通信時間線包括內(nèi)容服務(wù)器000)、客戶端A(402)、Web服務(wù)器^)4)和客戶端B之間,在一段時間內(nèi)的請求和響應(yīng)。在步驟410,客戶端M402)向Web服務(wù)器(404)請求應(yīng)用程序。在步驟412,Web 服務(wù)器(404)通過提供與該應(yīng)用程序相關(guān)聯(lián)的JNLP文件,來響應(yīng)所述請求。在步驟414, 客戶端A(402)利用JNLP文件來定位為執(zhí)行該應(yīng)用程序所必需的文件,并且向內(nèi)容服務(wù)器 (400)請求這些文件。在步驟416,內(nèi)容服務(wù)器(400)把與該應(yīng)用程序相關(guān)聯(lián)的FX設(shè)計器運行時文件提供給客戶端AG02)。在步驟418,客戶端A(4(^)請求與該應(yīng)用程序相關(guān)聯(lián)的應(yīng)用程序內(nèi)容文件。在步驟420,內(nèi)容服務(wù)器(400)把應(yīng)用程序內(nèi)容文件提供給客戶端 A(402)o在步驟422,客戶端A (40 執(zhí)行應(yīng)用程序。繼續(xù)示例性的圖4的討論,在步驟424,客戶端B(406)向Web服務(wù)器(404)請求該應(yīng)用程序。在步驟426,Web服務(wù)器(404)通過把與該應(yīng)用程序相關(guān)聯(lián)的JNLP文件提供給客戶端B 006),來響應(yīng)所述請求。在步驟428,客戶端B (406)利用JNLP文件來定位為執(zhí)行該應(yīng)用程序所必需的文件,并且向內(nèi)容服務(wù)器(400)請求這些文件。在步驟430,內(nèi)容服務(wù)器(400)把與該應(yīng)用程序相關(guān)聯(lián)的FX設(shè)計器運行時文件和應(yīng)用程序內(nèi)容文件提供給客戶端^406)。在步驟432,客戶端B (406)執(zhí)行該應(yīng)用程序。在步驟432,客戶端A (40 和客戶端B(406)都在執(zhí)行應(yīng)用程序的相同版本。在步驟434,客戶端A (402)向內(nèi)容服務(wù)器(400)發(fā)送編輯應(yīng)用程序的請求。在步驟436,內(nèi)容服務(wù)器(400)通過向客戶端A(4(^)提供FX設(shè)計器工具文件,來做出響應(yīng)。在步驟438,客戶端A (40 載入FX設(shè)計器工具,并編輯應(yīng)用程序內(nèi)容文件。在步驟440,客戶端A(402)向內(nèi)容服務(wù)器(400)指出應(yīng)用程序內(nèi)容文件已變更,更新的應(yīng)用程序內(nèi)容文件被發(fā)送給內(nèi)容服務(wù)器G00)。在步驟442之前,客戶端A (40 執(zhí)行應(yīng)用程序的新版本。同時, 客戶端B(406)執(zhí)行缺少在步驟440中發(fā)送給內(nèi)容服務(wù)器的更新的原始應(yīng)用程序。在步驟 442,內(nèi)容服務(wù)器(400)通知Web服務(wù)器004),應(yīng)用程序已被更新。在本發(fā)明的一個實施例中,內(nèi)容服務(wù)器(400)生成新的JNLP,并傳送給Web服務(wù)器004)。在本發(fā)明的一個實施例中,Web服務(wù)器(404)利用內(nèi)容服務(wù)器(400)提供的信息,生成新的JNLP文件。繼續(xù)示例性的圖4的討論,在步驟444,客戶端B (406)終止在步驟432實例化的應(yīng)用程序的實例。在步驟446,客戶端B (406)向Web服務(wù)器(404)請求該應(yīng)用程序。在步驟448,Web服務(wù)器(404)通過向客戶端B(406)提供與更新的應(yīng)用程序相關(guān)聯(lián)的新的JNLP 文件,來響應(yīng)所述請求。在步驟450,客戶端B (406)利用新的JNLP文件來定位為執(zhí)行更新的應(yīng)用程序所必需的更新文件,并向內(nèi)容服務(wù)器(400)請求這些文件。在步驟452,內(nèi)容服務(wù)器(400)把與更新的應(yīng)用程序相關(guān)聯(lián)的FX設(shè)計器運行時文件和應(yīng)用程序內(nèi)容文件提供給客戶端W406)。在步驟454,客戶端B (406)執(zhí)行更新的應(yīng)用程序。在步驟454,客戶端 A(402)和客戶端B(406)都在執(zhí)行應(yīng)用程序的更新版本。本發(fā)明的實施例實質(zhì)上可以在任何種類的計算機上實現(xiàn),而不管使用的平臺。例如,如圖5中所示,連網(wǎng)計算機系統(tǒng)(500)包括處理器(502),相關(guān)聯(lián)的存儲器(504),存儲裝置(506),和現(xiàn)今的計算機典型的眾多其它元件和功能(未示出)。連網(wǎng)計算機系統(tǒng)(500) 還可包括輸入裝置,比如鍵盤(508)和鼠標(510),和輸出裝置,比如監(jiān)視器(51 。連網(wǎng)計算機系統(tǒng)(500)經(jīng)網(wǎng)絡(luò)接口連接(未示出),連接到局域網(wǎng)(LAN)或廣域網(wǎng)。本領(lǐng)域的技術(shù)人員可以理解這些輸入和輸出裝置可以采取其它形式。此外,本領(lǐng)域的技術(shù)人員可以理解上述計算機(500)的一個或多個元件可以位于遠程位置,并通過網(wǎng)絡(luò)與其它元件連接。此夕卜,執(zhí)行本發(fā)明的實施例的軟件指令可存儲在計算機可讀介質(zhì),比如光盤(CD)、磁盤、磁帶或任何其它物理計算機可讀存儲裝置上。 雖然關(guān)于有限數(shù)目的實施例說明了本發(fā)明,不過受益于本公開,本領(lǐng)域的技術(shù)人員會理解可以設(shè)計出不脫離這里公開的本發(fā)明的范圍的其它實施例。因而,本發(fā)明的范圍只應(yīng)由附加的權(quán)利要求限定。
權(quán)利要求
1.一種方法,包括由內(nèi)容服務(wù)器從客戶端接收對應(yīng)用程序內(nèi)容文件的第一請求,其中該應(yīng)用程序內(nèi)容文件與第一 Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián);響應(yīng)于所述第一請求,提供所述應(yīng)用程序內(nèi)容文件;從客戶端接收編輯所述應(yīng)用程序內(nèi)容文件的第二請求;響應(yīng)于所述第二請求,向客戶端提供應(yīng)用程序設(shè)計器工具;從客戶端接收利用所述應(yīng)用程序設(shè)計器工具生成的變更的應(yīng)用程序內(nèi)容文件;生成與變更的應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的第二 JNLP文件;和把第二 JNLP文件提供給web服務(wù)器。
2.根據(jù)權(quán)利要求1所述的方法,其中所述方法還包括由內(nèi)容服務(wù)器從后來的客戶端接收第三請求,其中第三請求包含至少一部分的第二 JNLP文件;和響應(yīng)于第三請求,向所述后來的客戶端提供變更的應(yīng)用程序內(nèi)容文件。
3.根據(jù)權(quán)利要求1或2所述的方法,其中所述應(yīng)用程序內(nèi)容文件是多個應(yīng)用程序內(nèi)容文件之一。
4.根據(jù)任意前述權(quán)利要求所述的方法,其中第一JNLP文件包含所述應(yīng)用程序內(nèi)容文件的網(wǎng)絡(luò)位置。
5.根據(jù)任意前述權(quán)利要求所述的方法,其中響應(yīng)于內(nèi)容服務(wù)器提供所述應(yīng)用程序內(nèi)容文件,客戶端執(zhí)行與所述應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的至少一個文件。
6.根據(jù)任意前述權(quán)利要求所述的方法,其中所述應(yīng)用程序內(nèi)容文件是Java檔案。
7.根據(jù)任意前述權(quán)利要求所述的方法,其中內(nèi)容服務(wù)器和web服務(wù)器在第一計算系統(tǒng)上運行,其中客戶端在第二計算系統(tǒng)上運行。
8.一種方法,包括由客戶端向web服務(wù)器發(fā)送對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián);從響應(yīng)于第一請求的web服務(wù)器接收JNLP文件;向內(nèi)容服務(wù)器發(fā)送第二請求,其中第二請求包含至少一部分的JNLP文件;從響應(yīng)于第二請求的內(nèi)容服務(wù)器接收應(yīng)用程序內(nèi)容文件;向內(nèi)容服務(wù)器發(fā)送編輯所述應(yīng)用程序內(nèi)容文件的第二請求;從響應(yīng)于第三請求的內(nèi)容服務(wù)器接收給客戶端的應(yīng)用程序設(shè)計器工具;利用應(yīng)用程序設(shè)計器工具編輯所述應(yīng)用程序內(nèi)容文件,以獲得變更的內(nèi)容文件;和向內(nèi)容服務(wù)器發(fā)送包含變更的內(nèi)容文件的第四請求。
9.根據(jù)權(quán)利要求8所述的方法,其中所述方法還包括由客戶端向web服務(wù)器發(fā)送對所述應(yīng)用程序內(nèi)容文件的第五請求; 從響應(yīng)于第五請求的web服務(wù)器接收新的JNLP文件;向內(nèi)容服務(wù)器發(fā)送第六請求,其中第六請求包含至少一部分的所述新的JNLP文件; 從響應(yīng)于第六請求的內(nèi)容服務(wù)器接收變更的應(yīng)用程序內(nèi)容文件。
10.根據(jù)權(quán)利要求8或9所述的方法,其中應(yīng)用程序內(nèi)容文件是多個應(yīng)用程序內(nèi)容文件之一。
11.根據(jù)權(quán)利要求8-10任意之一所述的方法,其中JNLP文件包含應(yīng)用程序內(nèi)容文件的網(wǎng)絡(luò)位置。
12.根據(jù)權(quán)利要求8-11任意之一所述的方法,其中響應(yīng)于內(nèi)容服務(wù)器提供應(yīng)用程序內(nèi)容文件,客戶端執(zhí)行所述應(yīng)用程序內(nèi)容文件。
13.根據(jù)權(quán)利要求8-12任意之一所述的方法,其中應(yīng)用程序內(nèi)容文件是Java檔案。
14.根據(jù)權(quán)利要求8-13任意之一所述的方法,其中內(nèi)容服務(wù)器和web服務(wù)器運行于第一計算系統(tǒng)上,并且其中客戶端運行于第二計算系統(tǒng)上。
15.一種包含軟件指令的計算機程序,所述軟件指令當被運行時,執(zhí)行根據(jù)任意前述權(quán)利要求所述的方法。
16.一種包含根據(jù)權(quán)利要求15所述的計算機程序的計算機可讀存儲介質(zhì)。
17.—種系統(tǒng),所述系統(tǒng)包括具有應(yīng)用程序內(nèi)容文件的內(nèi)容服務(wù)器,其中內(nèi)容服務(wù)器被配置成從客戶端接收對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與第一 Java 網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián);響應(yīng)于所述第一請求,提供所述應(yīng)用程序內(nèi)容文件;從客戶端接收編輯所述應(yīng)用程序內(nèi)容文件的第二請求;響應(yīng)于所述第二請求,向客戶端提供應(yīng)用程序設(shè)計器工具;從客戶端接收利用所述應(yīng)用程序設(shè)計器工具生成的變更的應(yīng)用程序內(nèi)容文件;生成與變更的應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的第二 JNLP文件;和把第二 JNLP文件提供給web服務(wù)器。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中內(nèi)容服務(wù)器還被配置成從后來的客戶端接收第三請求,其中第三請求包含至少一部分的第二 JNLP文件;和響應(yīng)于第三請求,向所述后來的客戶端提供變更的應(yīng)用程序內(nèi)容文件。
19.根據(jù)權(quán)利要求17或18所述的系統(tǒng),其中應(yīng)用程序內(nèi)容文件是多個應(yīng)用程序內(nèi)容文件之一。
20.根據(jù)權(quán)利要求17-19任意之一所述的系統(tǒng),其中第一JNLP文件包含應(yīng)用程序內(nèi)容文件的網(wǎng)絡(luò)位置。
21.根據(jù)權(quán)利要求17-20任意之一所述的系統(tǒng),其中響應(yīng)于內(nèi)容服務(wù)器提供應(yīng)用程序內(nèi)容文件,客戶端執(zhí)行與應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的至少一個文件。
22.根據(jù)權(quán)利要求17-21任意之一所述的系統(tǒng),其中應(yīng)用程序內(nèi)容文件是Java檔案。
23.一種實現(xiàn)根據(jù)權(quán)利要求8-14任意之一所述的方法的客戶端系統(tǒng)。
全文摘要
一般來說,在一個方面,本發(fā)明涉及一種計算機可讀介質(zhì),所述計算機可讀介質(zhì)包括執(zhí)行一種方法的軟件指令,所述方法包括由內(nèi)容服務(wù)器從客戶端接收對應(yīng)用程序內(nèi)容文件的第一請求,其中應(yīng)用程序內(nèi)容文件與第一Java網(wǎng)絡(luò)加載協(xié)議(JNLP)文件相關(guān)聯(lián),響應(yīng)于所述第一請求,提供所述應(yīng)用程序內(nèi)容文件;從客戶端接收編輯所述應(yīng)用程序內(nèi)容文件的第二請求,響應(yīng)于所述第二請求,向客戶端提供應(yīng)用程序設(shè)計器工具;從客戶端接收利用所述應(yīng)用程序設(shè)計器工具生成的變更的應(yīng)用程序內(nèi)容文件,生成與變更的應(yīng)用程序內(nèi)容文件相關(guān)聯(lián)的第二JNLP文件,和把第二JNLP文件提供給web服務(wù)器。
文檔編號G06F9/445GK102473103SQ201180002458
公開日2012年5月23日 申請日期2011年5月13日 優(yōu)先權(quán)日2010年5月24日
發(fā)明者A·羅杰斯, A·艾倫森, E·P·麥克馬納斯, J·伯基, J-F·丹尼斯 申請人:甲骨文美國公司