專利名稱:用于托管并執(zhí)行組件應(yīng)用程序的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在計算設(shè)備中托管(host)并執(zhí)行組件應(yīng)用 程序的系統(tǒng)和方法。本申請要求2005年4月18日遞交的美國臨時申請 No.60/672,241的優(yōu)先權(quán)。
背景技術(shù):
隨著無線網(wǎng)絡(luò)的發(fā)展,當今使用的無線設(shè)備的數(shù)目也持續(xù)增長。 這種設(shè)備包括移動電話、具有無線通信能力的個人數(shù)字助理(PDA)、 雙向?qū)ず魴C等。在可用無線設(shè)備增長的同時,在這些設(shè)備上運行的軟 件應(yīng)用程序的使用也增長。例如,無線設(shè)備可包括獲取希望城市列表 的天氣預(yù)報的應(yīng)用程序或使用戶可以購買商品的應(yīng)用程序。除了語音 通信之外,這些軟件應(yīng)用程序還具有能夠傳送無線網(wǎng)絡(luò)數(shù)據(jù)從而給用 戶提供及時且有用的服務(wù)的優(yōu)點。然而,由于有多種不同種類的設(shè)備, 一些設(shè)備具有有限資源,以及向設(shè)備傳送大量數(shù)據(jù)的復(fù)雜性,使得開 發(fā)軟件應(yīng)用程序是一項困難且耗時的任務(wù)。
當前,設(shè)備被配置為通過基于互聯(lián)網(wǎng)的瀏覽器和/或本地應(yīng)用程序 來與網(wǎng)絡(luò)服務(wù)進行通信。瀏覽器具有適用于操作在多種不同設(shè)備的交 叉平臺上的優(yōu)點,但是也具有向網(wǎng)絡(luò)服務(wù)請求頁面(HTML的屏幕定 義)從而打斷了屏幕中包含的數(shù)據(jù)的永久性的缺點。瀏覽器的另一缺 點是在運行時間呈現(xiàn)屏幕,而這需要大量資源。針對瀏覽器的應(yīng)用程 序是設(shè)計與平臺無關(guān)的應(yīng)用程序的有效工具。因此,無論平臺如何, 不同的運行時間環(huán)境都執(zhí)行相同的應(yīng)用程序。然而,由于不同的無線 設(shè)備具有不同的能力和形式因數(shù),所以也許不能夠按照希望執(zhí)行或顯 示應(yīng)用程序。此外,基于瀏覽器的應(yīng)用程序通常需要大的傳送帶寬來 有效地進行操作,而這對于一些無線設(shè)備來說成本很大,甚至是不可能的。另一方面,針對特定無線設(shè)備平臺開發(fā)了本地應(yīng)用程序,從而為 在該平臺上運行的運行時間環(huán)境提供了相對優(yōu)化的應(yīng)用程序。然而, 平臺相關(guān)的應(yīng)用程序引入了多個缺陷,這些缺陷包括必須開發(fā)多個 版本的相同應(yīng)用程序,并且大小相對較大,從而增加了無線設(shè)備的存 儲器資源的負擔。此外,應(yīng)用程序開發(fā)者需要對諸如^^和0++之類 的編程語言熟悉以便構(gòu)造這種本地應(yīng)用程序。因此,需要一種克服或改善上述限制的應(yīng)用程序基礎(chǔ)結(jié)構(gòu)。作為 這種基礎(chǔ)結(jié)構(gòu)的一部分,需要一種配置用于在無線設(shè)備上托管并執(zhí)行 應(yīng)用程序的運行時間環(huán)境。發(fā)明內(nèi)容根據(jù)本發(fā)明的一個方面,提供一種能夠執(zhí)行組件應(yīng)用程序的設(shè)備, 該設(shè)備包括用于執(zhí)行本地應(yīng)用程序的本地運行時間環(huán)境和用于執(zhí)行組 件應(yīng)用程序的組件應(yīng)用程序運行時間環(huán)境,該組件應(yīng)用程序運行時間 環(huán)境包括控制中心,用于以本地應(yīng)用程序來表示組件應(yīng)用程序運行 時間環(huán)境,并將設(shè)備所提供的特征提供給組件應(yīng)用程序;基本服務(wù)層, 用于向組件應(yīng)用程序提供基本設(shè)備服務(wù);消息收發(fā)層,用于與組件應(yīng) 用程序進行消息往來傳送;以及應(yīng)用層,用于提供執(zhí)行組件應(yīng)用程序 的用戶接口。根據(jù)本發(fā)明的另一方面,提供一種用于在設(shè)備上執(zhí)行組件應(yīng)用程 序的組件應(yīng)用程序運行時間環(huán)境,該設(shè)備包括用于執(zhí)行本地應(yīng)用程序 的本地運行時間環(huán)境,所述組件應(yīng)用程序運行時間環(huán)境包括控制中 心,用于以本地應(yīng)用程序來表示組件應(yīng)用程序運行時間環(huán)境,并將設(shè) 備所提供的特征提供給組件應(yīng)用程序;基本服務(wù)層,用于向組件應(yīng)用 程序提供基本設(shè)備服務(wù);消息收發(fā)層,用于與組件應(yīng)用程序進行消息 往來傳送;以及應(yīng)用層,用于提供執(zhí)行組件應(yīng)用程序的用戶接口。根據(jù)本發(fā)明的另一方面,提供一種用于在主機設(shè)備上執(zhí)行的組件 應(yīng)用程序運行時間環(huán)境中執(zhí)行組件應(yīng)用程序的方法,該方法包括以下 步驟接收針對目標組件應(yīng)用程序的請求;將相應(yīng)的組件應(yīng)用程序元 數(shù)據(jù)加載到組件應(yīng)用程序運行時間環(huán)境中;處理對于目標組件應(yīng)用程
序未決的任何消息;運行目標組件應(yīng)用程序的任何可用啟動腳本;以 及在設(shè)備屏幕上呈現(xiàn)主屏幕組件。
現(xiàn)在參考下面的附圖,僅作為示例來描述本發(fā)明的實施例,附圖中圖l是通信基礎(chǔ)結(jié)構(gòu)的示意圖;圖2是運行時間環(huán)境的示意圖;圖3是示出了與控制中心的交互的框圖;圖4是示出了與屏幕子系統(tǒng)的交互的框圖;圖5是示出了與解譯子系統(tǒng)的交互的框圖;圖6是更詳細地示出了元數(shù)據(jù)子系統(tǒng)的框圖;圖7是示出了與元數(shù)據(jù)子系統(tǒng)的交互的框圖;圖8是示出了與訪問子系統(tǒng)的交互的框圖;圖9是示出了與RE容器的交互的框圖;圖10是示出了與發(fā)現(xiàn)子系統(tǒng)的交互的框圖;圖ll是示出了與供應(yīng)子系統(tǒng)的交互的框圖;圖12是示出了與生命周期子系統(tǒng)的交互的框圖;圖13是示出了與消息收發(fā)子系統(tǒng)的交互的框圖;圖14是示出了與永久性子系統(tǒng)的交互的框圖;圖15是示出了與安全子系統(tǒng)的交互的框圖;圖16是示出了與通信子系統(tǒng)的交互的框圖;圖17是示出了運行時間環(huán)境的初始化的流程圖;圖18是示出了接收進入消息的流程圖;圖19是示出了接收進入組件應(yīng)用程序消息的流程圖;圖20是示出了發(fā)送外發(fā)消息的流程圖;圖21是示出了運行時間環(huán)境升級的安裝的流程圖;圖22是示出了啟動組件應(yīng)用程序的流程圖;以及圖23是示出了用戶發(fā)起供應(yīng)請求的流程圖。
具體實施方式
為了方便,說明書中用類似的附圖標記指代附圖中類似的結(jié)構(gòu)。參考圖1,通信基礎(chǔ)結(jié)構(gòu)大體如附圖標記100所示。通信基礎(chǔ)結(jié)構(gòu)100 包括多個通信設(shè)備102或者簡單的設(shè)備102、通信網(wǎng)絡(luò)104、應(yīng)用程序 網(wǎng)關(guān)106和多個后端服務(wù)器108。設(shè)備102包括有線和無線的計算設(shè)備,例如桌上型計算機、膝上 型或其它便攜式計算機、智能電話、個人數(shù)字助理(PDA)等。設(shè)備 102通過通信網(wǎng)絡(luò)104與應(yīng)用程序網(wǎng)關(guān)106進行通信。因此,通信網(wǎng) 絡(luò)104可包括多個組件(例如無線網(wǎng)絡(luò)110、中繼器112、團體服務(wù)器 (corporate server) 114和/或移動數(shù)據(jù)服務(wù)器116),用于在設(shè)備102 和應(yīng)用程序網(wǎng)關(guān)106之間中繼數(shù)據(jù)。應(yīng)用程序網(wǎng)關(guān)106包括網(wǎng)關(guān)服務(wù)器118、供應(yīng)服務(wù)器120、發(fā)現(xiàn)服 務(wù)器122和貯存庫124。網(wǎng)關(guān)服務(wù)器118與供應(yīng)服務(wù)器120以及發(fā)現(xiàn) 服務(wù)器122進行通信。網(wǎng)關(guān)服務(wù)器110還經(jīng)由適當鏈路與多個后端服 務(wù)器108進行通信,例如網(wǎng)絡(luò)服務(wù)108a、數(shù)據(jù)庫服務(wù)108b以及其它 企業(yè)服務(wù)108c。例如,網(wǎng)關(guān)服務(wù)器110分別通過簡單對象訪問協(xié)議 (SOAP)和Java數(shù)據(jù)庫連接(JDBC)與網(wǎng)絡(luò)服務(wù)108a以及數(shù)據(jù)庫 服務(wù)108b相連。其它類型的后端服務(wù)器108及其相應(yīng)的鏈路對于本領(lǐng) 域技術(shù)人員而言是顯而易見的。因此,可見,網(wǎng)關(guān)服務(wù)器118用作設(shè) 備102與后端服務(wù)器108之間的消息中介。最初給每個無線設(shè)備102提供服務(wù)手冊,用于建立各種協(xié)議和設(shè) 置,包括團體服務(wù)器114和/或移動數(shù)據(jù)服務(wù)器116的連接信息。這些 參數(shù)可包括應(yīng)用程序網(wǎng)關(guān)服務(wù)器118的統(tǒng)一資源定位符(URL)及其 加密密鑰??蛇x地,如果最初沒有給無線設(shè)備102提供URL和加密密 鑰,.則可通過移動數(shù)據(jù)服務(wù)器116將它們推送給無線設(shè)備102。移動 設(shè)備102然后可通過應(yīng)用程序網(wǎng)關(guān)服務(wù)器118的URL與應(yīng)用程序網(wǎng)關(guān) 106相連。提供用于在無線設(shè)備102上執(zhí)行的應(yīng)用程序。這些應(yīng)用程序以一 系列包或束的形式存儲在貯存庫124中。這些包典型地由應(yīng)用程序開發(fā)者使用應(yīng)用程序開發(fā)環(huán)境所提供的設(shè)計工具而創(chuàng)建。通過發(fā)現(xiàn)服務(wù)器122所提供的發(fā)現(xiàn)服務(wù),在登記簿(registry)中
公布貯存庫124中可用的應(yīng)用程序包??梢哉J識到,可存在多于一個 的貯存庫124和由網(wǎng)關(guān)服務(wù)器118使用的關(guān)聯(lián)登記簿。在初始化之后,設(shè)備102可通過主動下載應(yīng)用程序、或通過網(wǎng)關(guān) 服務(wù)器118向設(shè)備102推送應(yīng)用程序,來訪問貯存庫124中存儲的應(yīng) 用程序。在本實施例中,上述應(yīng)用程序是組件應(yīng)用程序。組件應(yīng)用程序是 通常由組件(component)的結(jié)構(gòu)化集合(包括數(shù)據(jù)組件、消息組件、 呈現(xiàn)組件和工作流組件)定義的應(yīng)用程序。使用結(jié)構(gòu)化語言來定義組 件,并由智能運行時間容器在客戶端設(shè)備上運行。數(shù)據(jù)組件定義了組件應(yīng)用程序所使用的數(shù)據(jù)實體。數(shù)據(jù)實體的示 例包括訂單、用戶和金融交易。數(shù)據(jù)組件定義了描述數(shù)據(jù)實體所需的 信息以及表達信息的格式。例如,數(shù)據(jù)組件可定義如下訂單,該訂單 包括數(shù)字格式的訂單的唯一標識符、串格式的項目列表、日期時間 格式的訂單創(chuàng)建時間、串格式的訂單狀態(tài)以及根據(jù)另一種數(shù)據(jù)組件定 義的格式的下訂單的用戶。由于通常通過消息來傳送數(shù)據(jù)元素,所以 通常在數(shù)據(jù)庫中持續(xù)存在數(shù)據(jù)組件。數(shù)據(jù)組件可由應(yīng)用程序設(shè)計者動 態(tài)地產(chǎn)生或定義。消息組件定義了組件應(yīng)用程序與諸如網(wǎng)絡(luò)服務(wù)的外部系統(tǒng)進行通 信所用的消息格式。例如, 一種消息組件可描述用于下訂單的消息, 該消息包括訂單的唯一標識符、訂單狀態(tài)和與訂單相關(guān)聯(lián)的標注。呈現(xiàn)組件定義了組件應(yīng)用程序通過用戶接口顯示給用戶的外觀和 行為。呈現(xiàn)組件可規(guī)定圖形用戶界面(GUI)屏幕、控制和在用戶與 組件應(yīng)用程序進行交互時要執(zhí)行的動作。例如,呈現(xiàn)組件可以定義屏 幕、標簽、編輯框、按鈕和菜單以及用戶在編輯框中打字或按下按鈕 時要采取的動作。組件應(yīng)用程序的工作流組件定義了要執(zhí)行動作時進行的處理(例 如上述呈現(xiàn)組件所規(guī)定的動作),或者在消息到達時要執(zhí)行的動作。呈 現(xiàn)工作流和消息處理均由工作流組件定義。工作流組件以元數(shù)據(jù)或編 程語言或腳本語言的一系列指令寫出。工作流組件支持消息組件之間 的關(guān)聯(lián),并將應(yīng)用程序流定義為對其它組件操作的一組規(guī)則。在名稱分另寸為"System and Method for Building and Execution ofPlatform-Neutral Generic Services Client Applications" 、 "System and Method of Building Wireless Component Applications,"System and Method of Creating and Communicating with Component Based Wireless Applications"的2008年4月9日 申請日期2006年4月18日 優(yōu)先權(quán)日2005年4月18日
發(fā)明者卡門·維塔諾夫, 布倫杜沙·弗里奇, 布萊恩·戈林, 比埃拉·比布爾, 邁克爾·申菲爾德 申請人:捷訊研究有限公司