專利名稱:桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用遷移領(lǐng)域,更具體地涉及一種桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制系統(tǒng)和方法。
背景技術(shù):
隨著云計(jì)算和互聯(lián)網(wǎng)的發(fā)展,人們越來越希望隨時(shí)隨地享受服務(wù)。但是,現(xiàn)存的大量桌面應(yīng)用(單機(jī)版應(yīng)用或者客戶端-服務(wù)器版應(yīng)用)都要求用戶必須先安裝客戶端才可以執(zhí)行相應(yīng)的操作,而并非隨時(shí)隨地提供服務(wù)。如果將已有的系統(tǒng)廢棄掉,重新開發(fā)一套功能完全一致的瀏覽器-服務(wù)器版本的系統(tǒng),開發(fā)代價(jià)過于高昂,而且造成了原有系統(tǒng)的浪費(fèi)。所以,需要一套高效的桌面應(yīng)用遷移方案。這里,“桌面應(yīng)用遷移”的意思是為了開發(fā)一套網(wǎng)絡(luò)應(yīng)用,利用現(xiàn)有的桌面應(yīng)用及其資源,通過遷移手段,以很少的開發(fā)量完成該網(wǎng)絡(luò)應(yīng)用,這個(gè)網(wǎng)絡(luò)應(yīng)用的界面和功能與現(xiàn)有的桌面應(yīng)用大致相同?!斑w移手段”的意思是運(yùn)行現(xiàn)有的桌面應(yīng)用,并將其界面以網(wǎng)頁的形式(或其他網(wǎng)絡(luò)客戶端可以呈現(xiàn)的方式)重繪出來呈現(xiàn)給用戶;當(dāng)用戶在網(wǎng)頁上執(zhí)行操作后,將該操作在桌面應(yīng)用上重現(xiàn),以完成相應(yīng)的功能;然后,再將更新的界面重繪成網(wǎng)頁,并呈現(xiàn)給用戶。這樣,開發(fā)人員就不用關(guān)心桌面應(yīng)用的數(shù)據(jù)存取、邏輯流程、算法實(shí)現(xiàn)等功能實(shí)現(xiàn)的具體細(xì)節(jié),能夠在短時(shí)間內(nèi)開發(fā)出網(wǎng)絡(luò)應(yīng)用。這種技術(shù)方案能充分利用已有資源、節(jié)約開發(fā)成本、提高開發(fā)效率。不論使用何種遷移方法,遷移后,桌面應(yīng)用仍然是在服務(wù)器側(cè)運(yùn)行的,所以,對于不支持網(wǎng)絡(luò)功能的桌面應(yīng)用而言,與之對應(yīng)的網(wǎng)絡(luò)應(yīng)用也只能操作服務(wù)器側(cè)數(shù)據(jù)。但是,用戶通常希望利用該應(yīng)用操作本地?cái)?shù)據(jù)(瀏覽器側(cè)數(shù)據(jù)),而不是服務(wù)器側(cè)數(shù)據(jù)。例如 打印功能 原有功能打印服務(wù)器側(cè)的文件(通過連接到服務(wù)器側(cè)的打印機(jī)打印) 用戶期望的功能打印用戶側(cè)計(jì)算設(shè)備中的一個(gè)文件 打開功能 原有功能打開服務(wù)器側(cè)的一個(gè)文件(通過服務(wù)器中的桌面應(yīng)用) 用戶期望的功能打開用戶側(cè)計(jì)算設(shè)備中的一個(gè)文件(通過上傳一個(gè)文件到服務(wù)器側(cè),并通過桌面應(yīng)用打開它) 保存功能 原有功能保存到服務(wù)器側(cè) 用戶期望的功能保存到用戶側(cè)計(jì)算設(shè)備中中國發(fā)明專利申請公開CN 1289093A公開了一種為萬維網(wǎng)網(wǎng)頁動態(tài)增加新功能的方法和系統(tǒng),主要包括以下步驟從網(wǎng)絡(luò)服務(wù)器接受網(wǎng)頁,在網(wǎng)頁上增加新的URL,將新的網(wǎng)頁發(fā)送到網(wǎng)絡(luò)瀏覽器,處理服務(wù)器根據(jù)網(wǎng)絡(luò)瀏覽器端發(fā)送來的URL來實(shí)現(xiàn)相應(yīng)的新功能。該申請公開了為網(wǎng)頁增加翻譯功能的具體實(shí)例。但是,該申請只能在網(wǎng)頁上加入一些簡單的功能,這是因?yàn)閁RL的參數(shù)描述中不能包含復(fù)雜的信息(例如,文件流等)。而且,該申請不能實(shí)現(xiàn)瀏覽器側(cè)的功能(例如,創(chuàng)建文件選擇框、上傳文件等)。因此,該方法無法解決遷移后的網(wǎng)絡(luò)應(yīng)用操作遠(yuǎn)端數(shù)據(jù)的問題。為了解決上述問題,需要一種對網(wǎng)絡(luò)應(yīng)用進(jìn)行定制的系統(tǒng)和方法,自定義網(wǎng)絡(luò)應(yīng)用的功能,在網(wǎng)絡(luò)應(yīng)用上增加功能。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提出了一種桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制系統(tǒng)和方法,通過定位需要修改的界面元素,并修改該界面元素的回調(diào)函數(shù)(界面描述數(shù)據(jù)),來增加所需的處理邏輯,以實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對本地?cái)?shù)據(jù)的操作。當(dāng)用戶在瀏覽器側(cè)對修改后的界面元素進(jìn)行操作時(shí),所增加的處理邏輯將用戶的操作自動轉(zhuǎn)換成多個(gè)操作,從而使用戶感覺其正在對瀏覽器側(cè)的本地文件進(jìn)行操作,而不是對服務(wù)器側(cè)的遠(yuǎn)程文件進(jìn)行操作。例如,當(dāng)用戶點(diǎn)擊打開『OPEN』按鈕/菜單項(xiàng)時(shí),可以將此操作轉(zhuǎn)換為在瀏覽器側(cè)彈出打開窗口,允許用戶選擇瀏覽器側(cè)的本地文件,將用戶選擇的文件上傳至服務(wù)器側(cè),同時(shí)發(fā)送動作描述數(shù)據(jù)至服務(wù)器,指示服務(wù)器側(cè)的桌面應(yīng)用打開所上傳的位于服務(wù)器側(cè)的文件,從而使用戶感覺其正在打開瀏覽器側(cè)的本地文件,而不是服務(wù)器側(cè)的遠(yuǎn)程文件。根據(jù)本發(fā)明的第一方案,提出了一種服務(wù)器,包括桌面應(yīng)用,用于根據(jù)需要定制的功能,被相應(yīng)地操作,以返回相應(yīng)的輸出;界面信息抽取單元,用于針對桌面應(yīng)用返回的窗口,抽取界面信息,組織成界面描述數(shù)據(jù);以及功能定制單元,用于在界面描述數(shù)據(jù)中定位需要修改的界面元素,根據(jù)所需功能,修改和/或增加處理邏輯,以實(shí)現(xiàn)功能定制。優(yōu)選地,所述處理邏輯可以用于將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。優(yōu)選地,所述處理邏輯可以是可執(zhí)行腳本。根據(jù)本發(fā)明的第二方案,提出了一種用于桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的功能定制方法,包括根據(jù)需要定制的功能,對桌面應(yīng)用進(jìn)行相應(yīng)的操作,使桌面應(yīng)用返回相應(yīng)的輸出; 針對桌面應(yīng)用返回的窗口,抽取界面信息,組織成界面描述數(shù)據(jù);以及在界面描述數(shù)據(jù)中定位需要修改的界面元素,根據(jù)所需功能,修改和/或增加處理邏輯,以實(shí)現(xiàn)功能定制。優(yōu)選地,所述處理邏輯可以用于將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。優(yōu)選地,所述處理邏輯可以是可執(zhí)行腳本。根據(jù)本發(fā)明的第三方案,提出了一種瀏覽器,包括網(wǎng)絡(luò)應(yīng)用,用于提供操作頁面, 所述操作頁面包含至少一個(gè)可供用戶操作的界面元素;以及操作轉(zhuǎn)換單元,用于在網(wǎng)絡(luò)應(yīng)用的界面元素被操作時(shí),將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。優(yōu)選地,所述操作轉(zhuǎn)換單元可以根據(jù)所述遠(yuǎn)程操作,形成操作請求,所述操作請求包含動作描述數(shù)據(jù),所述瀏覽器還可以包括發(fā)送單元,所述發(fā)送單元用于將所述操作請求發(fā)送至服務(wù)器,以及所述操作轉(zhuǎn)換單元可以在接收到服務(wù)器返回的響應(yīng)時(shí),根據(jù)所述本地操作,對服務(wù)器返回的響應(yīng)進(jìn)行處理。更優(yōu)選地,所述操作轉(zhuǎn)換單元可以在根據(jù)所述遠(yuǎn)程操作、形成操作請求之前,先根據(jù)所述本地操作,獲得后續(xù)操作所需的必要信息和/或參數(shù)。根據(jù)本發(fā)明的第四方案,提出了一種服務(wù)器,包括請求解析單元,用于解析來自瀏覽器的、針對桌面應(yīng)用的操作請求,得到動作描述數(shù)據(jù);以及動作重現(xiàn)單元,用于根據(jù)所述動作描述數(shù)據(jù),驅(qū)動桌面應(yīng)用,再現(xiàn)針對桌面應(yīng)用的操作,并將桌面應(yīng)用返回的輸出發(fā)送至瀏覽器,作為對所述操作請求的響應(yīng)。根據(jù)本發(fā)明的第五方案,提出了一種桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法,包括 當(dāng)網(wǎng)絡(luò)應(yīng)用的界面元素被操作時(shí),將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/ 或操作。優(yōu)選地,所述桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法還可以包括根據(jù)所述遠(yuǎn)程操作,形成操作請求,所述操作請求包含動作描述數(shù)據(jù);將所述操作請求發(fā)送至服務(wù)器;以及在接收到服務(wù)器返回的響應(yīng)時(shí),根據(jù)所述本地操作,對服務(wù)器返回的響應(yīng)進(jìn)行處理。更優(yōu)選地,在形成操作請求的步驟之前,所述桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法還可以包括根據(jù)所述本地操作,獲得后續(xù)操作所需的必要信息和/或參數(shù)。優(yōu)選地,在從瀏覽器接收到操作請求時(shí),服務(wù)器可以解析所述操作請求,得到所述動作描述數(shù)據(jù);根據(jù)所述動作描述數(shù)據(jù),驅(qū)動桌面應(yīng)用,再現(xiàn)針對桌面應(yīng)用的操作;以及將桌面應(yīng)用返回的輸出發(fā)送至瀏覽器,作為對所述操作請求的響應(yīng)。與最相近的現(xiàn)有技術(shù)相比,本發(fā)明的有益效果至少包括今本發(fā)明能夠?qū)崿F(xiàn)復(fù)雜的網(wǎng)頁功能定制,從而實(shí)現(xiàn)對本地?cái)?shù)據(jù)的遠(yuǎn)程操作。
結(jié)合附圖,根據(jù)下面對本發(fā)明的非限制性實(shí)施例的詳細(xì)描述,本發(fā)明的上述及其他目的、特征和優(yōu)點(diǎn)將變得更加清楚,附圖中圖1示出了用于實(shí)現(xiàn)功能定制的服務(wù)器200的示意結(jié)構(gòu)方框圖。圖2示出了用于實(shí)現(xiàn)已定制功能的服務(wù)器200和瀏覽器100的示意結(jié)構(gòu)方框圖。圖3示出了用于說明功能定制過程的實(shí)例示意圖。圖4示出了用于實(shí)現(xiàn)已定制打開『OPEN』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。圖5示出了用于實(shí)現(xiàn)已定制打印『PRINT』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。圖6示出了用于實(shí)現(xiàn)已定制保存『SAVE』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。圖7示出了用于實(shí)現(xiàn)已定制另存為『SAVE ASJ功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。附圖中,用相同的附圖標(biāo)記表示相關(guān)的單元,以示出它們之間的相關(guān)性。
具體實(shí)施方式
下面,根據(jù)附圖描述本發(fā)明。在以下描述中,一些具體實(shí)施例僅用于描述目的,而不應(yīng)該理解為對本發(fā)明有任何限制,而只是本發(fā)明的示例。在可能導(dǎo)致對本發(fā)明的理解造成混淆時(shí),將省略常規(guī)結(jié)構(gòu)或構(gòu)造。圖1示出了用于實(shí)現(xiàn)功能定制的服務(wù)器200的示意結(jié)構(gòu)方框圖。根據(jù)本發(fā)明,通過定位需要修改的界面元素,并修改該界面元素的回調(diào)函數(shù)(界面描述數(shù)據(jù)),來增加所需的處理邏輯,從而實(shí)現(xiàn)功能定制。如圖1所示,服務(wù)器200包括安裝在服務(wù)器200 —側(cè)的桌面應(yīng)用230、界面信息抽取單元240和功能定制單元250。根據(jù)需要定制的功能,對桌面應(yīng)用230進(jìn)行相應(yīng)的操作,使桌面應(yīng)用230返回相應(yīng)的輸出(窗口、響應(yīng)信息等)。界面信息抽取單元240將來自桌面應(yīng)用230的每個(gè)窗口的界面信息抽取出來,并將其組織成界面描述數(shù)據(jù)。界面描述數(shù)據(jù)可以采用XML、HTML、WML等描述性語言的格式,本發(fā)明在這一點(diǎn)上并無具體限制。功能定制單元250在界面描述數(shù)據(jù)中定位需要修改的界面元素,根據(jù)所需功能, 修改和/或增加處理邏輯,以實(shí)現(xiàn)功能定制。這里,處理邏輯可以是可執(zhí)行腳本。圖2示出了用于實(shí)現(xiàn)已定制功能的服務(wù)器200和瀏覽器100的示意結(jié)構(gòu)方框圖。 當(dāng)用戶在瀏覽器100側(cè)對修改后的界面元素進(jìn)行操作時(shí),操作轉(zhuǎn)換單元120將用戶的操作自動轉(zhuǎn)換成多個(gè)操作,從而使用戶感覺其正在對瀏覽器100側(cè)的本地文件進(jìn)行操作,而不是對服務(wù)器200側(cè)的遠(yuǎn)程文件進(jìn)行操作(實(shí)際上,大多數(shù)情況下,用戶仍然在對服務(wù)器200 側(cè)的遠(yuǎn)程文件進(jìn)行操作)。如圖2所示,瀏覽器100包括網(wǎng)絡(luò)應(yīng)用110、操作轉(zhuǎn)換單元120和發(fā)送單元130。網(wǎng)絡(luò)應(yīng)用110為用戶提供了操作頁面,用戶可以對瀏覽器100上所呈現(xiàn)的網(wǎng)絡(luò)應(yīng)用110上的界面元素進(jìn)行操作。操作轉(zhuǎn)換單元120由功能定制單元250增加的處理邏輯實(shí)現(xiàn),當(dāng)用戶對修改后的界面元素進(jìn)行操作時(shí),操作轉(zhuǎn)換單元120將用戶的操作自動轉(zhuǎn)換成多個(gè)操作,形成操作請求,所述操作請求包含動作描述數(shù)據(jù)。動作描述數(shù)據(jù)包含動作的相關(guān)信息,例如在哪個(gè)界面元素上執(zhí)行了什么動作,執(zhí)行該動作的必要參數(shù)等。此外,操作轉(zhuǎn)換單元120還接收來自服務(wù)器200的對所述操作請求的響應(yīng),驅(qū)動瀏覽器100側(cè)的本地操作,從而使用戶感覺其正在對瀏覽器100側(cè)的本地文件進(jìn)行操作,而不是對服務(wù)器200側(cè)的遠(yuǎn)程文件進(jìn)行操作(實(shí)際上,大多數(shù)情況下,用戶仍然在對服務(wù)器200 側(cè)的遠(yuǎn)程文件進(jìn)行操作)。發(fā)送單元130用于將來自操作轉(zhuǎn)換單元120的操作請求發(fā)送至服務(wù)器200 (請求解析單元210)。服務(wù)器200包括請求解析單元210、動作重現(xiàn)單元220和桌面應(yīng)用230。請求解析單元210解析來自瀏覽器100的操作請求,得到所述操作請求中所包含的動作描述數(shù)據(jù)。動作重現(xiàn)單元220將被請求解析單元210解析出的動作描述數(shù)據(jù)轉(zhuǎn)換成針對桌面應(yīng)用230的命令,并驅(qū)動桌面應(yīng)用230執(zhí)行能夠反映出用戶在瀏覽器100 (遠(yuǎn)程)上的操作的相同或類似操作。
此外,動作重現(xiàn)單元220還接收桌面應(yīng)用230所返回的所有數(shù)據(jù),將其作為對來自瀏覽器100的操作請求的響應(yīng),發(fā)送至瀏覽器100(操作轉(zhuǎn)換單元120)。以下,將結(jié)合具體的功能定制實(shí)例,對本發(fā)明的桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制系統(tǒng)和方法進(jìn)行詳細(xì)描述。圖3示出了用于說明功能定制過程的實(shí)例示意圖。如圖3所示,在服務(wù)器200上,桌面應(yīng)用230的界面如圖3最右側(cè)的窗口所示,目前處于主窗口。圖3最左側(cè)的窗口示出了瀏覽器100上將要顯示的對應(yīng)頁面。桌面應(yīng)用到網(wǎng)絡(luò)應(yīng)用的遷移方法可參考已有的任何方法來實(shí)現(xiàn)。為了說明的目的,以菜單項(xiàng)“打開『OPEN』”為例。首先,在步驟S301,功能定制單元250在界面信息抽取單元240得到的界面描述數(shù)據(jù)中定位需要修改的界面元素——菜單項(xiàng)“打開『OPEN』”(如圖3中的虛線所示);例如,可以通過以下Xpath元素進(jìn)行定位Form [it it Ie = "DesktopAP" ]/menuitem[itext = "File" ]/menuitem[itext = “Open”]。然后,在步驟S302,功能定制單元250將菜單項(xiàng)“打開『OPEN』”的回調(diào)函數(shù)(界面描述數(shù)據(jù))修改為能夠?qū)崿F(xiàn)以下流程的處理邏輯當(dāng)用戶點(diǎn)擊網(wǎng)絡(luò)應(yīng)用110上的菜單項(xiàng) “打開『OPEN』”時(shí),在瀏覽器100側(cè)彈出打開窗口,允許用戶選擇瀏覽器100側(cè)的本地文件; 將用戶選擇的文件上傳至服務(wù)器200側(cè),同時(shí)發(fā)送動作描述數(shù)據(jù)至服務(wù)器200,指示服務(wù)器 200側(cè)的桌面應(yīng)用打開所上傳的位于服務(wù)器200側(cè)的文件;以及在服務(wù)器200返回文件打開界面時(shí),向網(wǎng)絡(luò)應(yīng)用110返回打開界面,以網(wǎng)絡(luò)應(yīng)用110的形式呈現(xiàn)給用戶。同樣地,功能定制單元250可以為其他任何需要定制的功能進(jìn)行界面描述數(shù)據(jù)修改操作,以實(shí)現(xiàn)所需的定制功能,例如,圖3所示的菜單項(xiàng)“打印『PRINT』”、菜單項(xiàng)“保存 『SAVE』”等。另一方面,當(dāng)用戶想要為網(wǎng)絡(luò)應(yīng)用110增加新功能時(shí),功能定制單元250也可以增加相應(yīng)的界面元素和界面描述數(shù)據(jù),以實(shí)現(xiàn)所需的定制功能,例如,圖3最左側(cè)的窗口中的菜單項(xiàng)“另存為『SAVE AS』”等。圖4示出了用于實(shí)現(xiàn)已定制打開『OPEN』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。用戶點(diǎn)擊網(wǎng)絡(luò)應(yīng)用110頁面上的菜單項(xiàng)“打開『OPEN』”時(shí),網(wǎng)絡(luò)應(yīng)用110向操作轉(zhuǎn)換單元120發(fā)出“打開”指令。與現(xiàn)有技術(shù)不同,操作轉(zhuǎn)換單元120并不立即生成包含打開動作描述數(shù)據(jù)的操作請求,而是在網(wǎng)絡(luò)應(yīng)用110頁面上彈出文件選擇窗口,提示用戶選擇要打開的文件。用戶在文件選擇窗口中進(jìn)行操作,選擇所要打開的文件,通過網(wǎng)絡(luò)應(yīng)用110 頁面返回給操作轉(zhuǎn)換單元120。此時(shí),操作轉(zhuǎn)換單元120生成包含以下動作描述數(shù)據(jù)的操作請求(1)上傳所選擇的文件,(2)上傳完成后,打開該文件。以上動作描述數(shù)據(jù)(通過發(fā)送單元130和請求解析單元210)被發(fā)送至動作重現(xiàn)單元220。與現(xiàn)有技術(shù)不同,動作重現(xiàn)單元220接收到上述動作描述數(shù)據(jù)后,首先,接收瀏覽器100側(cè)上傳的文件,并將接收到的文件保存到服務(wù)器200側(cè)的特定文件夾中(例如,temp 文件夾),即完成上述動作描述數(shù)據(jù)(1);然后,再指示安裝在服務(wù)器200 —側(cè)的桌面應(yīng)用 230完成打開操作,應(yīng)當(dāng)注意,此時(shí),指示桌面應(yīng)用230打開已經(jīng)被保存到服務(wù)器200側(cè)的特定文件夾中的上傳文件,即完成上述動作描述數(shù)據(jù)( 。桌面應(yīng)用230打開已經(jīng)被保存到服務(wù)器200側(cè)的特定文件夾中的上傳文件,并返回打開界面給動作重現(xiàn)單元220。此時(shí),動作重現(xiàn)單元220已經(jīng)在服務(wù)器200側(cè)重現(xiàn)了與用戶在瀏覽器100側(cè)的操作相類似的操作。動作重現(xiàn)單元220將打開界面返回至瀏覽器100 (操作轉(zhuǎn)換單元120)。操作轉(zhuǎn)換單元120接收到服務(wù)器200 (動作重現(xiàn)單元220)返回的打開界面后,向網(wǎng)絡(luò)應(yīng)用110返回打開界面,由網(wǎng)絡(luò)應(yīng)用110呈現(xiàn)給用戶。至此,用戶感覺上已經(jīng)通過網(wǎng)絡(luò)應(yīng)用110打開了瀏覽器100本地的文件。圖5示出了用于實(shí)現(xiàn)已定制打印『PRINT』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。用戶點(diǎn)擊網(wǎng)絡(luò)應(yīng)用110頁面上的菜單項(xiàng)“打印『PRINT』”時(shí),網(wǎng)絡(luò)應(yīng)用110向操作轉(zhuǎn)換單元120發(fā)出“打印”指令。與現(xiàn)有技術(shù)不同,操作轉(zhuǎn)換單元120并不立即生成包含打印動作描述數(shù)據(jù)的操作請求,而是在網(wǎng)絡(luò)應(yīng)用110頁面上彈出打印機(jī)選擇窗口,提示用戶選擇要使用的本地打印機(jī)。用戶在打印機(jī)選擇窗口中進(jìn)行操作,選擇所要使用的打印機(jī),通過網(wǎng)絡(luò)應(yīng)用110頁面返回給操作轉(zhuǎn)換單元120。操作轉(zhuǎn)換單元120根據(jù)用戶的選擇,獲得本地打印機(jī)的參數(shù)。此時(shí),操作轉(zhuǎn)換單元120生成包含以下動作描述數(shù)據(jù)的操作請求攜帶打印機(jī)參數(shù)的打印請求。以上動作描述數(shù)據(jù)(通過發(fā)送單元130和請求解析單元210)被發(fā)送至動作重現(xiàn)單元220。動作重現(xiàn)單元220接收到上述動作描述數(shù)據(jù)后,向安裝在服務(wù)器200 —側(cè)的桌面應(yīng)用230發(fā)出攜帶瀏覽器100側(cè)的遠(yuǎn)程打印機(jī)的打印機(jī)參數(shù)的打印命令。桌面應(yīng)用230根據(jù)瀏覽器100側(cè)的遠(yuǎn)程打印機(jī)的打印機(jī)參數(shù),生成打印數(shù)據(jù),并返回給動作重現(xiàn)單元220。 此時(shí),動作重現(xiàn)單元220已經(jīng)在服務(wù)器200側(cè)重現(xiàn)了與用戶在瀏覽器100側(cè)的操作相類似的操作。動作重現(xiàn)單元220將打印數(shù)據(jù)返回至瀏覽器100(操作轉(zhuǎn)換單元120)。操作轉(zhuǎn)換單元120接收到服務(wù)器200(動作重現(xiàn)單元220)返回的打印數(shù)據(jù)后,驅(qū)動瀏覽器100側(cè)的本地打印機(jī)進(jìn)行打印。至此,用戶感覺上已經(jīng)通過網(wǎng)絡(luò)應(yīng)用110在本地打印機(jī)上打印了瀏覽器100本地的文件。以上是針對文件已被打開的情況下的打印過程,對于文件尚未被打開的情況,可以看作是“打開”操作、“打印”操作和“關(guān)閉”操作的綜合操作?!按蜷_”操作和“打印”操作可以按照圖4和圖5的描述順序執(zhí)行;“關(guān)閉”操作因無需定制,仍可按照現(xiàn)有技術(shù)進(jìn)行操作?;蛘?,“打開”操作和“打印”操作也可以按照圖4和圖5的描述混雜執(zhí)行,例如,先彈出文件選擇窗口提示用戶選擇文件;然后彈出打印機(jī)選擇窗口提示用戶選擇打印機(jī);獲得打印機(jī)參數(shù)后,再發(fā)送包含以下動作描述數(shù)據(jù)的操作請求(1)上傳所選擇的文件,( 上傳完成后,打開該文件,( 攜帶打印機(jī)參數(shù)的打印請求;服務(wù)器完成上述動作(1) (3)之后,返回打印數(shù)據(jù);在瀏覽器的本地打印機(jī)上進(jìn)行打?。蛔詈?,按照現(xiàn)有技術(shù)進(jìn)行“關(guān)閉”操作。或者,也可以將“打開”操作、“打印”操作和“關(guān)閉”操作全部混雜在一起執(zhí)行,例如,先彈出文件選擇窗口提示用戶選擇文件;然后彈出打印機(jī)選擇窗口提示用戶選擇打印機(jī);獲得打印機(jī)參數(shù)后,再發(fā)送包含以下動作描述數(shù)據(jù)的操作請求(1)上傳所選擇的文件,(2) 上傳完成后,打開該文件,(3)攜帶打印機(jī)參數(shù)的打印請求,(4)關(guān)閉該文件;服務(wù)器完成上述動作(1) (4)之后,返回打印數(shù)據(jù);在瀏覽器的本地打印機(jī)上進(jìn)行打印。同樣地,本說明書中所描述的各種定制功能可以相互串行執(zhí)行或者混雜執(zhí)行,也可以與現(xiàn)有技術(shù)的多種已實(shí)現(xiàn)功能串行執(zhí)行或者混雜執(zhí)行,本領(lǐng)域普通技術(shù)人員可以根據(jù)需要自行完成這些功能,而這些串行或混雜操作并不脫離本發(fā)明的主旨。
圖6示出了用于實(shí)現(xiàn)已定制保存『SAVE』功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。用戶點(diǎn)擊網(wǎng)絡(luò)應(yīng)用110頁面上的菜單項(xiàng)“保存『SAVE』”時(shí),網(wǎng)絡(luò)應(yīng)用110向操作轉(zhuǎn)換單元120發(fā)出“保存”指令。與現(xiàn)有技術(shù)不同,操作轉(zhuǎn)換單元120生成包含以下動作描述數(shù)據(jù)的操作請求(1)保存當(dāng)前文件,(2)保存完成后,下載該文件。以上動作描述數(shù)據(jù)(通過發(fā)送單元130和請求解析單元210)被發(fā)送至動作重現(xiàn)單元220。與現(xiàn)有技術(shù)不同,動作重現(xiàn)單元220接收到上述動作描述數(shù)據(jù)后,首先,指示安裝在服務(wù)器200 —側(cè)的桌面應(yīng)用230完成保存操作,應(yīng)當(dāng)注意,此時(shí),實(shí)際上是指示桌面應(yīng)用 230將當(dāng)前文件保存到服務(wù)器200側(cè)的特定文件夾中,即完成上述動作描述數(shù)據(jù)(1);在桌面應(yīng)用230返回保存完成的響應(yīng)時(shí),從服務(wù)器200側(cè)的特定文件夾中取得已保存的文件,即完成上述動作描述數(shù)據(jù)O)。此時(shí),動作重現(xiàn)單元220已經(jīng)在服務(wù)器200側(cè)重現(xiàn)了與用戶在瀏覽器100側(cè)的操作相類似的操作。動作重現(xiàn)單元220將服務(wù)器200側(cè)已保存的文件返回至瀏覽器100 (操作轉(zhuǎn)換單元120)。操作轉(zhuǎn)換單元120接收到服務(wù)器200(動作重現(xiàn)單元220)返回的已保存的文件后,將來自服務(wù)器200側(cè)的文件保存至原上傳文件夾(執(zhí)行“打開『OPEN』”操作時(shí)用戶指定的文件夾)中,覆蓋原文件。至此,用戶感覺上已經(jīng)通過網(wǎng)絡(luò)應(yīng)用110保存了瀏覽器100本地的文件。圖7示出了用于實(shí)現(xiàn)已定制另存為『SAVE ASJ功能的瀏覽器100與服務(wù)器200之間的操作時(shí)序圖。用戶點(diǎn)擊網(wǎng)絡(luò)應(yīng)用110頁面上的菜單項(xiàng)“另存為『SAVE AS』”時(shí),網(wǎng)絡(luò)應(yīng)用110向操作轉(zhuǎn)換單元120發(fā)出“另存為”指令。如圖3所示,桌面應(yīng)用230并不具有菜單項(xiàng)“另存為『SAVE AS』”,此定制功能實(shí)際上是新增功能。操作轉(zhuǎn)換單元120并不立即生成包含另存為動作描述數(shù)據(jù)的操作請求(實(shí)際上也無法生成),而是在網(wǎng)絡(luò)應(yīng)用110頁面上彈出文件夾選擇窗口,提示用戶選擇要保存文件的文件夾。用戶在文件夾選擇窗口中進(jìn)行操作,選擇要保存文件的文件夾,通過網(wǎng)絡(luò)應(yīng)用110頁面返回給操作轉(zhuǎn)換單元120。此時(shí),操作轉(zhuǎn)換單元 120生成包含以下動作描述數(shù)據(jù)的操作請求(1)保存當(dāng)前文件,(2)保存完成后,下載該文件(實(shí)際上,與針對菜單項(xiàng)“保存『SAVE』”的操作請求相同)。以上動作描述數(shù)據(jù)(通過發(fā)送單元130和請求解析單元210)被發(fā)送至動作重現(xiàn)單元220。動作重現(xiàn)單元220接收到上述動作描述數(shù)據(jù)后,首先,指示安裝在服務(wù)器200 —側(cè)的桌面應(yīng)用230完成保存操作,應(yīng)當(dāng)注意,此時(shí),實(shí)際上是指示桌面應(yīng)用230將當(dāng)前文件保存到服務(wù)器200側(cè)的特定文件夾中,即完成上述動作描述數(shù)據(jù)(1);在桌面應(yīng)用230返回保存完成的響應(yīng)時(shí),從服務(wù)器200側(cè)的特定文件夾中取得已保存的文件,即完成上述動作描述數(shù)據(jù)O)。此時(shí),動作重現(xiàn)單元220已經(jīng)在服務(wù)器200側(cè)重現(xiàn)了與用戶在瀏覽器100側(cè)的操作相類似的操作。動作重現(xiàn)單元220將服務(wù)器200側(cè)已保存的文件返回至瀏覽器100 (操作轉(zhuǎn)換單元120)。實(shí)際上,動作重現(xiàn)單元220的操作與針對菜單項(xiàng)“保存『SAVE』”的操作相同。操作轉(zhuǎn)換單元120接收到服務(wù)器200(動作重現(xiàn)單元220)返回的已保存的文件后,將來自服務(wù)器200側(cè)的文件保存至用戶選擇的文件夾中。至此,用戶感覺上已經(jīng)通過網(wǎng)絡(luò)應(yīng)用110另存了瀏覽器100本地的文件。
這里所公開的本發(fā)明實(shí)施例的其他設(shè)置包括執(zhí)行在先概述并隨后詳述的方法實(shí)施例的步驟和操作的軟件程序。更具體地,計(jì)算機(jī)程序產(chǎn)品是如下的一種實(shí)施例具有計(jì)算機(jī)可讀介質(zhì),計(jì)算機(jī)可讀介質(zhì)上編碼有計(jì)算機(jī)程序邏輯,當(dāng)在計(jì)算設(shè)備上執(zhí)行時(shí),計(jì)算機(jī)程序邏輯提供相關(guān)的操作,從而提供上述單向代理轉(zhuǎn)密方案。當(dāng)在計(jì)算系統(tǒng)的至少一個(gè)處理器上執(zhí)行時(shí),計(jì)算機(jī)程序邏輯使得處理器執(zhí)行本發(fā)明實(shí)施例所述的操作(方法)。本發(fā)明的這種設(shè)置典型地提供為設(shè)置或編碼在例如光介質(zhì)(例如CD-ROM)、軟盤或硬盤等的計(jì)算機(jī)可讀介質(zhì)上的軟件、代碼和/或其他數(shù)據(jù)結(jié)構(gòu)、或者諸如一個(gè)或多個(gè)ROM或RAM或PROM芯片上的固件或微代碼的其他介質(zhì)、或?qū)S眉呻娐?ASIC)、或一個(gè)或多個(gè)模塊中的可下載的軟件圖像、共享數(shù)據(jù)庫等。軟件或固件或這種配置可安裝在計(jì)算設(shè)備上,以使得計(jì)算設(shè)備中的一個(gè)或多個(gè)處理器執(zhí)行本發(fā)明實(shí)施例所述的技術(shù)。結(jié)合諸如一組數(shù)據(jù)通信設(shè)備或其他實(shí)體中的計(jì)算設(shè)備進(jìn)行操作的軟件過程也可以提供根據(jù)本發(fā)明的系統(tǒng)。根據(jù)本發(fā)明的系統(tǒng)也可以分布在多個(gè)數(shù)據(jù)通信設(shè)備上的多個(gè)軟件過程、或者在一組小型專用計(jì)算機(jī)上運(yùn)行的所有軟件過程、或者單個(gè)計(jì)算機(jī)上運(yùn)行的所有軟件過程之間。應(yīng)該理解,嚴(yán)格地講,本發(fā)明的實(shí)施例可以實(shí)現(xiàn)為數(shù)據(jù)通信設(shè)備上的軟件程序、軟件和硬件、或者單獨(dú)的軟件和/或單獨(dú)的電路。以上描述僅給出了本發(fā)明的優(yōu)選實(shí)施例,而并不是要以任何方式限制本發(fā)明。因此,本發(fā)明的范圍應(yīng)涵蓋在本發(fā)明精神和原理內(nèi)進(jìn)行的任何修改、替換、改進(jìn)等。
權(quán)利要求
1.一種服務(wù)器,包括桌面應(yīng)用,用于根據(jù)需要定制的功能,被相應(yīng)地操作,以返回相應(yīng)的輸出; 界面信息抽取單元,用于針對桌面應(yīng)用返回的窗口,抽取界面信息,組織成界面描述數(shù)據(jù);以及功能定制單元,用于在界面描述數(shù)據(jù)中定位需要修改的界面元素,根據(jù)所需功能,修改和/或增加處理邏輯,以實(shí)現(xiàn)功能定制。
2.根據(jù)權(quán)利要求1所述的服務(wù)器,其特征在于所述處理邏輯用于將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。
3.根據(jù)權(quán)利要求1或2所述的服務(wù)器,其特征在于所述處理邏輯是可執(zhí)行腳本。
4.一種用于桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的功能定制方法,包括根據(jù)需要定制的功能,對桌面應(yīng)用進(jìn)行相應(yīng)的操作,使桌面應(yīng)用返回相應(yīng)的輸出; 針對桌面應(yīng)用返回的窗口,抽取界面信息,組織成界面描述數(shù)據(jù);以及在界面描述數(shù)據(jù)中定位需要修改的界面元素,根據(jù)所需功能,修改和/或增加處理邏輯,以實(shí)現(xiàn)功能定制。
5.根據(jù)權(quán)利要求4所述的用于桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的功能定制方法,其特征在于所述處理邏輯用于將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。
6.根據(jù)權(quán)利要求4或5所述的用于桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的功能定制方法,其特征在于所述處理邏輯是可執(zhí)行腳本。
7.一種瀏覽器,包括網(wǎng)絡(luò)應(yīng)用,用于提供操作頁面,所述操作頁面包含至少一個(gè)可供用戶操作的界面元素;以及操作轉(zhuǎn)換單元,用于在網(wǎng)絡(luò)應(yīng)用的界面元素被操作時(shí),將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和/或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。
8.根據(jù)權(quán)利要求7所述的瀏覽器,其特征在于所述操作轉(zhuǎn)換單元根據(jù)所述遠(yuǎn)程操作,形成操作請求,所述操作請求包含動作描述數(shù)據(jù),所述瀏覽器還包括發(fā)送單元,所述發(fā)送單元用于將所述操作請求發(fā)送至服務(wù)器,以及所述操作轉(zhuǎn)換單元在接收到服務(wù)器返回的響應(yīng)時(shí),根據(jù)所述本地操作,對服務(wù)器返回的響應(yīng)進(jìn)行處理。
9.根據(jù)權(quán)利要求8所述的瀏覽器,其特征在于所述操作轉(zhuǎn)換單元在根據(jù)所述遠(yuǎn)程操作、形成操作請求之前,先根據(jù)所述本地操作,獲得后續(xù)操作所需的必要信息和/或參數(shù)。
10.一種服務(wù)器,包括請求解析單元,用于解析來自瀏覽器的、針對桌面應(yīng)用的操作請求,得到動作描述數(shù)據(jù);以及動作重現(xiàn)單元,用于根據(jù)所述動作描述數(shù)據(jù),驅(qū)動桌面應(yīng)用,再現(xiàn)針對桌面應(yīng)用的操作,并將桌面應(yīng)用返回的輸出發(fā)送至瀏覽器,作為對所述操作請求的響應(yīng)。
11.一種桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法,包括當(dāng)網(wǎng)絡(luò)應(yīng)用的界面元素被操作時(shí),將用戶在瀏覽器側(cè)的操作自動轉(zhuǎn)換成由本地操作和 /或遠(yuǎn)程操作組成的一系列操作,從而實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對瀏覽器側(cè)本地文件的訪問和/或操作。
12.根據(jù)權(quán)利要求11所述的桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法,還包括 根據(jù)所述遠(yuǎn)程操作,形成操作請求,所述操作請求包含動作描述數(shù)據(jù);將所述操作請求發(fā)送至服務(wù)器;以及在接收到服務(wù)器返回的響應(yīng)時(shí),根據(jù)所述本地操作,對服務(wù)器返回的響應(yīng)進(jìn)行處理。
13.根據(jù)權(quán)利要求12所述的桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法,在形成操作請求的步驟之前,還包括根據(jù)所述本地操作,獲得后續(xù)操作所需的必要信息和/或參數(shù)。
14.根據(jù)權(quán)利要求12或13所述的桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制方法,其特征在于在從瀏覽器接收到操作請求時(shí),服務(wù)器解析所述操作請求,得到所述動作描述數(shù)據(jù);根據(jù)所述動作描述數(shù)據(jù),驅(qū)動桌面應(yīng)用,再現(xiàn)針對桌面應(yīng)用的操作;以及將桌面應(yīng)用返回的輸出發(fā)送至瀏覽器,作為對所述操作請求的響應(yīng)。
全文摘要
本發(fā)明提出了一種桌面應(yīng)用轉(zhuǎn)換成網(wǎng)絡(luò)應(yīng)用的定制系統(tǒng)和方法,通過定位需要修改的界面元素,并修改該界面元素的回調(diào)函數(shù)(界面描述數(shù)據(jù)),來增加所需的處理邏輯,以實(shí)現(xiàn)用戶通過網(wǎng)絡(luò)應(yīng)用對本地?cái)?shù)據(jù)的操作。當(dāng)用戶在瀏覽器側(cè)對修改后的界面元素進(jìn)行操作時(shí),所增加的處理邏輯將用戶的操作自動轉(zhuǎn)換成多個(gè)操作,從而使用戶感覺其正在對瀏覽器側(cè)的本地文件進(jìn)行操作,而不是對服務(wù)器側(cè)的遠(yuǎn)程文件進(jìn)行操作。本發(fā)明能夠?qū)崿F(xiàn)復(fù)雜的網(wǎng)頁功能定制,從而實(shí)現(xiàn)對本地?cái)?shù)據(jù)的遠(yuǎn)程操作。
文檔編號G06F9/44GK102200976SQ20101013246
公開日2011年9月28日 申請日期2010年3月23日 優(yōu)先權(quán)日2010年3月23日
發(fā)明者劉慧峰, 劉曉煒, 史敬威, 孟昕, 宋才良, 王煉 申請人:日電(中國)有限公司