欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的系統(tǒng)及方法

文檔序號(hào):7950851閱讀:206來源:國(guó)知局
專利名稱:根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及無線通信應(yīng)用和無線通信設(shè)備,具體涉及一種 根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的裝置及方法。
背景技術(shù)
無線設(shè)備被公認(rèn)為優(yōu)選的個(gè)人通信媒介,導(dǎo)致了對(duì)這種設(shè)備的日 益增長(zhǎng)的需求。這種設(shè)備的用戶還越來越希望通過這種設(shè)備可以使用 更多的功能和更廣的服務(wù)范圍。這種對(duì)更多功能的需求需要開發(fā)針對(duì) 無線設(shè)備的新應(yīng)用。
無線設(shè)備的信息的重要來源是萬維網(wǎng)。眾所周知,支持網(wǎng)絡(luò)的設(shè) 備可以使用許多萬維網(wǎng)服務(wù)(在下文中簡(jiǎn)稱為"網(wǎng)絡(luò)服務(wù)")。
圖1是現(xiàn)有技術(shù)的網(wǎng)絡(luò)的框圖,其中,無線設(shè)備用戶10a、 10b 操作無線設(shè)備,經(jīng)由公共域承載網(wǎng)絡(luò)(carrier) 12向應(yīng)用網(wǎng)關(guān)14發(fā)送 網(wǎng)絡(luò)服務(wù)請(qǐng)求消息。應(yīng)用網(wǎng)關(guān)14通過因特網(wǎng)16將網(wǎng)絡(luò)服務(wù)請(qǐng)求消息 轉(zhuǎn)發(fā)至相應(yīng)的網(wǎng)絡(luò)服務(wù)18a、 18b。相應(yīng)的網(wǎng)絡(luò)服務(wù)18a、 18b處理該 消息,并通過因特網(wǎng)16向應(yīng)用網(wǎng)關(guān)14返回消息。公共域承載網(wǎng)絡(luò)12 將響應(yīng)消息轉(zhuǎn)發(fā)至用戶10a、 10b所操作的無線設(shè)備,該無線設(shè)備處理 該響應(yīng)并向無線設(shè)備用戶10a、 10b顯示響應(yīng)內(nèi)容。
但是,網(wǎng)絡(luò)服務(wù)一般使用復(fù)雜數(shù)據(jù)結(jié)構(gòu)和復(fù)雜消息格式。復(fù)雜數(shù) 據(jù)結(jié)構(gòu)和復(fù)雜消息格式引入了無線設(shè)備上很大的存儲(chǔ)器開銷。這影響 了無線設(shè)備的性能,使得有必要開發(fā)用于提供對(duì)網(wǎng)絡(luò)服務(wù)的有效訪問 的無線應(yīng)用。
眾所周知,熟練的應(yīng)用開發(fā)者可以開發(fā)用于從無線設(shè)備訪問網(wǎng)絡(luò) 服務(wù)的無線應(yīng)用。此外,已知這種應(yīng)用的開發(fā)耗時(shí)且花費(fèi)巨大。
因此,需要一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的系統(tǒng)和方法。

發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用 的系統(tǒng)和方法。
根據(jù)本發(fā)明的第一方面,提供了一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線 應(yīng)用的方法,包括接受網(wǎng)絡(luò)服務(wù)消息作為輸入,并確定每個(gè)網(wǎng)絡(luò)服務(wù) 消息是輸入還是輸出消息,其特征在于為每個(gè)網(wǎng)絡(luò)服務(wù)消息創(chuàng)建消 息對(duì)象和組件映射對(duì)象,將組件映射對(duì)象鏈接至消息對(duì)象和網(wǎng)絡(luò)服務(wù) 消息,并將網(wǎng)絡(luò)服務(wù)消息的消息部分映射到無線應(yīng)用的消息部分。
根據(jù)本發(fā)明的另一方面,提供了一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線 應(yīng)用的系統(tǒng),包括應(yīng)用開發(fā)者工作站,所述應(yīng)用開發(fā)者工作站包括計(jì) 算機(jī)可執(zhí)行代碼,所述計(jì)算機(jī)可執(zhí)行代碼用于接受網(wǎng)絡(luò)服務(wù)消息作為 輸入、確定每個(gè)網(wǎng)絡(luò)服務(wù)消息是輸入還是輸出消息,其特征在于計(jì) 算機(jī)可執(zhí)行代碼用于為每個(gè)網(wǎng)絡(luò)服務(wù)消息創(chuàng)建消息對(duì)象和組件映射對(duì) 象、將組件映射對(duì)象鏈接至消息對(duì)象和網(wǎng)絡(luò)服務(wù)消息、以及將網(wǎng)絡(luò)服 務(wù)消息的消息部分映射到無線應(yīng)用的消息部分。
根據(jù)本發(fā)明的又一方面,提供了一種可銷售的產(chǎn)品,包括存儲(chǔ)有 計(jì)算機(jī)可執(zhí)行代碼的計(jì)算機(jī)可讀存儲(chǔ)器,所述計(jì)算機(jī)可執(zhí)行代碼用于 執(zhí)行根據(jù)本發(fā)明的所有方法。


根據(jù)下文的詳細(xì)描述并結(jié)合附圖,本發(fā)明的更多特征和優(yōu)點(diǎn)將更 顯而易見,其中
圖1是現(xiàn)有技術(shù)的無線網(wǎng)絡(luò)系統(tǒng)的框圖2是示出了創(chuàng)建和啟用根據(jù)本發(fā)明的系統(tǒng)的過程的示意圖; 圖3是根據(jù)本發(fā)明的代理服務(wù)器的框圖; 圖4是根據(jù)本發(fā)明的無線設(shè)備的框圖5是根據(jù)本發(fā)明的系統(tǒng)中的無線設(shè)備與遠(yuǎn)程服務(wù)之間的消息傳 遞的高級(jí)概圖6是用于根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的根據(jù)本發(fā)明的算法 的主線的流程圖7是圖6所示的算法的mapPart函數(shù)的流程圖8是圖7所示的算法的handleElementDeclamtion函數(shù)的流程
圖9是圖8所示的算法的handleTypeDefmition函數(shù)的流程圖; 圖10是圖9所示的算法的handleSimpleTypeDefmition函數(shù)的流 程圖11是圖10所示的算法的computeSimpleDataType函數(shù)的流程
圖12是圖10所示的算法的mapEnumeration函數(shù)的流程圖; 圖13是圖11所示的算法的computeAtomicType函數(shù)的流程圖; 圖14是圖9所示的算法的mapDataComponent函數(shù)的流程圖; 圖15a是圖14所示的算法的handleComplexTypeDefinition函數(shù)的
流程圖15b是圖15a所示的流程圖的繼續(xù);
圖16是圖15b所示的算法的handleAttributeDeclaration函數(shù)的流 程圖17是圖15b所示的算法的handleAnyAttribute函數(shù)的流程圖; 圖18是圖15b所示的算法的handleSimpleContent函數(shù)的流程圖; 圖19是圖15a所示的算法的handleParticle函數(shù)的流程圖;以及 圖20是圖19所示的算法的handleModdGroup函數(shù)的流程圖, 注意在附圖中始終通過相似的附圖標(biāo)記標(biāo)識(shí)相似的特征。
具體實(shí)施例方式
本發(fā)明提供了一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的系統(tǒng)及方 法。該系統(tǒng)執(zhí)行程序代碼,該程序代碼體現(xiàn)了接收網(wǎng)絡(luò)服務(wù)操作定義、 并檢查輸入和輸出消息和該消息中使用的數(shù)據(jù)結(jié)構(gòu)以生成無線應(yīng)用中 對(duì)應(yīng)的消息和數(shù)據(jù)定義的算法。此外,該算法輸出使每個(gè)無線消息與 網(wǎng)絡(luò)服務(wù)消息關(guān)聯(lián)、以及使每個(gè)無線數(shù)據(jù)定義與網(wǎng)絡(luò)服務(wù)數(shù)據(jù)定義關(guān) 聯(lián)的映射。位于無線設(shè)備與網(wǎng)絡(luò)服務(wù)之間的通信路徑中的代理服務(wù)器 使用該映射,將網(wǎng)絡(luò)服務(wù)消息轉(zhuǎn)換為無線設(shè)備上運(yùn)行的應(yīng)用所使用的
格式,反之亦然。 系統(tǒng)綜述
圖2是示出了創(chuàng)建和啟用根據(jù)本發(fā)明的系統(tǒng)的過程的示意圖。
圖1所示的由無線設(shè)備的用戶10a、 10b所訪問的遠(yuǎn)程服務(wù)(例 如網(wǎng)絡(luò)服務(wù)20)使用復(fù)雜消息結(jié)構(gòu)以將信息傳遞給訪問遠(yuǎn)程服務(wù)的用 戶。同樣,網(wǎng)絡(luò)服務(wù)20使用復(fù)雜數(shù)據(jù)結(jié)構(gòu)用于數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)取回 (retrieval)。無線應(yīng)用開發(fā)者22使用網(wǎng)絡(luò)服務(wù)20的規(guī)范和應(yīng)用開發(fā) 者工具包以創(chuàng)建無線設(shè)備應(yīng)用24和消息映射26,以啟用根據(jù)本發(fā)明 的系統(tǒng)。根據(jù)針對(duì)網(wǎng)絡(luò)服務(wù)20的規(guī)范而創(chuàng)建具有消息格式和無線數(shù)據(jù) 結(jié)構(gòu)的無線設(shè)備應(yīng)用24。下文將參照?qǐng)D7-19進(jìn)行說明,使用根據(jù)網(wǎng) 絡(luò)服務(wù)定義而生成無線應(yīng)用的算法來創(chuàng)建無線數(shù)據(jù)結(jié)構(gòu)。該過程包括 將網(wǎng)絡(luò)服務(wù)消息映射到無線消息和數(shù)據(jù)結(jié)構(gòu)。然后,應(yīng)用開發(fā)者22 可以使用用于簡(jiǎn)化消息和數(shù)據(jù)結(jié)構(gòu)的自動(dòng)或半自動(dòng)的算法,以改進(jìn)無 線設(shè)備效率和減少無線帶寬使用。
無線網(wǎng)絡(luò)邊界處的代理服務(wù)器使用消息映射26,以將復(fù)雜服務(wù)消 息轉(zhuǎn)換為無線消息,然后將無線消息無線地發(fā)送至無線設(shè)備用戶10a、 10b。下文將參照?qǐng)D3和5說明,在本發(fā)明的一個(gè)實(shí)施例中,應(yīng)用數(shù)據(jù) 映射26的代理服務(wù)器是應(yīng)用網(wǎng)關(guān)。
圖3是根據(jù)本發(fā)明的代理服務(wù)器40的框圖。代理服務(wù)器40位于 無線設(shè)備10a、 10b和遠(yuǎn)程服務(wù)(例如萬維網(wǎng)服務(wù)18a、 18b)之間的 通信路徑中。在本發(fā)明的一個(gè)實(shí)施例中,代理服務(wù)器40是應(yīng)用網(wǎng)關(guān), 在下文中稱之為應(yīng)用網(wǎng)關(guān)40。
應(yīng)用網(wǎng)關(guān)40支持具有面向無線網(wǎng)絡(luò)的鏈路42的無線網(wǎng)絡(luò)接口 46。消息轉(zhuǎn)換功能48接收來自無線網(wǎng)絡(luò)接口 46的消息并處理該消息, 然后將該消息轉(zhuǎn)發(fā)至服務(wù)網(wǎng)絡(luò)接口 50。服務(wù)網(wǎng)絡(luò)接口 50具有面向服 務(wù)網(wǎng)絡(luò)44 (例如因特網(wǎng))的鏈路,通過該鏈路將消息轉(zhuǎn)發(fā)至相應(yīng)的網(wǎng) 絡(luò)服務(wù)。根據(jù)本發(fā)明,向應(yīng)用網(wǎng)關(guān)40提供多個(gè)消息映射52、 54。下 文將參照?qǐng)D5詳細(xì)說明,無線應(yīng)用開發(fā)者22使用根據(jù)本發(fā)明的算法創(chuàng) 建消息映射52、 54,消息轉(zhuǎn)換功能48使用消息映射52、 54以處理服
務(wù)請(qǐng)求和服務(wù)響應(yīng)消息。應(yīng)用幵發(fā)者22為每個(gè)網(wǎng)絡(luò)服務(wù)18a、 18b所 使用的每個(gè)消息類型創(chuàng)建一個(gè)消息映射52、 54。
圖4是根據(jù)本發(fā)明的無線設(shè)備56的框圖。無線設(shè)備56包括本領(lǐng) 域眾所周知的網(wǎng)絡(luò)連接接口 58,使用無線設(shè)備56以與公共域承載網(wǎng) 絡(luò)12進(jìn)行無線通信。無線設(shè)備56還包括用戶接口 60,用戶接口 60 可以是小鍵盤、觸摸屏(touch sensitive screen)、語音識(shí)別軟件或用于 無線設(shè)備的任何其它的用戶接口。設(shè)備基礎(chǔ)架構(gòu)62包括存儲(chǔ)器、處理 器、外圍端口、小鍵盤、顯示器和支持無線設(shè)備56的功能所需的其它 硬件組件。運(yùn)行時(shí)環(huán)境(runtime environment) 66支持存儲(chǔ)對(duì)應(yīng)的應(yīng) 用數(shù)據(jù)的多個(gè)數(shù)據(jù)結(jié)構(gòu)68a、 68n。
操作綜述
圖5提供了使用根據(jù)本發(fā)明的無線應(yīng)用的無線消息傳遞的概圖。 在步驟70中,當(dāng)用戶10a希望從網(wǎng)絡(luò)服務(wù)18a請(qǐng)求服務(wù)時(shí),無線設(shè)備 的用戶10a以無線格式制定(formulate)服務(wù)請(qǐng)求消息。將服務(wù)請(qǐng)求 消息轉(zhuǎn)發(fā)(步驟72)至應(yīng)用網(wǎng)關(guān)40,應(yīng)用網(wǎng)關(guān)40在步驟74中執(zhí)行服 務(wù)請(qǐng)求消息映射,以將服務(wù)請(qǐng)求消息從無線格式轉(zhuǎn)換為網(wǎng)絡(luò)服務(wù)18a 所需的網(wǎng)絡(luò)服務(wù)請(qǐng)求消息格式。應(yīng)用網(wǎng)關(guān)40將網(wǎng)絡(luò)服務(wù)請(qǐng)求消息轉(zhuǎn)發(fā) 至網(wǎng)絡(luò)服務(wù)18a(步驟76),網(wǎng)絡(luò)服務(wù)18a接收網(wǎng)絡(luò)服務(wù)請(qǐng)求消息并以 本領(lǐng)域周知的方式處理該消息(步驟78)。然后,網(wǎng)絡(luò)服務(wù)18a制定 并返回網(wǎng)絡(luò)服務(wù)響應(yīng)消息(步驟80)。應(yīng)用網(wǎng)關(guān)40接收網(wǎng)絡(luò)服務(wù)響應(yīng) 消息,使網(wǎng)絡(luò)服務(wù)響應(yīng)消息與先前發(fā)送的網(wǎng)絡(luò)服務(wù)請(qǐng)求消息關(guān)聯(lián),并 在步驟82中執(zhí)行網(wǎng)絡(luò)服務(wù)響應(yīng)消息映射,以將網(wǎng)絡(luò)服務(wù)響應(yīng)消息轉(zhuǎn)換 為具有無線設(shè)備10a所使用的無線格式的響應(yīng)消息。在步驟84中,應(yīng) 用網(wǎng)關(guān)40將具有無線格式的響應(yīng)消息轉(zhuǎn)發(fā)至無線設(shè)備10a。無線設(shè)備 10a接收服務(wù)響應(yīng)消息,并在步驟86中執(zhí)行服務(wù)響應(yīng)消息處理。取決 于在步驟86中處理的服務(wù)響應(yīng)消息的內(nèi)容,在步驟88中,無線設(shè)備 10a可以向用戶生成信息的顯示。
使用網(wǎng)絡(luò)服務(wù)定義的應(yīng)用生成
圖6是通過計(jì)算機(jī)可執(zhí)行代碼體現(xiàn)的根據(jù)本發(fā)明的算法的主線的
流程圖,用于根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用。例如,圖6所示的算 法是應(yīng)用開發(fā)者工具包22的一部分(圖2)。該算法接受復(fù)雜網(wǎng)絡(luò)服 務(wù)消息作為輸入,并輸出無線服務(wù)消息和消息映射,允許使用該無線 服務(wù)消息和消息映射重建復(fù)雜網(wǎng)絡(luò)服務(wù)消息。
如圖6所示,根據(jù)本發(fā)明的算法接受網(wǎng)絡(luò)服務(wù)定義所定義的消息, 并在步驟100中確定網(wǎng)絡(luò)服務(wù)定義所指定的消息是輸入消息還是輸出 消息。如果所選擇的消息是輸入消息,則創(chuàng)建輸入消息對(duì)象(步驟 102)。然后,該算法在步驟104中創(chuàng)建componentMapping對(duì)象,并 將該componentMapping對(duì)象鏈接至消息對(duì)象和網(wǎng)絡(luò)服務(wù)定義語言 (WSDL)消息(步驟109)。
如果在步驟100中確定該消息是輸出消息,該算法創(chuàng)建輸出消息 對(duì)象(步驟106)。然后,該算法創(chuàng)建componentMapping對(duì)象(步驟 108 )并將該componentMapping對(duì)象鏈接至消息對(duì)象和WSDL消息(步 驟109)。然后,該算法選擇第一消息部分(步驟110)并調(diào)用名為 mapPart的算法函數(shù)(步驟112)。本領(lǐng)域的技術(shù)人員將理解,該算法 將消息部分信息傳遞至mapPart函數(shù)。當(dāng)所調(diào)用的mapPart函數(shù)將控 制返回給圖6所示的主線時(shí),確定是否存在另一消息部分(步驟114)。 如果是,該算法調(diào)用函數(shù)mapPart (步驟112)。否則,在步驟116中 該算法確定在網(wǎng)絡(luò)服務(wù)定義中是否存在另一消息。如果是,該算法返 回至步驟100。否則,完成該應(yīng)用生成并且該算法終止執(zhí)行。
圖7是示出了名為mapPart的算法函數(shù)的流程圖。當(dāng)在步驟112 中調(diào)用mapPart時(shí),該算法分支轉(zhuǎn)移(branch)至步驟120并在步驟 122中產(chǎn)生消息字段對(duì)象。隨后,在步驟124中創(chuàng)建fieldMapping對(duì) 象。然后將fieldMapping對(duì)象鏈接至消息字段對(duì)象和WSDL部分(步 驟125)。然后,在步驟128中確定被傳遞至該函數(shù)的消息部分是否是 元素(dement )。如果該消息部分是元素,則調(diào)用 handleElementDeclaration(步驟132)。否則,調(diào)用handleTypeDefmition (步驟130)。
圖8是示出了算法函數(shù)handeElementDeclaration (140)的流程 圖。在步驟142中,該算法確定元素類型。然后該算法調(diào)用算法函數(shù) handleTypeDefmition (步驟144),將類型定義信息傳遞至算法函數(shù) handleTypeDefmition,并返回圖7中的步驟132。
圖9是示出了從圖7的步驟130分支轉(zhuǎn)移至的算法函數(shù) handleTypeDefmition (步驟150)的流程圖。在步驟152中,確定類 型數(shù)據(jù)組件是否是簡(jiǎn)單類型。如果是,則該算法調(diào)用函數(shù) handleSimpleTypeDefinition (步驟154),將簡(jiǎn)單類型定義傳遞至函數(shù) handleSimpleTypeDefmition 。如果不是,則該算法調(diào)用函數(shù) mapDataComponent (步驟156),將數(shù)據(jù)組件定義傳遞至函數(shù) mapDataComponent。然后該算法返回圖7中的步驟130。
圖10是示出了圖9的步驟154中調(diào)用的函數(shù) handleSimpleTypeDefmitkm (160)的流程圖。在步驟162中確定該簡(jiǎn) 單數(shù)據(jù)類型是否是枚舉。如果是,該算法調(diào)用函數(shù)mapEmimeration(步 驟164),將枚舉定義傳遞至函數(shù)mapEnumeratkm。如果不是,該算法 調(diào)用函數(shù)computeSimpleDataType (步驟166),將該簡(jiǎn)單數(shù)據(jù)類型定 義傳遞至函數(shù)computeSimpleDataType。在任一情況下,該算法然后返 回至圖9所示的步驟154。
圖11是示出了圖10的步驟166中調(diào)用的函數(shù) computeSimpleDataType (170)的流程圖。在步驟172中,確定簡(jiǎn)單 數(shù)據(jù)類型是否是原子(atomic )。如果是,該算法調(diào)用函數(shù) computeAtomicType (步驟174),將原子類型定義傳遞至函數(shù) computeAtomicType。如果該簡(jiǎn)單數(shù)據(jù)類型不是原子,則在步驟176 中確定該簡(jiǎn)單數(shù)據(jù)類型是否是列表。如果是,將字段數(shù)組特性設(shè)置為 "真"(步驟178)并且算法隨新參數(shù)分支轉(zhuǎn)移回到(步驟180)步驟 170。如果簡(jiǎn)單數(shù)據(jù)類型既不是原子也不是列表,該類型是根據(jù)本發(fā)明 的無線應(yīng)用所不支持的聯(lián)合(unkm)。因此,丟棄該字段對(duì)象和該字 段映射對(duì)象(步驟182),并且算法返回至圖10所示的步驟166。
圖12是示出了圖10所示的步驟164中所調(diào)用的算法函數(shù) mapEnumeration (190)的流程圖。在步驟192中創(chuàng)建枚舉對(duì)象。然后,
倉(cāng)廿建enumerationMapping對(duì)象(步驟194),并4每enumerationMapping
對(duì)象鏈接至枚舉對(duì)象和簡(jiǎn)單類型定義(步驟195)。然后為每個(gè)枚舉值 創(chuàng)建并映射枚舉文字對(duì)象(步驟196)。然后算法返回至圖IO所示的 步驟164。
圖13是示出了圖il所示的步驟174中調(diào)用的computeAtomicType (200)的流程圖。在步驟202中,以本領(lǐng)域周知的方式使用轉(zhuǎn)換表來 確定對(duì)應(yīng)的數(shù)據(jù)類型。然后,基于數(shù)據(jù)類型對(duì)該字段進(jìn)行更新(步驟 204),且該算法返回至圖11所示的步驟174。
圖14是示出了圖9所示的步驟156中調(diào)用的mapDataComponent (210)的流程圖。在步驟212中,該算法創(chuàng)建數(shù)據(jù)對(duì)象,然后創(chuàng)建 componentMapping對(duì)象(步驟214)。然后該算法將componentMapping 對(duì)象鏈接至數(shù)據(jù)對(duì)象和復(fù)雜類型定義(步驟215)。然后,該算法在步 驟216中調(diào)用handleComplexTypeDefinition,并返回至圖7所示的步 驟156。
圖15a和15b示出了從圖14所示的步驟216調(diào)用的算法函數(shù) handleComplexTypeDefinition (220)。在步驟222中,該算法確定復(fù)雜
數(shù)據(jù)類型是否具有基本類型。如果是,該算法首先基于該基本類型調(diào) 用圖M所示的函數(shù)mapDataComponent (步驟224)。然后該算法將數(shù) 據(jù)對(duì)象設(shè)為當(dāng)前復(fù)雜類型的原型(步驟226),并在步驟228中以本領(lǐng) 域周知的方式確定當(dāng)前復(fù)雜類型的類別(category)。在步驟230中, 確定該類別是否是空類型。如果是,該算法分支轉(zhuǎn)移至圖15b中所示 的步驟256。如果不是,則確定該類別是否是簡(jiǎn)單類型(步驟232)。 如果是,該算法調(diào)用函數(shù)handleSimpleContent (步驟234)并分支轉(zhuǎn) 移至圖15b所示的步驟256。如果不是簡(jiǎn)單類型,該算法確定該類別 是否是混合類型(步驟236 )。如果是,則丟棄該數(shù)據(jù)對(duì)象和 componentMapping對(duì)象,且該算法返回至圖14所示的步驟216。如 果該類別不是混合類型,則該算法確定該類別是否是Element—Only類 型(步驟238)。如果是,該算法調(diào)用handleParticle (步驟240)并分 支轉(zhuǎn)移至圖15b中的步驟256。如果不是,該算法選擇第一屬性(步 驟242)并在步驟244中確定該屬性是否是固定約束。如果是,在步
驟250中確定是否存在另一屬性并且該過程分支轉(zhuǎn)移回到步驟244。 如果該屬性不是固定約束,在步驟246中確定該屬性是否是禁止使用。 如果是,在步驟250中確定是否存在另一屬性且該過程分支轉(zhuǎn)移回到 步驟244。如果不是,在步驟248中調(diào)用handleAttributeDeclaration并 且該過程分支轉(zhuǎn)移至步驟250。在步驟252中確定該復(fù)雜類型是否具 有"任何屬性(AnyAttribute )"類型。如果是,調(diào)用函數(shù) handleAnyAttribute (步驟254)并將該復(fù)雜類型定義傳遞至該函數(shù)。 如果不是,在步驟256中確定在該數(shù)據(jù)對(duì)象中是否存在任何字段。如 果在該數(shù)據(jù)對(duì)象中存在字段,則該算法返回至圖14所示的步驟216。 如果在該數(shù)據(jù)對(duì)象中不存在字段,則該算法丟棄該數(shù)據(jù)對(duì)象和 componentMapping對(duì)象(步驟258),并返回至圖14所示的步驟26。
圖16是示出了從圖15b的步驟248調(diào)用的名為 handleAttributeDeclaration的算法部分(260)的流程圖。在步驟262 中,該算法創(chuàng)建數(shù)據(jù)字段對(duì)象,在步驟264中,該算法創(chuàng)建fieldMapping 對(duì)象。然后,該算法將fieldMapping對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和屬性 聲明(步驟265),并調(diào)用圖lO所示的handleSimpleTypeDefinition(步 驟266)。然后,該算法返回至圖15b的步驟248。
圖17是從圖15b的步驟254調(diào)用的算法函數(shù)部分 handleAnyAttibute (270)的流程圖。在步驟272中,該算法創(chuàng)建數(shù)據(jù) 字段對(duì)象,并在步驟274中創(chuàng)建fieldMapping對(duì)象。然后,該算法將 fieldMapping對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和anyAttribute (步驟275),并 將數(shù)據(jù)字段類型設(shè)為"字符串"(步驟276)。然后,該算法返回至圖 15b中的步驟254。
圖18是根據(jù)本發(fā)明的名為handleSimpleContent的算法函數(shù)(278 ) 的流程圖。在步驟279中,該算法創(chuàng)建數(shù)據(jù)字段對(duì)象,并在步驟280 中創(chuàng)建fieldMapping對(duì)象,然后確定內(nèi)容類型(步驟281)。然后,該 算法調(diào)用函數(shù)handleSimpleTypeDefinition (步驟282),并將內(nèi)容類型 定義傳遞至函數(shù)handleSimpleTypeDefmition。
圖19是從圖15a的步驟240調(diào)用的算法函數(shù)handleParticle(300) 的流程圖。在步驟302中,該算法確定該粒子(particle)是否是元素
聲明。如果不是,該算法確定該粒子是否是"任何"類型(步驟304)。 如果不是元素聲明或"任何"類型,(步驟306)該粒子是模型組。如 果該粒子是模型組,則該算法調(diào)用handleModelGroup (步驟308)。
如果在步驟302中確定該粒子是元素聲明,該算法創(chuàng)建數(shù)據(jù)字段 對(duì)象(步驟310)并創(chuàng)建fieldMapping對(duì)象(步驟312)。然后,該算 法將fieldMapping對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和元素聲明(步驟318)。 然后確定最大取值是否大于一 (步驟320),如果是,將字段數(shù)組特性 設(shè)置為"真"(步驟328)并返回圖15a中的步驟240。
否則,如果確定該粒子為"任何"類型(步驟304),該算法創(chuàng)建 數(shù)據(jù)字段對(duì)象(步驟314),創(chuàng)建字段映射對(duì)象(步驟315),并且該算 法將fieldMapping對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和"任何"類型(步驟316)。 然后,該算法將字段類型設(shè)為"字符串"(步驟326),并確定最大取 值是否大于一(步驟330)。如果不是,該算法返回圖15a中的步驟240。 否則,該算法將字段數(shù)組特性設(shè)置為"真"(步驟332)。然后,該算 法返回圖15a中的步驟240。
圖20是示出了從圖18的步驟308調(diào)用的handleModleGroup(283 ) 的流程圖。在步驟284中,該算法選擇模型組中的第一粒子。然后該 算法調(diào)用(步驟285)圖19中所示的handleParticle (300)。然后,該 算法在步驟286中確定該模型組中是否存在另一粒子。如果是,該算 法再次調(diào)用handleParticle (步驟285),并且在模型組中所有粒子得到 處理之前反復(fù)進(jìn)行該過程。然后,該算法返回圖19中的步驟308,隨 后返回圖15a中的步驟240。
本領(lǐng)域的技術(shù)人員將理解,上述算法根據(jù)網(wǎng)絡(luò)服務(wù)定義創(chuàng)建無線 設(shè)備應(yīng)用。本領(lǐng)域的技術(shù)人員還將理解,無線設(shè)備資源和可用于無線 通信的數(shù)據(jù)傳輸帶寬是有限的。因此,優(yōu)選地,通過使復(fù)雜數(shù)據(jù)結(jié)構(gòu) 扁平化(flatten)以及使用申請(qǐng)人的與無線消息和數(shù)據(jù)簡(jiǎn)化相關(guān)的共 同未決(co-pending)專利申請(qǐng)中描述的減少字段大小和消息復(fù)雜度 的其它方法,上文參照?qǐng)D6-19所描述的算法所創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)和消息 得以簡(jiǎn)化。
本領(lǐng)域的技術(shù)人員還將理解,上文所述的算法僅表示可以使用網(wǎng)
絡(luò)服務(wù)定義來生成無線應(yīng)用的一種方式。因此,上文參照?qǐng)D6-19所描
述的算法僅表示為示意性的。因此本發(fā)明的范圍僅由所附的權(quán)利要求 所限定。
權(quán)利要求
1、一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的方法,包括接受網(wǎng)絡(luò)服務(wù)消息作為輸入,并確定每個(gè)網(wǎng)絡(luò)服務(wù)消息是輸入還是輸出消息,其特征在于為每個(gè)網(wǎng)絡(luò)服務(wù)消息創(chuàng)建消息對(duì)象和組件映射對(duì)象,將組件映射對(duì)象鏈接至消息對(duì)象和網(wǎng)絡(luò)服務(wù)消息,并將網(wǎng)絡(luò)服務(wù)消息的消息部分映射到無線應(yīng)用的消息部分。
2、 根據(jù)權(quán)利要求l所述的方法,其中,映射消息部分的步驟包 括創(chuàng)建消息字段對(duì)象、創(chuàng)建字段映射對(duì)象以及將字段映射對(duì)象鏈接 至消息字段對(duì)象和網(wǎng)絡(luò)服務(wù)消息部分。
3、 根據(jù)權(quán)利要求2所述的方法,還包括選擇消息部分;確定所述消息部分是否是元素聲明;如果所述消息部分是元素聲明,則確定所述元素類型;以及 確定所述消息部分是簡(jiǎn)單數(shù)據(jù)類型、枚舉還是復(fù)雜類型。
4、 根據(jù)權(quán)利要求3所述的方法,其中,如果消息部分是簡(jiǎn)單數(shù) 據(jù)類型,則所述方法還包括確定所述簡(jiǎn)單數(shù)據(jù)類型是原子類型、列表 還是聯(lián)合。
5、 根據(jù)權(quán)利要求4所述的方法,其中,如果簡(jiǎn)單數(shù)據(jù)類型是原 子類型,則所述方法包括使用轉(zhuǎn)換表來確定對(duì)應(yīng)的數(shù)據(jù)類型,并基 于該數(shù)據(jù)類型更新消息字段對(duì)象。
6、 根據(jù)權(quán)利要求4所述的方法,其中,如果簡(jiǎn)單數(shù)據(jù)類型是枚舉,則所述方法還包括 創(chuàng)建枚舉對(duì)象; 創(chuàng)建枚舉映射對(duì)象;將枚舉映射對(duì)象鏈接至枚舉對(duì)象和簡(jiǎn)單數(shù)據(jù)類型定義;以及 為每個(gè)枚舉類型創(chuàng)建枚舉文字對(duì)象并映射所述枚舉文字對(duì)象。
7、 根據(jù)權(quán)利要求3所述的方法,其中,如果消息部分是復(fù)雜類型,則所述方法還包括 創(chuàng)建數(shù)據(jù)對(duì)象; 創(chuàng)建組件映射對(duì)象;將組件映射對(duì)象鏈接至數(shù)據(jù)對(duì)象和復(fù)雜類型定義;以及 確定復(fù)雜類型是否具有基本類型。
8、 根據(jù)權(quán)利要求7所述的方法,其中,如果復(fù)雜類型具有基本 類型,則所述方法還包括創(chuàng)建數(shù)據(jù)對(duì)象; 創(chuàng)建組件映射對(duì)象;將組件映射對(duì)象鏈接至數(shù)據(jù)對(duì)象和復(fù)雜類型定義; 將數(shù)據(jù)對(duì)象設(shè)置為當(dāng)前復(fù)雜類型的原型;以及 確定復(fù)雜類型的類別。
9、 根據(jù)權(quán)利要求8所述的方法,還包括 確定所述類別是否是空、簡(jiǎn)單、混合或element—only之一; 如果所述類別是空、簡(jiǎn)單或僅元素之一,確定數(shù)據(jù)對(duì)象中是否存在任何字段;以及如果數(shù)據(jù)對(duì)象中不存在任何字段,則丟棄數(shù)據(jù)對(duì)象和組件映射對(duì)象。
10、 根據(jù)權(quán)利要求9所述的方法,其中,如果所述類別是混合, 則所述方法包括丟棄數(shù)據(jù)對(duì)象和組件映射對(duì)象。
11、 根據(jù)權(quán)利要求9所述的方法,其中,如果所述類別不是空、 簡(jiǎn)單、混合或elemenLonly之一,所述方法還包括選擇所述復(fù)雜類型的屬性;以及 確定所述屬性是否是固定約束和禁止使用之一。
12、 根據(jù)權(quán)利要求11所述的方法,其中,如果所述屬性不是固 定約束或禁止使用,則所述方法還包括創(chuàng)建數(shù)據(jù)字段對(duì)象; 創(chuàng)建字段映射對(duì)象;將字段映射對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和屬性聲明;以及 確定屬性聲明是枚舉還是簡(jiǎn)單數(shù)據(jù)類型。
13、 根據(jù)權(quán)利要求9所述的方法,其中,如果所述復(fù)雜類型具有"任何"屬性,則所述方法還包括 創(chuàng)建數(shù)據(jù)字段對(duì)象; 創(chuàng)建字段映射對(duì)象;將字段映射對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和"任何屬性"; 將數(shù)據(jù)字段類型設(shè)為"字符串"; 確定數(shù)據(jù)對(duì)象中是否存在任何字段;以及如果數(shù)據(jù)對(duì)象不包含字段,則丟棄該數(shù)據(jù)對(duì)象和組件映射對(duì)象。
14、 根據(jù)權(quán)利要求9所述的方法,其中,如果類別類型是簡(jiǎn)單, 則所述方法還包括.-創(chuàng)建數(shù)據(jù)字段對(duì)象; 創(chuàng)建字段映射對(duì)象; 確定簡(jiǎn)單類別的內(nèi)容類型;以及 確定所述內(nèi)容是枚舉還是簡(jiǎn)單數(shù)據(jù)類型。
15、 根據(jù)權(quán)利要求9所述的方法,其中,如果類別類型是 element—only,則所述方法還包括確定類別的粒子是元素聲明、"任 何"類型還是模型組。
16、 根據(jù)權(quán)利要求15所述的方法,其中,如果所述粒子是元素 聲明或"任何"類型,則所述方法還包括-創(chuàng)建數(shù)據(jù)字段對(duì)象; 創(chuàng)建字段映射對(duì)象;將字段映射對(duì)象鏈接至數(shù)據(jù)字段對(duì)象和"任何"類型; 將曰期字段類型設(shè)為"字符串"; 確定所述粒子的最大取值;以及如果所述最大取值大于一,則將字段數(shù)組特性設(shè)為"真"。
17、 根據(jù)權(quán)利要求16所述的方法,其中,如果所述粒子是模型 組,則所述方法還包括針對(duì)模型組中的每個(gè)粒子 創(chuàng)建數(shù)據(jù)字段對(duì)象; 創(chuàng)建字段映射對(duì)象; 將字段映射對(duì)象鏈接至數(shù)據(jù)字段對(duì)象以及元素聲明和"任何"類型之一;確定所述粒子的最大取值;如果所述最大取值大于一,將字段數(shù)組特性設(shè)為"真";以及 如果類別類型是"任何",將日期字段類型設(shè)為"字符串"。
18、 根據(jù)權(quán)利要求17所述的方法,其中,如果最大取值是l并 且所述粒子是元素聲明,則所述方法還包括確定所述粒子是否是簡(jiǎn) 單類型。
19、 一種根據(jù)網(wǎng)絡(luò)服務(wù)定義生成無線應(yīng)用的系統(tǒng),包括應(yīng)用開 發(fā)者工作站,所述應(yīng)用開發(fā)者工作站包括計(jì)算機(jī)可執(zhí)行代碼,所述計(jì) 算機(jī)可執(zhí)行代碼用于接受網(wǎng)絡(luò)服務(wù)消息作為輸入、確定每個(gè)網(wǎng)絡(luò)服務(wù) 消息是輸入還是輸出消息,其特征在于計(jì)算機(jī)可執(zhí)行代碼用于為每個(gè)網(wǎng)絡(luò)服務(wù)消息創(chuàng)建消息對(duì)象和組 件映射對(duì)象、將組件映射對(duì)象鏈接至消息對(duì)象和網(wǎng)絡(luò)服務(wù)消息、以及 將網(wǎng)絡(luò)服務(wù)消息的消息部分映射到無線應(yīng)用的消息部分。
20、 一種可銷售的產(chǎn)品,包括存儲(chǔ)有計(jì)算機(jī)可執(zhí)行代碼的計(jì)算 機(jī)可讀存儲(chǔ)器,所述計(jì)算機(jī)可執(zhí)行代碼用于執(zhí)行權(quán)利要求1-18中任意 一項(xiàng)所述的方法。
全文摘要
本發(fā)明公開了一種根據(jù)網(wǎng)絡(luò)服務(wù)定義語言創(chuàng)建無線應(yīng)用的系統(tǒng)及方法,使用了分析網(wǎng)絡(luò)服務(wù)定義的每個(gè)消息并將該消息映射到無線應(yīng)用消息和無線應(yīng)用數(shù)據(jù)結(jié)構(gòu)的算法。無線網(wǎng)絡(luò)邊界處的代理服務(wù)器使用消息映射以將網(wǎng)絡(luò)服務(wù)消息轉(zhuǎn)換為無線消息,以及將無線消息轉(zhuǎn)換為網(wǎng)絡(luò)服務(wù)消息。
文檔編號(hào)H04L12/16GK101176300SQ200580049789
公開日2008年5月7日 申請(qǐng)日期2005年9月9日 優(yōu)先權(quán)日2005年4月18日
發(fā)明者丹尼爾·馬德蘇, 布賴恩·R·戈林, 戴維·德布魯因 申請(qǐng)人:捷訊研究有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
石棉县| 沧州市| 清丰县| 万宁市| 娄底市| 望奎县| 玛曲县| 海安县| 武安市| 福鼎市| 阿城市| 察雅县| 马关县| 黔西县| 仁布县| 高雄县| 英超| 盈江县| 长寿区| 华亭县| 奉化市| 平遥县| 南宫市| 木兰县| 平远县| 龙江县| 类乌齐县| 桦南县| 合川市| 兴安县| 桂东县| 博湖县| 历史| 南江县| 长沙市| 罗田县| 阳西县| 临沧市| 昌乐县| 南陵县| 皮山县|