国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用元數(shù)據(jù)定義映射來構(gòu)建組件應(yīng)用程序的系統(tǒng)和方法

      文檔序號:6537191閱讀:125來源:國知局
      專利名稱:使用元數(shù)據(jù)定義映射來構(gòu)建組件應(yīng)用程序的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本申請大體上涉及網(wǎng)絡(luò)上的服務(wù)對設(shè)備的通信。
      背景技術(shù)
      今天,所使用的終端設(shè)備的數(shù)量持續(xù)增加,如移動電話、具有無線通信能力的PDA、個人計算機(jī)、自助信息站和雙向?qū)ず魴C(jī)等。運(yùn)行在這些設(shè)備上的軟件應(yīng)用程序增加了其功能性。例如,移動電話可以包括檢索城市范圍的天氣的應(yīng)用程序,或者PDA可以包括允許用戶購買雜貨的應(yīng)用程序。這些軟件應(yīng)用程序利用對網(wǎng)絡(luò)的連接性,以便向用戶提供及時有用的服務(wù)。但是,由于一些設(shè)備的受限資源,以及向設(shè)備傳遞大量數(shù)據(jù)的復(fù)雜性,開發(fā)針對多種設(shè)備的軟件應(yīng)用程序仍然是困難而耗時的任務(wù)。
      目前,將設(shè)備配置為通過基于因特網(wǎng)的瀏覽器和/或本地應(yīng)用程序與網(wǎng)絡(luò)服務(wù)進(jìn)行通信。瀏覽器具有適用于針對多種不同的設(shè)備進(jìn)行跨平臺操作的優(yōu)點(diǎn),但具有請求來自網(wǎng)絡(luò)服務(wù)的頁面(HTML中的屏幕定義)的缺點(diǎn),其妨礙了包含在屏幕中的數(shù)據(jù)的持續(xù)性。瀏覽器的另一缺點(diǎn)在于,在運(yùn)行時呈現(xiàn)屏幕,而這是資源密集的。本地應(yīng)用程序具有針對設(shè)備平臺的類型專門研發(fā)的優(yōu)點(diǎn),從而針對每次運(yùn)行時刻的環(huán)境,提供了相對優(yōu)化的應(yīng)用程序。但是,本地應(yīng)用程序具有以下缺點(diǎn)非平臺無關(guān),必需開發(fā)相同應(yīng)用程序的多個版本,以及尺寸相對較大,從而給設(shè)備的存儲器資源造成了嚴(yán)重的負(fù)擔(dān)。此外,應(yīng)用程序開發(fā)商需要使用如Java和C++等編程語言的經(jīng)驗(yàn),以便構(gòu)建這些硬編碼本地應(yīng)用程序。存在對能夠運(yùn)行在客戶端設(shè)備上的應(yīng)用程序的需要,其具有廣泛的運(yùn)行時刻環(huán)境,以及具有對設(shè)備資源的減少的消耗。
      這里所公開的系統(tǒng)和方法提供了一種基于組件的應(yīng)用程序環(huán)境,以排除或消除上述缺點(diǎn)中的至少一些。

      發(fā)明內(nèi)容
      需要的是,通過降低對任何外在編碼的需求以及降低在提供時由應(yīng)用程序所利用的設(shè)備資源,來降低開發(fā)無線應(yīng)用程序中所涉及的復(fù)雜度。具有智能無線設(shè)備運(yùn)行時刻環(huán)境(設(shè)備運(yùn)行時刻)來提供基本服務(wù)組以便對無線應(yīng)用程序進(jìn)行管理,作為一系列應(yīng)用程序組件及其交互,能夠簡化開發(fā)強(qiáng)度并降低資源分配。將無線應(yīng)用程序描述為組件組。使用原子數(shù)據(jù)組件,定義此應(yīng)用程序類的數(shù)據(jù)域。使用原子消息組件,定義設(shè)備和服務(wù)器之間的通信。使用如XML等結(jié)構(gòu)定義語言,在元數(shù)據(jù)中描述消息和數(shù)據(jù)組件。以消息/數(shù)據(jù)映射的形式,將消息和數(shù)據(jù)組件之間的關(guān)系嵌入XML定義中。典型地,輸出消息得自于一些底層數(shù)據(jù)組件,而輸入消息影響應(yīng)用程序的當(dāng)前狀態(tài)(或數(shù)據(jù)表示)。因此,應(yīng)當(dāng)清楚的是,元數(shù)據(jù)定義映射關(guān)系最好位于數(shù)據(jù)和消息組件的表達(dá)之間。
      根據(jù)本發(fā)明,提出了一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;獲得與所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。
      根據(jù)本發(fā)明的另一方面,提出了一種用于根據(jù)與設(shè)備上所執(zhí)行的應(yīng)用程序相對應(yīng)的消息實(shí)例產(chǎn)生數(shù)據(jù)實(shí)例的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;從與所映射的數(shù)據(jù)組件相對應(yīng)的消息實(shí)例中,獲得消息實(shí)例字段值;如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,將消息實(shí)例字段值分配給數(shù)據(jù)實(shí)例的數(shù)據(jù)字段值。
      根據(jù)本發(fā)明的另一方面,提出了一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與數(shù)據(jù)實(shí)例相對應(yīng)的數(shù)據(jù)組件;識別出現(xiàn)在數(shù)據(jù)組件中的惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的消息組件;獲得與所映射的消息組件的消息字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;如所映射的消息組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。
      根據(jù)本發(fā)明的另一方面,提出了一種用于根據(jù)與設(shè)備上所執(zhí)行的應(yīng)用程序相對應(yīng)的消息實(shí)例產(chǎn)生數(shù)據(jù)實(shí)例的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在數(shù)據(jù)組件中的惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的消息組件;從與所映射的消息組件的數(shù)據(jù)字段定義相對應(yīng)的消息實(shí)例中,獲得消息實(shí)例字段值;如所映射的消息組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,將消息實(shí)例字段值分配給數(shù)據(jù)實(shí)例的數(shù)據(jù)字段值。
      根據(jù)本發(fā)明的另一方面,提出了一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的設(shè)備,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟裝置,用于選擇與消息實(shí)例相對應(yīng)的消息組件;裝置,用于識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;裝置,用于根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;裝置,用于獲得與所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;裝置,用于如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。


      通過以下僅作為實(shí)例而參照附圖做出的詳細(xì)描述,這些和其他特征將變得更加清楚,其中圖1是網(wǎng)絡(luò)系統(tǒng)的方框圖;圖2是圖1所示的普通設(shè)備的方框圖;圖3是圖2所示的設(shè)備的組件框架的方框圖;圖4是圖2所示的組件應(yīng)用程序的方框圖;圖5示出了用于圖1所示的系統(tǒng)的代表應(yīng)用程序封裝和主機(jī)模型;圖6示出了實(shí)現(xiàn)圖4所示的組件應(yīng)用程序的示例方法;圖7示出了實(shí)現(xiàn)圖4所示的組件應(yīng)用程序的另一示例方法;圖8a和8b是針對圖4所示的應(yīng)用程序的消息級映射的示例;圖9a和9b是針對圖4所示的應(yīng)用程序的字段級映射的示例;圖10a和10b是針對圖4所示的應(yīng)用程序的復(fù)雜映射的示例;圖11利用圖8a、b、9a、b和10a、b的消息映射證明了用于產(chǎn)生輸出消息的算法;以及圖12利用圖8a、b、9a、b和10a、b的消息映射說明了用于處理輸入消息的算法。
      具體實(shí)施例方式
      網(wǎng)絡(luò)系統(tǒng)參照圖1,網(wǎng)絡(luò)系統(tǒng)10包括多個普通終端設(shè)備100,用于通過如但不局限于因特網(wǎng)的廣域網(wǎng)(WAN)104與一個或多個普通計劃定義服務(wù)106交互。這些普通終端設(shè)備100可以是但并不局限于個人計算機(jī)116、無線設(shè)備101、PDA、自助信息站等。由服務(wù)106提供的普通服務(wù)可以是網(wǎng)絡(luò)服務(wù)和/或其他服務(wù),如但并不局限于SQL數(shù)據(jù)庫、基于IDL的CORBA和RMI/IIOP系統(tǒng)、遺留數(shù)據(jù)庫、J2EE、SAP RFC和COM/DCOM組件。此外,系統(tǒng)10還可以具有網(wǎng)關(guān)服務(wù)器112,用于通過局域網(wǎng)(LAN)14將桌面終端116與服務(wù)106相連。此外,系統(tǒng)10還可以具有無線網(wǎng)絡(luò)102,用于將無線設(shè)備101與WAN 104相連。應(yīng)當(dāng)意識到,其他設(shè)備和計算機(jī)(未示出)可以通過WAN 104和除圖1所示的其他關(guān)聯(lián)網(wǎng)絡(luò)與網(wǎng)絡(luò)服務(wù)106相連。此后,為了簡單,將普通終端設(shè)備100、無線設(shè)備102和個人計算機(jī)稱為設(shè)備100。為了簡單,針對系統(tǒng)10的以下描述選擇網(wǎng)絡(luò)服務(wù)106。但是,應(yīng)當(dāng)意識到,如果需要,可以用其他服務(wù)替換網(wǎng)絡(luò)服務(wù)106。此外,為了簡單,此后將系統(tǒng)10的網(wǎng)絡(luò)102、104、112稱為網(wǎng)絡(luò)104。
      再次參照圖1,設(shè)備100在與網(wǎng)絡(luò)服務(wù)106進(jìn)行通信時,分別發(fā)送和接收請求/相應(yīng)消息105。設(shè)備100可以通過使用消息報頭信息和關(guān)聯(lián)數(shù)據(jù)內(nèi)容形式的的請求/響應(yīng)消息105,作為網(wǎng)絡(luò)服務(wù)106的網(wǎng)絡(luò)客戶端進(jìn)行操作,例如,從在線貿(mào)易商那里請求和接收產(chǎn)品價格和可用性。網(wǎng)絡(luò)服務(wù)106是通信設(shè)備100上的客戶端應(yīng)用程序302(參見圖2)通過無線網(wǎng)絡(luò)104與之交互、以便向通信設(shè)備100的用戶提供實(shí)用性的系統(tǒng)的示例。
      為了滿足適當(dāng)?shù)恼埱?相應(yīng)消息105,網(wǎng)絡(luò)服務(wù)106可以通過多種協(xié)議(如但并不局限于HTTP和組件API)與應(yīng)用程序服務(wù)器110進(jìn)行通信,以便在設(shè)備100上提供其時,向客戶端應(yīng)用程序302(參見圖2)展示相關(guān)的商業(yè)邏輯(方法)。應(yīng)用程序服務(wù)器110還可以包含網(wǎng)絡(luò)服務(wù)106軟件,從而網(wǎng)絡(luò)服務(wù)106可以被認(rèn)為是應(yīng)用程序服務(wù)器110的子集。設(shè)備100的應(yīng)用程序302可以使用應(yīng)用程序服務(wù)器110的商業(yè)邏輯,類似于調(diào)用與對象有關(guān)的方法(或函數(shù))。應(yīng)當(dāng)意識到,可以通過消息105,經(jīng)由網(wǎng)絡(luò)104,將客戶端應(yīng)用程序302與應(yīng)用程序服務(wù)器110相關(guān)地直接下載/上載到設(shè)備100。還應(yīng)當(dāng)意識到,設(shè)備100可以通過網(wǎng)絡(luò)104與一個或多個網(wǎng)絡(luò)服務(wù)106和關(guān)聯(lián)應(yīng)用程序服務(wù)器110進(jìn)行通信。
      服務(wù)器環(huán)境參照圖1,網(wǎng)絡(luò)服務(wù)106提供由設(shè)備100上的客戶端應(yīng)用程序302(參見圖2)使用的信息消息105。可選地,或此外,網(wǎng)絡(luò)服務(wù)106可以接收和使用由設(shè)備100上所執(zhí)行的客戶端應(yīng)用程序302所提供的信息消息105,或者以設(shè)備100上所執(zhí)行的客戶端應(yīng)用程序302的名義執(zhí)行任務(wù)。可以將網(wǎng)絡(luò)服務(wù)106定義為軟件服務(wù),其可以實(shí)現(xiàn)如利用登記在網(wǎng)絡(luò)服務(wù)登記中的通用發(fā)現(xiàn)描述和集成(UDDI)中的網(wǎng)絡(luò)服務(wù)描述語言(WSDL)所表達(dá)的接口,并能夠通過如簡單對象存取協(xié)議(SOAP)等適當(dāng)?shù)膮f(xié)議暴露在網(wǎng)絡(luò)104上,通過消息105與客戶端設(shè)備100進(jìn)行通信。在一些實(shí)現(xiàn)中,SOAP是定義了消息105的XML格式的規(guī)范,包括SOAP中所包括的公知形式的XML段。SOAP還支持其中SOAP消息105作為回繞XML文檔的回繞符(wrapper)的文檔樣式應(yīng)用程序。SOAP的另一可選部分定義了HTTP綁定(即,報頭),而一些SOAP實(shí)現(xiàn)支持MSMQ、MQ系列、SMTP或TCP/IP傳送協(xié)議??蛇x地,網(wǎng)絡(luò)服務(wù)106可以使用其他已知的通信協(xié)議、消息105格式,以及可以按照除上述之外的其他網(wǎng)絡(luò)服務(wù)語言來表達(dá)接口。
      客戶端環(huán)境參照圖2,通過網(wǎng)絡(luò)104傳輸組件應(yīng)用程序302,并加載到設(shè)備100的設(shè)備基礎(chǔ)設(shè)施204的存儲模塊210??蛇x地,可以通過串行連接、USB連接、或如IR、802.11(x)、藍(lán)牙TM等短距離無線通信系統(tǒng)(未示出)來加載組件應(yīng)用程序302。一旦被加載到設(shè)備100中,則可以由設(shè)備100上的組件框架206執(zhí)行組件應(yīng)用程序302,其可以將組件應(yīng)用程序302轉(zhuǎn)換為本地代碼,并由設(shè)備基礎(chǔ)設(shè)施204中的處理器208執(zhí)行??蛇x地,可以通過設(shè)備100上的其他軟件模塊或操作系統(tǒng)來解譯組件應(yīng)用程序302。在任何情況下,在由設(shè)備100提供的終端運(yùn)行時刻環(huán)境下運(yùn)行組件應(yīng)用程序302,從而所述運(yùn)行時刻環(huán)境是提供用于管理和執(zhí)行典型應(yīng)用程序302行為(如持續(xù)性、消息發(fā)送、屏幕導(dǎo)航和表示等)的基本服務(wù)集合的智能軟件框架。
      再次參照圖1,可以對由設(shè)備100提供的客戶端運(yùn)行時刻環(huán)境進(jìn)行配置,從而使設(shè)備100作為網(wǎng)絡(luò)服務(wù)106的網(wǎng)絡(luò)客戶端進(jìn)行操作。應(yīng)當(dāng)意識到,客戶端運(yùn)行時刻環(huán)境也可以使設(shè)備100成為網(wǎng)絡(luò)104上的任何其他普通計劃定義服務(wù)的客戶端。設(shè)備100的客戶端運(yùn)行時刻環(huán)境最好能夠產(chǎn)生、成為其主機(jī)和執(zhí)行設(shè)備100上的客戶端應(yīng)用程序302(其為組件應(yīng)用程序的形式——參見圖4和以下的描述)。此外,客戶端運(yùn)行時刻環(huán)境的特定功能可以包括但并不局限于對語言的支持、協(xié)調(diào)存儲器分配、聯(lián)網(wǎng)、I/O操作期間的數(shù)據(jù)管理、協(xié)調(diào)設(shè)備100的輸出設(shè)備上的圖形以及提供對面向核心對象的類的存取以及支持文件/庫。由設(shè)備100實(shí)現(xiàn)的運(yùn)行時刻環(huán)境的示例可以包括如但并不局限于微軟提出的公共語言運(yùn)行時間(CLR)和Sun微系統(tǒng)公司提出的Java運(yùn)行時刻環(huán)境(JRE)。
      優(yōu)選地,設(shè)備100的終端運(yùn)行時刻環(huán)境支持客戶端應(yīng)用程序302(參見圖2)的駐留可執(zhí)行版本的以下基本功能,例如但并不局限于為設(shè)備100提供通信能力,以便向網(wǎng)絡(luò)服務(wù)106發(fā)送消息105,或者向通過網(wǎng)絡(luò)104相連的任何其他普通計劃(schema)定義服務(wù)發(fā)送消息105;在設(shè)備100的輸入設(shè)備上提供用戶的數(shù)據(jù)輸入能力,以便提供網(wǎng)絡(luò)服務(wù)106的輸出消息105的數(shù)據(jù)部分(去往服務(wù)的消息);提供在輸出設(shè)備上對網(wǎng)絡(luò)服務(wù)106的響應(yīng)消息105(輸入消息)或不相關(guān)通知的數(shù)據(jù)表示或輸出能力;提供數(shù)據(jù)存儲服務(wù),以便在設(shè)備100的存儲模塊210(參見圖2)中保持本地客戶端數(shù)據(jù);以及提供腳本語言的執(zhí)行環(huán)境,以便協(xié)調(diào)客戶端應(yīng)用程序302的應(yīng)用程序組件400、402、404、406(參見圖4)的操作。
      參照圖2、4和5,客戶端運(yùn)行時刻(例如,由組件框架206提供)加載包含在組件400、402、404、406定義中的元數(shù)據(jù),并在設(shè)備100上構(gòu)建應(yīng)用程序302的可執(zhí)行版本,例如通過應(yīng)用程序容器300。存在例如但并不局限于兩種客戶端運(yùn)行時刻的操作模型基于模板的本地執(zhí)行和基于元數(shù)據(jù)的執(zhí)行。利用基于模板的本地執(zhí)行模型,運(yùn)行時刻使用本地代碼,主持預(yù)先構(gòu)建在設(shè)備100上的數(shù)據(jù)、消息和屏幕模板500。當(dāng)加載應(yīng)用程序302定義時,由組件框架206提供的客戶端環(huán)境以來自組件400、402、404的元數(shù)據(jù)定義參數(shù)填充模板500,并按照本地格式構(gòu)建可執(zhí)行客戶端應(yīng)用程序302??梢詫⒐ぷ髁鹘M件406的工作流腳本(例如ECMA腳本)轉(zhuǎn)換為本地代碼,或者使用適當(dāng)?shù)哪_本解釋器502(例如,ECMA腳本解釋器)執(zhí)行到本地代碼重定向器504,其中重定向器504通過本地運(yùn)行時刻引擎506,將對腳本語言的調(diào)用解釋為對本地組件的操作。利用基于元數(shù)據(jù)的執(zhí)行,組件框架206的運(yùn)行時刻環(huán)境或者將組件400、402、404、406定義保持為XML(例如),其在執(zhí)行時進(jìn)行解析,或者使用XML(例如)節(jié)點(diǎn)的本地表示。在執(zhí)行期間,本地運(yùn)行時刻引擎506對組件400、402、404、406的定義進(jìn)行操作,而并非對本地組件實(shí)體進(jìn)行操作。
      因此,本地客戶端運(yùn)行時刻環(huán)境為客戶端應(yīng)用程序302提供了對設(shè)備100、處理器208的功能性以及設(shè)備基礎(chǔ)設(shè)施204的關(guān)聯(lián)操作系統(tǒng)的接口。優(yōu)選地,運(yùn)行時刻環(huán)境在設(shè)備100上提供受控、安全和穩(wěn)定的環(huán)境,在其中執(zhí)行組件應(yīng)用程序302。運(yùn)行時刻環(huán)境提供了組件400、402、404、406的定義,以創(chuàng)建專用于設(shè)備100的各個設(shè)備基礎(chǔ)設(shè)施204的實(shí)際網(wǎng)絡(luò)客戶端。應(yīng)當(dāng)意識到,為了簡單,以下描述將涉及由組件框架206提供的客戶端運(yùn)行時刻環(huán)境,僅作為示例。
      通信設(shè)備再次參考圖2,設(shè)備100是諸如但并不局限于移動電話、PDA、雙向?qū)ず魴C(jī)或雙模式通信設(shè)備的設(shè)備。所述設(shè)備100包括網(wǎng)絡(luò)連接接口200,例如無線收發(fā)機(jī),通過連接218與設(shè)備基礎(chǔ)設(shè)施204相連。在設(shè)備100的操作期間,連接接口200可通過無線鏈路(例如RF、IR等)與諸如無線網(wǎng)絡(luò)102等網(wǎng)絡(luò)104相連,這使設(shè)備100能夠彼此通信且通過網(wǎng)絡(luò)104與外部系統(tǒng)(諸如網(wǎng)絡(luò)設(shè)備106)進(jìn)行通信,并且協(xié)調(diào)客戶端應(yīng)用程序302和服務(wù)106之間的請求/響應(yīng)消息105(見圖1)。網(wǎng)絡(luò)104支持設(shè)備和外部系統(tǒng)之間的請求/響應(yīng)消息105的數(shù)據(jù)傳輸,所述外部系統(tǒng)與網(wǎng)絡(luò)104相連。網(wǎng)絡(luò)104還可以支持設(shè)備100和網(wǎng)絡(luò)104外部的設(shè)備之間的電話呼叫的語音通信。無線網(wǎng)絡(luò)102可以使用無線數(shù)據(jù)傳輸協(xié)議,例如但并不局限于DataTAC、GPRS或CDMA。
      再次參考圖2,設(shè)備100還具有通過連接222與設(shè)備基礎(chǔ)設(shè)施204相連的用戶接口202以便與用戶(未示出)進(jìn)行交互。用戶接口202包括一個或多個用戶輸入設(shè)備,諸如但并不局限于QWERTY鍵盤、小鍵盤、跟蹤輪、鐵筆、鼠標(biāo)、麥克風(fēng)和用戶輸出設(shè)備(例如LCD屏幕顯示器)和/或揚(yáng)聲器。如果屏幕是對觸摸敏感的,則還可以將所述顯示器用作由設(shè)備基礎(chǔ)設(shè)施204控制的用戶輸入設(shè)備。由設(shè)備100的用戶采用用戶接口202來協(xié)調(diào)系統(tǒng)10(見圖1)上的請求/響應(yīng)消息105,如由組件框架206的客戶端應(yīng)用程序302所采用的那樣,下面將進(jìn)一步描述。
      再次參考圖2,由設(shè)備基礎(chǔ)設(shè)施204啟動設(shè)備100的操作。所述設(shè)備基礎(chǔ)設(shè)施204包括計算機(jī)處理器208和相關(guān)存儲模塊210。計算機(jī)處理器208通過執(zhí)行由操作系統(tǒng)和位于存儲模塊210中的客戶端應(yīng)用程序302提供的相關(guān)指令,控制通信設(shè)備100的網(wǎng)絡(luò)接口200、用戶接口202和組件框架206的操作。此外,應(yīng)該意識到,設(shè)備基礎(chǔ)設(shè)施204可以與處理器208相連的計算機(jī)可讀存儲介質(zhì)212,用于向處理器提供指令和/或加載/更新存儲模塊210的客戶端應(yīng)用程序302。所述計算機(jī)可讀存儲介質(zhì)212可以包括硬件和/或軟件,僅作為示例,例如磁盤、磁帶、可光學(xué)讀取的介質(zhì)(例如CD/DVD ROM)和存儲卡。在每一種情況下,計算機(jī)可讀介質(zhì)212可以采用小型盤、軟盤、盒式磁帶、硬盤驅(qū)動器、固態(tài)存儲卡或RAM的形式,設(shè)置在存儲模塊210中。應(yīng)該注意,以上所列出的計算機(jī)可讀介質(zhì)212可以或者單獨(dú)使用或者組合使用。
      設(shè)備的組件框架再次參考圖2,設(shè)備100的框架206通過連接220與設(shè)備基礎(chǔ)設(shè)施204相連??蛻暨\(yùn)行時刻環(huán)境設(shè)備100由框架206提供,并且優(yōu)選地,能夠根據(jù)元數(shù)據(jù)定義,產(chǎn)生、主持和執(zhí)行客戶端應(yīng)用程序302(為組件應(yīng)用程序的形式-如下所示)。因此,組件框架206為客戶端應(yīng)用程序302提供本地客戶運(yùn)行時刻環(huán)境,并且是與處理器208的設(shè)備100功能的接口,并且是設(shè)備基礎(chǔ)設(shè)施204的相關(guān)操作系統(tǒng)的接口??蚣?06通過優(yōu)選地在設(shè)備100上提供受控、安全和穩(wěn)定的環(huán)境來提供運(yùn)行時刻環(huán)境,其中組件應(yīng)用程序302在諸如應(yīng)用程序容器或執(zhí)行環(huán)境300中執(zhí)行。應(yīng)用程序容器300可以被稱為客戶端應(yīng)用程序302的智能主機(jī)容器,并且可以負(fù)責(zé)分析消息元數(shù)據(jù)(消息105的-參見圖1),并負(fù)責(zé)更新存儲模塊210中的元數(shù)據(jù)的表示。
      參考圖3,組件框架206可以用于在終端運(yùn)行時刻環(huán)境內(nèi)執(zhí)行客戶端應(yīng)用程序302(諸如網(wǎng)絡(luò)服務(wù)客戶端應(yīng)用程序)并且能夠通過請求/響應(yīng)消息105,支持對網(wǎng)絡(luò)服務(wù)106和相關(guān)應(yīng)用程序服務(wù)器110的訪問(見圖1)。組件應(yīng)用程序302包括由組件框架206執(zhí)行的軟件應(yīng)用程序。每一次當(dāng)執(zhí)行應(yīng)用程序302時,組件框架206為應(yīng)用程序302的每一個組件400、402、404、406(見圖4)創(chuàng)建應(yīng)用程序容器300。應(yīng)用程序容器300加載應(yīng)用程序302的組件400、402、404、406,并且能夠創(chuàng)建由設(shè)備基礎(chǔ)設(shè)施204中的處理器208執(zhí)行的本地代碼。因此,組件框架206提供主機(jī)應(yīng)用程序容器300,用于提供組件400、402、404、406的定義,以創(chuàng)建專用于為通信設(shè)備100的每一個相應(yīng)設(shè)備基礎(chǔ)設(shè)施204的實(shí)際網(wǎng)絡(luò)客戶。僅作為示例,應(yīng)用程序容器300可以根據(jù)如上所述的基于模板的本地執(zhí)行和基于元數(shù)據(jù)的執(zhí)行模型來提供組件應(yīng)用程序302。
      再次參考圖3,在特定服務(wù)并未被包括作為組件400、402、404、406(見圖4)或者被接收為作為組件應(yīng)用程序302的一部分的單獨(dú)組件(未示出)的情況下,組件框架206還向客戶端應(yīng)用程序302提供框架服務(wù)304(標(biāo)準(zhǔn)普通服務(wù)集合)。應(yīng)用程序302具有與執(zhí)行環(huán)境300的通信,如果需要,能夠協(xié)調(diào)與框架服務(wù)304的通信216。組件框架206的框架服務(wù)304通過與設(shè)備基礎(chǔ)設(shè)施204的連接220來協(xié)調(diào)通信。因此,由組件框架206和相關(guān)服務(wù)304向客戶端應(yīng)用程序302提供對設(shè)備基礎(chǔ)設(shè)施204、用戶接口202和網(wǎng)絡(luò)接口200的訪問。應(yīng)該意識到,設(shè)備基礎(chǔ)設(shè)施204的操作系統(tǒng)的一部分(見圖2)可以表示應(yīng)用程序容器300和框架服務(wù)304的任意服務(wù)。
      框架服務(wù)304可以包括但并不局限于通信服務(wù)306、表示服務(wù)208、持續(xù)服務(wù)310、存取服務(wù)312、提供服務(wù)314和實(shí)用服務(wù)316。通信服務(wù)306管理組件應(yīng)用程序302與外部系統(tǒng)10之間的連接性,如與網(wǎng)絡(luò)服務(wù)有關(guān)地、代表組件應(yīng)用程序302(由通信服務(wù)306)發(fā)送/接收的消息105和關(guān)聯(lián)數(shù)據(jù)。如以下參照圖8a、b、9a、b、10a、b進(jìn)一步描述的那樣,通信服務(wù)306可以用于實(shí)現(xiàn)一系列的映射800(參見圖8a)。當(dāng)在用戶接口202(參見圖2)的輸出設(shè)備上輸出其時,表示服務(wù)308對組件應(yīng)用程序302的表示進(jìn)行管理。持續(xù)服務(wù)310允許組件應(yīng)用程序302將數(shù)據(jù)存儲在設(shè)備基礎(chǔ)設(shè)施204的存儲模塊210(參見圖2)中。應(yīng)當(dāng)意識到,持續(xù)服務(wù)310可以用于協(xié)調(diào)通過映射800與消息組件404相鏈接的數(shù)據(jù)組件400的數(shù)據(jù)實(shí)例的修改/創(chuàng)建(參見圖8a)。存取服務(wù)312向組件應(yīng)用程序302提供對出現(xiàn)在通信設(shè)備100上的其他軟件應(yīng)用程序的存取。提供服務(wù)314管理通信設(shè)備100上的軟件應(yīng)用程序的提供。應(yīng)用程序提供可以包括請求和接收新的和已更新的組件應(yīng)用程序302、配置組件應(yīng)用程序302以便對能夠通過網(wǎng)絡(luò)104進(jìn)行存取的服務(wù)進(jìn)行存取、修改組件應(yīng)用程序302和服務(wù)的配置、以及移除組件應(yīng)用程序302和服務(wù)。實(shí)用服務(wù)316用于完成多種公共任務(wù),如在串到不同格式的轉(zhuǎn)換中執(zhí)行數(shù)據(jù)處理。
      應(yīng)當(dāng)意識到,通信設(shè)備100的框架服務(wù)304可以向組件應(yīng)用程序302提供功能,可以包括上述服務(wù)。此外,框架服務(wù)304可以與應(yīng)用程序302的組件400、402、404、406進(jìn)行集成,來代替提供單獨(dú)的框架服務(wù)304。在任何情況下,組件應(yīng)用程序302都能夠通過集成和/或單獨(dú)的框架服務(wù)304,來使用通信設(shè)備100的功能。
      示例組件應(yīng)用程序參考圖2,在框架206的終端運(yùn)行時刻環(huán)境內(nèi)執(zhí)行網(wǎng)絡(luò)服務(wù)(例如)客戶端應(yīng)用程序302,并且該應(yīng)用程序支持對由服務(wù)106提供的網(wǎng)絡(luò)服務(wù)操作的訪問(見圖1)。WSDL和SOAP協(xié)議定義清楚地包含消息/數(shù)據(jù)模式。在WSDL網(wǎng)絡(luò)服務(wù)定義中,利用消息和數(shù)據(jù)部分的概念來定義這些操作,所述消息和數(shù)據(jù)部分用于將網(wǎng)絡(luò)服務(wù)客戶端應(yīng)用程序302定義為相關(guān)數(shù)據(jù)400和消息404組件的集合(見圖4)。
      參考圖4,組件應(yīng)用程序302的方框圖包括數(shù)據(jù)組件400、表示組件402和消息組件404,由工作流組件406通過與應(yīng)用程序容器300的通信214來協(xié)調(diào)??梢允褂媒Y(jié)構(gòu)定義語言將組件400、402、404構(gòu)造為元數(shù)據(jù)記錄串,由表示資源的指定屬性的多個預(yù)定元素構(gòu)成,從而每一個元素可以具有一個或多個值。典型地,每一個元數(shù)據(jù)計劃具有定義的特征,諸如但并不局限于有限數(shù)量的元素、每一個元素的名稱和每一個元素的含義。示例元數(shù)據(jù)計劃包括諸如但并不局限于都柏林內(nèi)核(DC)、英美編錄規(guī)則(AACR2)、政府信息定位符服務(wù)(GILS)、編碼歸檔描述(EAD)、IMS全球?qū)W術(shù)協(xié)會(IMS)、以及澳大利亞政府定位符服務(wù)(AGLS)。編碼語法允許由設(shè)備基礎(chǔ)設(shè)施204(見圖2)來處理組件400、402、404的元數(shù)據(jù),并且編碼計劃包括諸如但并不局限于XML、HTML、XHTML、XSML、RDF、機(jī)器可讀編錄(MARC)和多用途因特網(wǎng)郵件擴(kuò)展(MIME)。
      再次參考圖4,數(shù)據(jù)組件400定義了由組件應(yīng)用程序302使用的數(shù)據(jù)實(shí)體,包括以諸如本地代碼或XML表示的應(yīng)用程序數(shù)據(jù)。數(shù)據(jù)組件400可以描述的數(shù)據(jù)實(shí)體的示例是訂單、用戶和金融交易。數(shù)據(jù)組件400定義了描述數(shù)據(jù)對象800需要什么信息、以及以什么格式來表達(dá)該信息。例如,數(shù)據(jù)組件400可以定義諸如但并不局限于格式為數(shù)字的由針對訂單的唯一標(biāo)識符構(gòu)成的訂單、格式為串的項(xiàng)目列表、具有日期時間格式的創(chuàng)建訂單的時間、格式為串的訂單狀態(tài)、以及具有與數(shù)據(jù)組件400的另一個的定義相一致的格式的進(jìn)行定購的用戶。由于通常根據(jù)網(wǎng)絡(luò)服務(wù)106的編排規(guī)則(choreography rule)將數(shù)據(jù)部分(元素)從消息105傳遞到消息105,因此優(yōu)選地,存在數(shù)據(jù)組件400的持續(xù)性。可以根據(jù)網(wǎng)絡(luò)服務(wù)106的編排定義(如果可用)來動態(tài)產(chǎn)生數(shù)據(jù)組件400,或者由應(yīng)用程序設(shè)計者根據(jù)復(fù)雜類型的定義和/或消息相關(guān)信息來定義該數(shù)據(jù)組件400。應(yīng)該意識到,可以通過映射800將消息組件404鏈接到數(shù)據(jù)組件400(見圖8a),如以下所描述的。
      再次參照圖4,消息組件404定義了由組件應(yīng)用程序302所使用的消息的格式,以便與如網(wǎng)絡(luò)服務(wù)106等外部系統(tǒng)進(jìn)行通信,并包括以如本地代碼或XML表示的消息數(shù)據(jù)。例如,消息組件404之一可以描述但并不局限于用于設(shè)置包括訂單(order)的惟一標(biāo)識符、訂單的狀態(tài)和與訂單相關(guān)聯(lián)的注釋的訂單的消息。按照結(jié)構(gòu)定義語言寫成的消息組件404可以惟一地表示(和映射到)WSDL消息,并可以在運(yùn)行時動態(tài)地產(chǎn)生。因此,可以針對用于客戶端應(yīng)用程序消息105的組件定義、以及關(guān)聯(lián)數(shù)據(jù)內(nèi)容,根據(jù)用于表達(dá)網(wǎng)絡(luò)服務(wù)接口的定義語言(如但并不局限于WSDL和BPEL)中的標(biāo)準(zhǔn)網(wǎng)絡(luò)服務(wù)元數(shù)據(jù),進(jìn)行動態(tài)產(chǎn)生。在操作的上下文中定義網(wǎng)絡(luò)服務(wù)消息105,并定義組件應(yīng)用程序302定義中的消息組件404之間的相關(guān)。應(yīng)當(dāng)使用預(yù)定消息參數(shù)和/或通過單獨(dú)的工作流組件406進(jìn)行此相關(guān),如稍后進(jìn)一步定義的那樣。
      再次參考圖4,表示組件402定義了由用戶接口202所顯示的應(yīng)用程序302的外觀和行為。當(dāng)用戶使用用戶接口202與組件應(yīng)用程序302進(jìn)行交互時,所述表示組件402可以指定GUI屏幕和和控制以及要執(zhí)行的動作。例如,當(dāng)用戶對編輯框進(jìn)行打字輸入或按下按鈕時,表示組件402可以定義屏幕、標(biāo)簽、編輯框、按鈕和菜單、以及要采用的動作。大多數(shù)網(wǎng)絡(luò)服務(wù)消費(fèi)者使用網(wǎng)絡(luò)服務(wù)操作結(jié)果的可視表示,因此在能夠顯示用戶接口屏幕的其設(shè)備100上提供運(yùn)行時刻環(huán)境。
      再次參照圖4,組件應(yīng)用程序302的工作流組件406定義在執(zhí)行動作時所發(fā)生的處理,如由上述表示組件402所規(guī)定的動作,或者在消息105(參見圖1)從系統(tǒng)10到達(dá)時所要執(zhí)行的動作。由工作流組件406定義表示工作流和消息105處理。將工作流組件406按照編程語言或腳本語言(如但并不局限于ECMA腳本)寫成一系列指令,并可以編輯為本地代碼,并由應(yīng)用程序容器300執(zhí)行,如上所述。工作流組件406的實(shí)例可以將數(shù)值分配給數(shù)據(jù),操縱屏幕,或發(fā)送消息105。工作流組件406支持消息105之間的相關(guān),并將應(yīng)用程序流定義為與其他組件400、402、404有關(guān)的操作的一組規(guī)則。針對給定的應(yīng)用程序302,可以定義多個工作流組件。
      ECMA(歐洲計算機(jī)制造商協(xié)會)腳本是標(biāo)準(zhǔn)的腳本語言,其中腳本被稱為由另一程序而非計算機(jī)處理器解釋或執(zhí)行的指令序列。腳本語言的一些其他示例是Perl、Rexx、VBScript、JavaScript和Tcl/Tk。通常,這些腳本語言是指示性語言,用于操作、定制和使現(xiàn)有系統(tǒng)的設(shè)施自動化,例如設(shè)備100。在這樣的系統(tǒng)中,有用的功能已經(jīng)通過用戶接口202(見圖2)變得可用,并且腳本語言是將功能暴露給程序控制的機(jī)制。按照該方式,設(shè)備100用于提供完成腳本語言能力的對象和設(shè)施的主機(jī)運(yùn)行時刻環(huán)境。
      因此,參照圖4,可以將客戶端應(yīng)用程序302定義為一組平臺中立組件定義,即針對數(shù)據(jù)400和消息404組件,以及使用XML(或任何其他適當(dāng)?shù)慕Y(jié)構(gòu)定義語言)的表示組件402??梢允褂肊CMA腳本(或任何其他適當(dāng)?shù)钠脚_中立腳本語言)來定義工作流組件406。當(dāng)在設(shè)備100上提供組件應(yīng)用程序302的組件400、402、404、406時,組件框架206的客戶端運(yùn)行時刻環(huán)境(參見圖2)可以產(chǎn)生基于元定義的組件模板,如稍后所述。利用多種終端運(yùn)行時刻環(huán)境,如XML或ECMA腳本等跨平臺標(biāo)準(zhǔn)可以用于定義應(yīng)用程序組件元數(shù)據(jù),而替代預(yù)先構(gòu)建組件應(yīng)用程序302。這種延遲構(gòu)建可以允許在以多種不同的設(shè)備100表示的更為廣泛的終端系統(tǒng)環(huán)境下運(yùn)行組件應(yīng)用程序302的普通應(yīng)用程序定義。
      使用XML或其派生事物來表達(dá)數(shù)據(jù)400、消息404和表示402組件,以及使用ECMA腳本語言或其子集來表達(dá)工作流組件406能夠允許應(yīng)用程序開發(fā)商從任何特定的平臺或環(huán)境中提取出網(wǎng)絡(luò)服務(wù)客戶端,并在理論上實(shí)現(xiàn)“開發(fā)一次任何地方運(yùn)行”的應(yīng)用程序。以下示例示出了如何使用如但并不局限于XML等的結(jié)構(gòu)定義語言以及如但并不局限于ECMA腳本等平臺中立腳本/編程語言、已定義組件來表達(dá)網(wǎng)絡(luò)服務(wù)客戶端應(yīng)用程序302示例XML數(shù)據(jù)組件400&lt;data name=″Order″&gt;
      &lt;item name=″orderId″type=″Number″key=“true″/&gt;
      &lt;item name=“items″type=″String″array=″true″/&gt;
      &lt;item name=″user″comp=″true″compName=″User″/&gt;
      &lt;item name=″orderStatus″type=″String″/&gt;&lt;/data&gt;…示例XML消息組件404&lt;msg name=“ordConfirmation″type=”response”action=“mhConfirmation″&gt;
      &lt;part name=“orderId″type=″String“ /&gt;
      &lt;part name=“status″type=″String“ /&gt;&lt;/msg&gt;…示例XML表示組件402&lt;screen name=″scrConfirmation″ title=“Order Confirmation″param=″Order″&gt;
      &lt;layout type=″vertical″&gt;
      &lt;widget type=″label″value=″Order Confirmation Result″/&gt;
      &lt;widget type=″edit″value=″@Order.orderStatus″/&gt;&lt;/layout&gt;…&lt;menu&gt;
      &lt;item label=″Continue″navigate=″@scrMain″/&gt;20…&lt;/menu&gt;&lt;/screen&gt;…示例ECMA腳本工作流組件406&lt;actions&gt;
      &lt;function name=”mhConfirmation”&gt;
      key=ordConfirmation.orderId;order=Order.get(key);order.orderStatus=ordConfirmation.status;
      scrConfirmation.display(order);&lt;/function&gt;
      …&lt;/actions&gt;
      參照圖4,如上所給出,可以看到,消息組件404中繼針對消息105的輸入和輸出的必需數(shù)據(jù)。相應(yīng)的數(shù)據(jù)組件400針對表示組件402在用戶接口202(參見圖2)上的隨后表示,協(xié)調(diào)數(shù)據(jù)在設(shè)備100的存儲模塊210(參見圖2)中的存儲。工作流組件406協(xié)調(diào)數(shù)據(jù)400、表示402和消息404組件之間的數(shù)據(jù)傳送。
      此外,與硬編碼本地應(yīng)用程序相比,組件應(yīng)用程序體系結(jié)構(gòu)可以提供相對較小的應(yīng)用程序下載尺寸(只由組件定義構(gòu)成),以及有效的數(shù)據(jù)存儲和持續(xù)模型。與針對瀏覽器應(yīng)用程序操縱如HTML頁面等再現(xiàn)表示相比,客戶端運(yùn)行時刻能夠直接存儲和更新原子數(shù)據(jù)實(shí)體。
      組件應(yīng)用程序模型的示例操作參照圖1、3和6,例如,操作600示出了當(dāng)設(shè)備100接收602包含消息數(shù)據(jù)的響應(yīng)消息105時,適當(dāng)?shù)墓ぷ髁鹘M件406根據(jù)適當(dāng)?shù)南⒔M件404解釋604消息105的數(shù)據(jù)內(nèi)容。然后,工作流組件406處理606數(shù)據(jù)內(nèi)容,并將數(shù)據(jù)插入910相應(yīng)的數(shù)據(jù)組件400中,以便隨后存儲612在存儲模塊210(參見圖2)中。此外,如果需要,工作流組件406還將數(shù)據(jù)插入608適當(dāng)?shù)谋硎窘M件402中,以便隨后在用戶接口202(參見圖2)上的顯示614。
      參照圖1、3和7,操作700示出了針對動作的數(shù)據(jù)輸入702,如按下按鈕或選擇菜單項(xiàng),由用戶通過用戶接口202(參見圖2)在用戶接口元素上執(zhí)行703。有關(guān)的工作流組件406根據(jù)適當(dāng)?shù)谋硎窘M件404,解釋704輸入數(shù)據(jù),并創(chuàng)建由適當(dāng)?shù)臄?shù)據(jù)組件400所定義的數(shù)據(jù)實(shí)體。然后,工作流組件406利用用戶所提供的輸入數(shù)據(jù),填充710數(shù)據(jù)組件400,以便隨后存儲712在存儲模塊210(參見圖2)中。此外,工作流組件406還將輸入數(shù)據(jù)插入708適當(dāng)?shù)南⒔M件404中,以便隨后在消息105中向網(wǎng)絡(luò)服務(wù)發(fā)送714輸入數(shù)據(jù),作為數(shù)據(jù)實(shí)體,如消息組件404所定義。
      數(shù)據(jù)和消息組件之間的映射如以上參照圖4所述,將無線應(yīng)用程序302表達(dá)為消息404、數(shù)據(jù)400和組件402、406的集合,包括規(guī)定了這些組件如何交互的信息。使用如XML等結(jié)構(gòu)定義語言表達(dá)應(yīng)用程序302。應(yīng)當(dāng)注意,將消息404和數(shù)據(jù)400都表達(dá)為組件具有一定的相似性·通過惟一的名稱定義每個組件400、404;以及·每個組件400、404規(guī)定了由名稱和聲明類型所構(gòu)成的一個或多個子字段。
      實(shí)際上,開發(fā)商對組件400、404的表達(dá)可以是幾乎相同的,而應(yīng)用程序302的每個組件400、404的行為不同。因此,通過意識到通常根據(jù)一些底層數(shù)據(jù)元素產(chǎn)生消息105(參見圖1)內(nèi)容的事實(shí),并清楚這些組件400、404的表達(dá)之間的相似性,便于將特定的映射800(參見圖8a)引入消息組件404的表達(dá)中,如下所述。這些映射800實(shí)質(zhì)上是對消息105的表達(dá)的快捷方式,規(guī)定如何獲得與消息組件404有關(guān)的消息定義,以及在執(zhí)行應(yīng)用程序302期間,在運(yùn)行時刻,消息組件如何動作。映射800是消息組件404定義和數(shù)據(jù)組件400定義之間的規(guī)定關(guān)系。對于消息組件404的表達(dá),使用映射800可以減少描述組件404所需的元數(shù)據(jù)量。因此,映射800的使用對于描述應(yīng)用程序302所需的“代碼”量具有直接的作用。對于組件404在運(yùn)行時刻如何操作,映射800規(guī)定了消息狀態(tài)如何解析和影響已鏈接數(shù)據(jù)元素(由數(shù)據(jù)組件400描述)。在這一點(diǎn)上,規(guī)定映射800可以減少開發(fā)商在應(yīng)用程序302中提供額外的特定消息處理代碼的需要。
      映射解析約定再次參照圖1和8a,應(yīng)用程序和相應(yīng)的服務(wù)304依賴于具有惟一標(biāo)識符802(參見圖8a)的映射解析約定或映射規(guī)則。此映射規(guī)則聲明了附加到數(shù)據(jù)組件400上的任何映射800將精確地映射到每個映射數(shù)據(jù)類型的一個關(guān)鍵字字段804。此映射規(guī)則提供了映射800所附的數(shù)據(jù)實(shí)例的惟一標(biāo)識和修改。映射規(guī)則聲明了映射800對相應(yīng)的消息組件404的消息內(nèi)容與之鏈接的數(shù)據(jù)組件400的實(shí)例進(jìn)行隔離。通過惟一標(biāo)識符802(即關(guān)鍵字)來解析數(shù)據(jù)組件400實(shí)例。應(yīng)當(dāng)注意,此標(biāo)識符802的組成可以是但并不局限于簡單的主要關(guān)鍵字或由多于一個字段產(chǎn)生的組合關(guān)鍵字。將數(shù)據(jù)組件400的數(shù)據(jù)定義中的單一字段804(如組件名稱)識別為表示此標(biāo)識符802。映射解析約定為每個已鏈接數(shù)據(jù)組件400提供了映射800中精確地涉及一個主要關(guān)鍵字字段804。映射800的這種一對一特性提供了輸入消息數(shù)據(jù)所應(yīng)用的數(shù)據(jù)實(shí)例的惟一解析,如下所述。將特定的數(shù)據(jù)實(shí)例表示為作為對每個字段名稱808的分配數(shù)據(jù)值的選定數(shù)據(jù)組件400。將消息實(shí)例806表示為作為通過映射800對包含消息字段的分配數(shù)據(jù)值的選定消息組件404。
      描述了兩類映射800字段級映射901和消息級映射801。以下詳細(xì)闡述如何表達(dá)消息404到數(shù)據(jù)400組件的映射800,并規(guī)定了用于惟一確定要將消息內(nèi)容應(yīng)用于何處的運(yùn)行時刻解析約定。
      消息級映射801再次參照圖8a,消息級映射801是從消息組件404直接到標(biāo)稱數(shù)據(jù)組件404定義的映射800,從而使消息806字段特性(消息實(shí)例)等同于所映射的數(shù)據(jù)組件。消息級映射801聲明了消息實(shí)例806從數(shù)據(jù)組件400的已鏈接數(shù)據(jù)元素中得出其完整的規(guī)范。已鏈接數(shù)據(jù)組件400中所描述的全部字段將出現(xiàn)在消息實(shí)例806中,可以觀察字段名稱808、類型聲明810和字段順序。例如,當(dāng)輸入或輸出消息實(shí)例806精確地復(fù)制由數(shù)據(jù)組件404的數(shù)據(jù)實(shí)例所表示的信息時,此類消息級映射801是方便的。參照圖8b,示出了Order數(shù)據(jù)組件400與submitOrder消息組件404之間的樣本消息級映射801。通過orderId主要關(guān)鍵字字段802的暗示鏈接來滿足映射801的映射解析約定。在圖8b中提供了此關(guān)系的樣本結(jié)構(gòu)定義語言描述(如XML)。從XML表達(dá)所清楚的是,通過引入此映射801可以減小應(yīng)用程序302定義(參見圖4)的尺寸,由于在已鏈接消息組件404中并未重復(fù)列出數(shù)據(jù)組件400的參量812。
      字段級映射901字段級映射901(參見圖9a、9b)提供了從消息組件404定義的特定字段904到標(biāo)稱數(shù)據(jù)組件400定義的標(biāo)稱字段808的映射800。在需要映射800的更為靈活的設(shè)置的情況下,可以采用字段級映射901。在這種配置下,每個字段映射901規(guī)定了消息實(shí)例906的每個選定字段904和與數(shù)據(jù)組件400相對應(yīng)的數(shù)據(jù)實(shí)例的字段808之間的鏈接??梢源嬖谌我鈹?shù)量的這種字段映射901。字段映射901可以只涉及一個目標(biāo)數(shù)據(jù)組件400(一對一鏈接)或者可以通過分離的字段映射901將多個數(shù)據(jù)組件400鏈接到消息實(shí)例906(一對多鏈接)。為了滿足映射解析約定,針對消息組件404與之鏈接的每個數(shù)據(jù)組件400,包括關(guān)鍵字字段802。
      參照圖9a,一對一映射901設(shè)置包括對單一數(shù)據(jù)組件400的鏈接。對表示數(shù)據(jù)組件400的主要關(guān)鍵字802的字段進(jìn)行一個字段映射901,從而將消息實(shí)例906與數(shù)據(jù)組件400的數(shù)據(jù)實(shí)例相鏈接。在組件404的選定消息字段904和組件400的相應(yīng)數(shù)據(jù)字段808之間進(jìn)行其他映射901。圖9a示出了典型字段級映射901關(guān)系,其中將Part字段808的子集鏈接到priceReduction消息字段904。通過使鏈接901到被表示為Part的關(guān)鍵字字段802的partNo字段來滿足映射解析約定。在圖9b中給出了對這些關(guān)系的樣本XML表達(dá),其中以粗體示出了關(guān)鍵字字段映射901。應(yīng)當(dāng)意識到,消息實(shí)例906可以具有多于一個的消息字段904,每個均映射901到相同關(guān)鍵字802下的各個數(shù)據(jù)字段808(即,可以使用相同的關(guān)鍵字802,將消息組件404鏈接到數(shù)據(jù)組件400的兩個或更多數(shù)據(jù)字段808)。
      復(fù)雜映射1001參照圖10a和10b,復(fù)雜映射1000配置由對兩個或更多個數(shù)據(jù)組件400的字段級映射901構(gòu)成。與圖8a、b所示的一對一映射情況一樣,針對通過字段映射901的集合進(jìn)行鏈接的每個數(shù)據(jù)組件400,提供不同的惟一主要關(guān)鍵字字段802。圖10b示出了orderUpdate消息404和Order與Inventory數(shù)據(jù)組件400之間的關(guān)系的XML表示。對于所鏈接的兩個數(shù)據(jù)組件400中的每一個,與關(guān)鍵字802的各個主要字段映射901是適當(dāng)?shù)?;orderId字段關(guān)鍵字802針對Order 400,以及partNo字段關(guān)鍵字802針對Inventory 400。這滿足映射解析約定。以粗體示出了這些主要關(guān)鍵字字段映射901。
      考慮到圖8a、b、9a、b和10a、b所示的示例,其他映射800設(shè)置是可能的。其示例包括但并不局限于擴(kuò)展定義、消息原型和到達(dá)事件處理,如以下所述。擴(kuò)展定義是通過定義額外的未映射字段904來擴(kuò)展消息801或字段映射901設(shè)置的消息組件404。此擴(kuò)展消息實(shí)例906可以擴(kuò)展其定義,在存在映射801、901的情況下,通過添加并未映射到相應(yīng)的數(shù)據(jù)組件400的字段904,而不是在消息組件定義404內(nèi)完成其自身的規(guī)范。可以將這些字段904添加到具有一個或多個字段映射801、901的消息906,或者被映射801、901到相應(yīng)的數(shù)據(jù)組件400的消息906。擴(kuò)展定義可以為已映射消息906的規(guī)范提供額外的靈活性手段。消息原型可以定義為擴(kuò)展另一消息組件404的聲明定義的能力。這種機(jī)制具有與面向?qū)ο蟮倪z留的類似效果;父消息906的所有聲明字段904均可用于擴(kuò)展消息906。對于映射801、901關(guān)系,擴(kuò)展消息映射801、901可以超越父消息906上所聲明的任何映射規(guī)范。對于消息到達(dá)事件處理,可以通過允許額外的處理代碼與消息接收相關(guān)聯(lián),進(jìn)一步增強(qiáng)映射機(jī)制??梢酝ㄟ^應(yīng)用程序XML、通過消息組件404的規(guī)范來識別處理代碼體。處理代碼可以是具體實(shí)現(xiàn)在應(yīng)用程序302中的腳本(如ECMA腳本)(如工作流組件406),或者可以識別由組件框架206(參見圖2)的設(shè)備運(yùn)行時刻環(huán)境所提供的標(biāo)準(zhǔn)本地變換。稍后還將對消息到達(dá)時間處理的操作進(jìn)行進(jìn)一步的討論。
      消息產(chǎn)生1100參照圖8a、b、9a、b和11,對于消息實(shí)例906的發(fā)起,消息到數(shù)據(jù)映射801、901定義了消息實(shí)例906將要承載的內(nèi)容的源和格式。消息格式可以等同地得自于已鏈接數(shù)據(jù)組件400(消息映射801),或者可以通過多個數(shù)據(jù)組件400關(guān)系(字段級映射901)的聚集效果來定義。最后,一些消息字段可以承載其自身的聲明(擴(kuò)展定義)。為了產(chǎn)生規(guī)定了映射的類型801、901的原始消息實(shí)例906,向產(chǎn)生處理1100的輸入提供所有從屬的數(shù)據(jù)組件400實(shí)例。此外,字段904的擴(kuò)展聲明的使用暗示了所提供的消息實(shí)例906提供了必需的字段值。
      參照圖9a、b和11,利用消息聲明Ms(對應(yīng)于消息組件404),進(jìn)行消息實(shí)例M(對應(yīng)于消息實(shí)例806、906)的最終產(chǎn)生1114。在直接消息映射801的情況下,與輸入數(shù)據(jù)實(shí)例d一起使用已映射數(shù)據(jù)組件定義Ds(對應(yīng)于數(shù)據(jù)組件400),已確定最終消息實(shí)例M。在步驟1102中,獲得消息組件Ms,并在步驟1104中,由設(shè)備運(yùn)行時刻環(huán)境(例如通信服務(wù)306——參見圖3)通過檢查組件Ms以確定消息級映射801是否存在來進(jìn)行決定。在肯定的情況下,如映射801所定義,獲得1106元數(shù)據(jù)聲明Ds。服務(wù)306從持續(xù)服務(wù)310輸入1108數(shù)據(jù)實(shí)例d值,并寫入1112消息實(shí)例Ms的消息字段904中。然后,通信服務(wù)306分析1110數(shù)據(jù)組件Ds,以確定是否存在與由映射801所暗示的消息實(shí)例M相關(guān)的任意數(shù)據(jù)字段808。在肯定的情況下,重復(fù)步驟1106、1108和1112,直到消息實(shí)例M中包括所有字段808。然后,在步驟1114,產(chǎn)生消息實(shí)例M。
      在字段映射901的情況下,由通信服務(wù)306通過詢問消息字段級映射901來提取出數(shù)據(jù)組件定義Dsp和次級數(shù)據(jù)字段聲明Ds.fn。將來自輸入數(shù)據(jù)實(shí)例di的適當(dāng)字段值808(d.fn)添加到輸出消息實(shí)例M中。在步驟1104中的否定情況下,在步驟1116,通信服務(wù)306確定是否存在字段映射901,如果不存在,則在步驟1114產(chǎn)生消息實(shí)例M的當(dāng)前內(nèi)容,如上所述。否則,分析1118消息字段904描述,并且其中字段映射901是適當(dāng)?shù)?120,并獲得1124已映射數(shù)據(jù)組件類型,并從數(shù)據(jù)組件Ds中獲得1126已映射字段類型聲明,并從持續(xù)服務(wù)310獲得1128與聲明相對應(yīng)的數(shù)據(jù)實(shí)例的數(shù)據(jù)值。然后,利用數(shù)據(jù)組件Ds的格式,將數(shù)值寫入相應(yīng)的消息字段904中。如果不存在其他映射901,則在步驟1114產(chǎn)生消息實(shí)例M。最后,在擴(kuò)展定義的情況下,直接從Ms中獲取1122字段格式,并可以預(yù)期,可以通過輸入消息實(shí)例M得到字段值。應(yīng)當(dāng)意識到,可以提供上述消息和字段映射801、901的組合,尤其是在消息實(shí)例M中提供多于一類的映射的情況下(即,對與消息組件Ms相鏈接的多個組件Ds的多個映射801、901)。
      消息處理1200在消息實(shí)例M(參見圖1)到達(dá)時,映射800具有兩種效果之一·導(dǎo)致字段d.fn更新已映射數(shù)據(jù)組件實(shí)例d;以及·導(dǎo)致由進(jìn)一步的映射關(guān)系800所確定的具有字段d.fn的新數(shù)據(jù)組件實(shí)例d的創(chuàng)建。
      借助于消息到數(shù)據(jù)映射解析約定來確定對其應(yīng)用了消息字段值M.fn的數(shù)據(jù)實(shí)例d。通過取被映射到數(shù)據(jù)主要關(guān)鍵字字段802(參見圖8a)的消息字段值M.fn,來解析數(shù)據(jù)實(shí)例d。根據(jù)所采用的映射800的類型,到達(dá)了設(shè)備100或網(wǎng)絡(luò)服務(wù)106的消息M可以影響一個(消息映射801)或者一個或多個(字段映射901)數(shù)據(jù)實(shí)例d。為了找出和更新數(shù)據(jù),與消息字段904(參見圖9a)相對應(yīng)的、被映射到數(shù)據(jù)主要關(guān)鍵字字段的消息字段值M.fn不是惟一的。已映射類型的數(shù)據(jù)實(shí)例d已經(jīng)與主要關(guān)鍵字值802一起存在。通過此主要關(guān)鍵字值802來解析數(shù)據(jù)實(shí)例d,以及對此數(shù)據(jù)類型的所有其他映射800更新此數(shù)據(jù)實(shí)例d上的字段d.fn。應(yīng)當(dāng)注意,在采用字段映射901時,可以存在多于一個受到此處理影響的數(shù)據(jù)實(shí)例d。為了創(chuàng)建新數(shù)據(jù),與消息字段相對應(yīng)的、被映射到數(shù)據(jù)主要關(guān)鍵字字段的消息字段值M.fn是惟一的。結(jié)果,以關(guān)聯(lián)主要關(guān)鍵字值802創(chuàng)建數(shù)據(jù)的新實(shí)例d。對此數(shù)據(jù)類型的所有隨后的映射更新新創(chuàng)建數(shù)據(jù)實(shí)例d上的字段d.fn。與“找出并更新”一樣,當(dāng)使用字段映射901是,可以創(chuàng)建多于一個的數(shù)據(jù)實(shí)例d。對于數(shù)據(jù)解析和更新處理,在圖12中示出了對到達(dá)消息M的處理和對現(xiàn)有/新數(shù)據(jù)實(shí)例d的作用。在數(shù)據(jù)解析和更新處理中并不包括擴(kuò)展定義(未映射)字段。為了簡單,以下并未示出檢測此字段類型的情況。圖12示出了針對通過映射800與消息實(shí)例m相關(guān)聯(lián)的數(shù)據(jù)組件400的解析和更新處理。
      在步驟1202,從消息組件Ms獲得消息實(shí)例m的元數(shù)據(jù)定義,其中在步驟1204,將消息實(shí)例m與消息組件404相關(guān)。在步驟1206處的直接消息映射801的情況下,從映射信息獲得1208數(shù)據(jù)組件規(guī)范Ds。確定1210 Ds的主要關(guān)鍵字字段,并從m的相應(yīng)字段中獲得1212應(yīng)用于此字段(m.fpk)的數(shù)值。在步驟1214,在存儲器210(參見圖2)中搜索實(shí)例d的當(dāng)前版本。利用此數(shù)值,或者可以找到1216或者可以創(chuàng)建1218 Ds的實(shí)例,從而產(chǎn)生d。在步驟1220,確定數(shù)據(jù)組件Ds的更多字段。如果是,分析1222相應(yīng)字段的數(shù)據(jù)組件定義,并將m的剩余字段值應(yīng)用于1224所解析的相應(yīng)字段中的每一個,從而產(chǎn)生1226已更新/已創(chuàng)建數(shù)據(jù)實(shí)例d。
      在步驟1228,在字段映射901的情況下,確定每個字段映射901的主要關(guān)鍵字。從映射信息901獲得1230數(shù)據(jù)組件規(guī)范Ds。解析處理依賴于從被映射到數(shù)據(jù)組件主要字段的Ms(Ms.fpki)中確定所有字段級映射901??梢詮腗s.fpki中確定字段映射901的組件數(shù)據(jù)類型,作為Dsi。使用1232來自針對此字段(m.fpki)的輸入消息m的關(guān)鍵字值802,可以找出1236或創(chuàng)建1234數(shù)據(jù)實(shí)例Dsi,從而產(chǎn)生與Dsi相對應(yīng)的數(shù)據(jù)實(shí)例di。在順序選擇1238每個字段di.fn時,解析和更新數(shù)據(jù)實(shí)例di。獲得1240已映射消息字段Ms.fp,并獲得1242相應(yīng)的已映射字段定義Dsi.fn。被映射到901 Dsi的字段的Ms的剩余字段具有其自身取自于消息實(shí)例字段m.fp的值,并使用Dsi的相應(yīng)字段格式Dsi.fn應(yīng)用于1244 di.fn。繼續(xù)此處理,直到對全部映射數(shù)據(jù)實(shí)例進(jìn)行了更新為止,從而在步驟1226產(chǎn)生d。
      如前所述,參照圖1,需要的是與腳本或其他可執(zhí)行單元(例如,工作流組件406——參見圖4)相關(guān)聯(lián),以便在消息105到達(dá)時,對應(yīng)用程序302執(zhí)行額外的處理或變換。為此,消息組件定義404可以規(guī)定定制處理單元的地址(框架206的一部分),在此類消息105到達(dá)時,將涉及所述定制處理單元。除了執(zhí)行腳本之外,智能設(shè)備運(yùn)行時刻使得消息105及其所有字段值可用于處理單元的范圍。此外,使通過映射800加以影響的全部數(shù)據(jù)實(shí)例di可用于處理單元的范圍。
      盡管這里已經(jīng)對一個或多個典型系統(tǒng)和方法進(jìn)行了公開,多種變體對本領(lǐng)域的普通技術(shù)人員而言是顯而易見的,而且這種變體在本申請的范圍之內(nèi)。例如,盡管在所提供的示例中使用XML和ECMA腳本的子集,其他語言和語言變體可以用于定義組件應(yīng)用程序302。此外,應(yīng)當(dāng)意識到,作為上述映射800和操作1100、1200的替代,可以將數(shù)據(jù)字段808的定義(參見圖8)包含在消息組件404(參見圖4)中。因此,消息實(shí)例的產(chǎn)生將基于包括在消息組件404定義中的數(shù)據(jù)字段定義,而數(shù)據(jù)組件400將被映射到800包括數(shù)據(jù)字段定義的相應(yīng)消息組件404。因此,數(shù)據(jù)實(shí)例的產(chǎn)生將依賴于包含在映射消息組件404中的數(shù)據(jù)字段定義。
      權(quán)利要求
      1.一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;獲得與所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于如所述映射所表示,在消息組件和數(shù)據(jù)組件之間共享數(shù)據(jù)組件的多個數(shù)據(jù)字段定義。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于還包括以下步驟如所述惟一標(biāo)識符所表示,將多個數(shù)據(jù)字段定義鏈接到消息組件的相應(yīng)消息字段。
      4.根據(jù)權(quán)利要求2所述的方法,其特征在于還包括以下步驟識別與消息組件相關(guān)的額外處理代碼,以便有助于消息實(shí)例的處理。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述處理代碼規(guī)定了用于處理所述處理代碼的提供單元的地址。
      6.根據(jù)權(quán)利要求3所述的方法,其特征在于還包括以下步驟識別與所述惟一標(biāo)識符相關(guān)的額外的未映射消息字段定義。
      7.根據(jù)權(quán)利要求2所述的方法,其特征在于所述映射是字段級映射,將第一消息字段定義鏈接到第一數(shù)據(jù)字段定義,以及將第二消息字段定義鏈接到第二數(shù)據(jù)字段定義。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于消息組件的消息字段定義的數(shù)量小于所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義的數(shù)量。
      9.根據(jù)權(quán)利要求7所述的方法,其特征在于通過第一惟一標(biāo)識符,將所述第一消息字段定義映射到第一數(shù)據(jù)組件,以及通過第二惟一標(biāo)識符,將所述第二消息字段定義映射到不同于所述第一數(shù)據(jù)組件的第一數(shù)據(jù)組件。
      10.根據(jù)權(quán)利要求8所述的方法,其特征在于使用所述惟一標(biāo)識符,將所述第一消息字段定義和所述第二消息字段定義映射到相同的數(shù)據(jù)組件。
      11.根據(jù)權(quán)利要求2所述的方法,其特征在于所述結(jié)構(gòu)定義語言是基于XML的。
      12.根據(jù)權(quán)利要求11所述的方法,其特征在于所述應(yīng)用程序是無線應(yīng)用程序,以及所述設(shè)備是無線設(shè)備。
      13.根據(jù)權(quán)利要求2所述的方法,其特征在于所述惟一標(biāo)識符是簡單主要關(guān)鍵字。
      14.根據(jù)權(quán)利要求2所述的方法,其特征在于所述惟一標(biāo)識符是合成關(guān)鍵字。
      15.根據(jù)權(quán)利要求2所述的方法,其特征在于所述消息組件定義了與從屬消息組件相關(guān)的父消息組件。
      16.根據(jù)權(quán)利要求15所述的方法,其特征在于還包括以下步驟從屬消息組件的各個映射超越父消息組件的映射。
      17.一種用于根據(jù)與設(shè)備上所執(zhí)行的應(yīng)用程序相對應(yīng)的消息實(shí)例產(chǎn)生數(shù)據(jù)實(shí)例的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;從與所映射的數(shù)據(jù)組件相對應(yīng)的消息實(shí)例中,獲得消息實(shí)例字段值;如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,將消息實(shí)例字段值分配給數(shù)據(jù)實(shí)例的數(shù)據(jù)字段值。
      18.根據(jù)權(quán)利要求17所述的方法,其特征在于如所述映射所表示,在消息組件和數(shù)據(jù)組件之間共享數(shù)據(jù)組件的多個數(shù)據(jù)字段定義。
      19.根據(jù)權(quán)利要求18所述的方法,其特征在于還包括以下步驟如所述惟一標(biāo)識符所表示,將多個數(shù)據(jù)字段定義鏈接到消息組件的相應(yīng)消息字段。
      20.根據(jù)權(quán)利要求18所述的方法,其特征在于還包括以下步驟識別與消息組件相關(guān)的額外處理代碼,以便有助于消息實(shí)例的處理。
      21.根據(jù)權(quán)利要求20所述的方法,其特征在于所述處理代碼規(guī)定了用于處理所述處理代碼的提供單元的地址。
      22.根據(jù)權(quán)利要求19所述的方法,其特征在于還包括以下步驟識別與所述惟一標(biāo)識符相關(guān)的額外的未映射消息字段定義。
      23.根據(jù)權(quán)利要求18所述的方法,其特征在于所述映射是字段級映射,將第一消息字段定義鏈接到第一數(shù)據(jù)字段定義,以及將第二消息字段定義鏈接到第二數(shù)據(jù)字段定義。
      24.根據(jù)權(quán)利要求23所述的方法,其特征在于消息組件的消息字段定義的數(shù)量小于所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義的數(shù)量。
      25.根據(jù)權(quán)利要求23所述的方法,其特征在于通過第一惟一標(biāo)識符,將所述第一消息字段定義映射到第一數(shù)據(jù)組件,以及通過第二惟一標(biāo)識符,將所述第二消息字段定義映射到不同于所述第一數(shù)據(jù)組件的第一數(shù)據(jù)組件。
      26.根據(jù)權(quán)利要求24所述的方法,其特征在于使用所述惟一標(biāo)識符,將所述第一消息字段定義和所述第二消息字段定義映射到相同的數(shù)據(jù)組件。
      27.根據(jù)權(quán)利要求18所述的方法,其特征在于所述結(jié)構(gòu)定義語言是基于XML的。
      28.根據(jù)權(quán)利要求27所述的方法,其特征在于所述應(yīng)用程序是無線應(yīng)用程序,以及所述設(shè)備是無線設(shè)備。
      29.根據(jù)權(quán)利要求16所述的方法,其特征在于所述惟一標(biāo)識符是簡單主要關(guān)鍵字。
      30.根據(jù)權(quán)利要求18所述的方法,其特征在于所述惟一標(biāo)識符是合成關(guān)鍵字。
      31.根據(jù)權(quán)利要求18所述的方法,其特征在于所述消息組件定義了與從屬消息組件相關(guān)的父消息組件。
      32.根據(jù)權(quán)利要求31所述的方法,其特征在于還包括以下步驟從屬消息組件的各個映射超越父消息組件的映射。
      33.一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與數(shù)據(jù)實(shí)例相對應(yīng)的數(shù)據(jù)組件;識別出現(xiàn)在數(shù)據(jù)組件中的惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的消息組件;獲得與所映射的消息組件的消息字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;如所映射的消息組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。
      34.一種用于根據(jù)與設(shè)備上所執(zhí)行的應(yīng)用程序相對應(yīng)的消息實(shí)例產(chǎn)生數(shù)據(jù)實(shí)例的方法,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟選擇與消息實(shí)例相對應(yīng)的消息組件;識別出現(xiàn)在數(shù)據(jù)組件中的惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的消息組件;從與所映射的消息組件的數(shù)據(jù)字段定義相對應(yīng)的消息實(shí)例中,獲得消息實(shí)例字段值;如所映射的消息組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,將消息實(shí)例字段值分配給數(shù)據(jù)實(shí)例的數(shù)據(jù)字段值。
      35.一種用于根據(jù)數(shù)據(jù)實(shí)例產(chǎn)生通信消息實(shí)例以便與設(shè)備上所執(zhí)行的應(yīng)用程序交互的設(shè)備,所述應(yīng)用程序包括具有至少一個數(shù)據(jù)字段定義的數(shù)據(jù)組件和具有至少一個消息字段定義的消息組件,以結(jié)構(gòu)定義語言表達(dá)所述組件定義,所述方法包括以下步驟裝置,用于選擇與消息實(shí)例相對應(yīng)的消息組件;裝置,用于識別出現(xiàn)在消息組件中的至少一個惟一映射,如表示所述映射的惟一標(biāo)識符所定義,所述映射用于規(guī)定消息組件和數(shù)據(jù)組件之間的關(guān)系;裝置,用于根據(jù)惟一映射標(biāo)識符,選擇由所述映射所映射的數(shù)據(jù)組件;裝置,用于獲得與所映射的數(shù)據(jù)組件的數(shù)據(jù)字段定義相對應(yīng)的數(shù)據(jù)實(shí)例字段值;裝置,用于如所映射的數(shù)據(jù)組件中所定義,根據(jù)數(shù)據(jù)字段定義的格式,產(chǎn)生消息實(shí)例的消息字段值,以包括數(shù)據(jù)實(shí)例字段值。
      全文摘要
      需要的是,通過降低對任何外在編碼的需求以及降低在提供時由應(yīng)用程序所利用的設(shè)備資源,來降低開發(fā)無線應(yīng)用程序中所涉及的復(fù)雜度。具有智能無線設(shè)備運(yùn)行時刻環(huán)境(設(shè)備運(yùn)行時刻)來提供基本服務(wù)組以便對無線應(yīng)用程序進(jìn)行管理,作為一系列應(yīng)用程序組件及其交互,能夠簡化開發(fā)強(qiáng)度并降低資源分配。將無線應(yīng)用程序描述為組件組。使用原子數(shù)據(jù)組件,定義此應(yīng)用程序類的數(shù)據(jù)域。使用原子消息組件,定義設(shè)備和服務(wù)器之間的通信。使用如XML等結(jié)構(gòu)定義語言,在元數(shù)據(jù)中描述消息和數(shù)據(jù)組件。以消息/數(shù)據(jù)映射的形式,將消息和數(shù)據(jù)組件之間的關(guān)系嵌入XML定義中。典型地,輸出消息得自于一些底層數(shù)據(jù)組件,而輸入消息影響應(yīng)用程序的當(dāng)前狀態(tài)(或數(shù)據(jù)表示)。
      文檔編號G06F9/44GK1662011SQ20051005245
      公開日2005年8月31日 申請日期2005年2月28日 優(yōu)先權(quán)日2004年2月27日
      發(fā)明者布萊恩·R·戈林, 邁克爾·申菲爾德, 卡門·B·維塔諾夫, 菲拉·比布爾 申請人:捷訊研究有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1