專利名稱:用于用戶與web瀏覽器交互的服務(wù)器端處理的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)應(yīng)用程序,尤其涉及在基于web的客戶-服務(wù)器環(huán)境中用于客戶端與服務(wù)器端web應(yīng)用程序交互及反過來的方法與相應(yīng)系統(tǒng),其中客戶端web瀏覽器用作應(yīng)用程序用戶界面。
背景技術(shù):
在這種環(huán)境中,傳統(tǒng)上web瀏覽器用于在瀏覽器應(yīng)用程序框架中顯示由web應(yīng)用程序發(fā)送的web頁面及用于將由所述應(yīng)用程序框架中一個或多個用戶動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序的請求。由于與獨(dú)立應(yīng)用程序相比瀏覽器的功能很小,因此與由不具有互連web連接的獨(dú)立應(yīng)用程序運(yùn)行的用戶界面相比,這種web用戶界面可以看作是“輕”版本。
參考圖1,涉及具有低級功能用戶界面的作為“輕”客戶端的web瀏覽器12和存放應(yīng)用程序的應(yīng)用程序服務(wù)器14的現(xiàn)有技術(shù)web應(yīng)用程序要忍受與用戶交互的缺乏,還要忍受不同的編程模型。一般來說,現(xiàn)有技術(shù)web應(yīng)用程序如下工作根據(jù)用戶動作1,例如點(diǎn)擊鏈接、按下按鈕、按下某個鍵或激活頁面上的任何交互性組件,通過發(fā)送-見標(biāo)號2-指向URL的HTTP請求,web瀏覽器12向服務(wù)器發(fā)出請求。
很可能一組要由服務(wù)器14解釋的參數(shù)可以與該HTTP請求一起傳遞。這些參數(shù)可以包含關(guān)于用戶在頁面上所進(jìn)行交互的信息,而且可以作為HTTP GET請求中URL編碼參數(shù)或作為HTTP POST請求體中的數(shù)據(jù)傳遞到服務(wù)器。
這種請求由生成HTML文檔并將其發(fā)送回web瀏覽器的服務(wù)小程序(servlet)16或JSP處理-見標(biāo)號3。
服務(wù)小程序16生成的HTML文檔一般包含鏈接到其它URL的鏈接或交互式性公式化元素,或者是鏈接到不同的服務(wù)小程序/JSP,或者是鏈接到具有不同參數(shù)的相同服務(wù)小程序16。
當(dāng)用戶點(diǎn)擊這些交互性元素中的一個時,瀏覽器就重定向到新的URL。
新HTTP請求發(fā)送到服務(wù)器,該服務(wù)器生成完整的新HTML文檔并將其發(fā)送回瀏覽器。新文檔代替舊文檔,由循環(huán)1、2、3,通過這種處理用戶輸入來運(yùn)行應(yīng)用程序工作流。
但是,對于這種通用的現(xiàn)有技術(shù)方法有一些缺點(diǎn)首先,由于每次用戶交互都重新加載整個文檔,因此在用戶交互與來自應(yīng)用程序的可視響應(yīng)之間有長的時間延遲整個文檔必須通過網(wǎng)絡(luò)發(fā)送,它必須由瀏覽器再次顯示。因此,不可能建立有大量用戶事件(例如,鼠標(biāo)事件)由服務(wù)器14處理的高度交互性用戶界面。
其次,實現(xiàn)這種應(yīng)用程序的編程模型是復(fù)雜的。由于每次用戶交互都導(dǎo)致新文檔對當(dāng)前文檔的替換,因此web應(yīng)用程序的邏輯變得復(fù)雜,因為為了在新文檔中使用,關(guān)于當(dāng)前會話的當(dāng)前狀態(tài)信息必須傳遞到服務(wù)器。
第三,web應(yīng)用程序的編程模型完全不同于獨(dú)立應(yīng)用程序的編程模型在獨(dú)立的離線應(yīng)用程序中,通過偵聽來自面板元素的事件并利用相同面板其它元素中的屬性改變來響應(yīng)(例如當(dāng)按鈕A被點(diǎn)擊時,文本B的顏色改變),用戶界面邏輯可以在單個面板中實現(xiàn)。
在web應(yīng)用程序中,每個用戶觸發(fā)的事件都與新文檔的生成關(guān)聯(lián)。
這使得沒有用戶界面的完全重新構(gòu)造,獨(dú)立應(yīng)用程序就不可能移植到web應(yīng)用程序。
發(fā)現(xiàn)這種缺點(diǎn)的原因是客戶端的技術(shù)限制web瀏覽器最初設(shè)計成顯示靜態(tài)內(nèi)容(文本和圖像)。因此,它們提供非常有限的編程能力。盡管已經(jīng)開發(fā)出了許多插件來增強(qiáng)web瀏覽器的能力,但瀏覽器基本上還是只能向web服務(wù)器發(fā)送請求并顯示返回文檔的簡單客戶端軟件。
為了彌補(bǔ)web瀏覽器這種能力的缺乏,到目前為止,業(yè)界已經(jīng)開發(fā)出了幾種特定的現(xiàn)有技術(shù)解決方案,包括可執(zhí)行程序?qū)ο?,例如作為客戶端web應(yīng)用程序用戶界面一部分用在客戶端的Java Script。這種可執(zhí)行代碼的例子是首先要提到的是JavaScript(或ECMAScript)和動態(tài)HTML(DHTML)利用這種現(xiàn)有技術(shù),腳本語言可以用于修改所顯示文檔的內(nèi)容。腳本必須在由web瀏覽器加載的文檔中定義。腳本的執(zhí)行是由瀏覽器本身進(jìn)行的。因此,服務(wù)器準(zhǔn)備腳本,發(fā)送到瀏覽器,但只要文檔一顯示在瀏覽器上,服務(wù)器就不再對其有任何影響。
其次,Java應(yīng)用小程序利用這種特定的現(xiàn)有技術(shù),完整的Java程序被下載到客戶端并在瀏覽器中執(zhí)行。
但是,這些方法有顯著的缺點(diǎn)JavaScript允許修改所顯示文檔的“不工作”元素,而不需要重新加載整個文檔,但實現(xiàn)這種用戶界面行為的腳本必須在從服務(wù)器下載的原始文檔中完全定義。一旦文檔被加載,服務(wù)器就不再與用戶界面交互,邏輯也不能被修改,直到加載新的文檔。
后面的Java應(yīng)用小程序是非常靈活的,可以打開與服務(wù)器另外的通信通道,但不利的是所要執(zhí)行的應(yīng)用程序的全部代碼都必須下載到客戶端并由瀏覽器執(zhí)行。這還涉一有些顯著的問題,例如由于所需的代碼下載時間、危險的安全問題,還有由于與瀏覽器所使用的Java虛擬機(jī)的兼容性。
再次參考圖1,如果用戶交互1可以本地處理-如果對這種交互的反應(yīng)已經(jīng)在與HTML文檔一起發(fā)送的JavaScript中定義-,則靜態(tài)嵌入在頁面中的腳本可以處理它,而且處理就在這里停止。但由于上述原因,這不是一種令人滿意的解決方案。
由于這些缺點(diǎn),web應(yīng)用程序仍舊限定到具有低交互性的組件,即,它們通常在它們的用戶界面中包括文本域、按鈕、鏈接。例如,利用如元素拖放的復(fù)雜鼠標(biāo)交互的應(yīng)用程序就很難實現(xiàn)。
發(fā)明內(nèi)容
因此,本發(fā)明的一個目的是減輕現(xiàn)有技術(shù)的缺點(diǎn)。
本發(fā)明的這個目的是通過所包含獨(dú)立權(quán)利要求中所述的特征實現(xiàn)的。本發(fā)明的更多有利布置和實施方式在相應(yīng)的子權(quán)利要求中闡述?,F(xiàn)在參考所附權(quán)利要求。
本發(fā)明的基本思想包括利用瀏覽器中與服務(wù)器通信并且當(dāng)服務(wù)器發(fā)送響應(yīng)時防止所顯示文檔被重新加載的附加框架的方法。
根據(jù)這種基本方法,公開了在基于web的客戶-服務(wù)器環(huán)境中用于客戶端與服務(wù)器端web應(yīng)用程序交互的方法與相應(yīng)系統(tǒng),其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序的請求的用戶界面,其中客戶-服務(wù)器請求-響應(yīng)通信對話是利用對所述用戶輸入動作作出響應(yīng)的所述服務(wù)器端web應(yīng)用程序(16)逐步執(zhí)行的,該方法特征在于在客戶端與服務(wù)器之間的單個對話步驟中執(zhí)行步驟a)連同由服務(wù)器生成的響應(yīng)參數(shù),在對用戶隱藏的框架-下文中稱為“仲裁框架”-中接收可執(zhí)行顯示編程工具,b)從對用戶隱藏的框架中執(zhí)行所述顯示編程工具,其中所述執(zhí)行在所述應(yīng)用程序框架預(yù)定位置僅部分顯示用于更新它的所述響應(yīng)參數(shù)。
如下面所提到的,用于顯示目的的“第二可執(zhí)行編程工具28”或用于輸入感測目的的“第一可執(zhí)行編程工具26”的可執(zhí)行程序?qū)ο罂梢允抢鏙ava Script或Java應(yīng)用小程序,或VB-Script(由MS-InternetExplorer支持的Visual Basic腳本),或者任何其它合適的程序?qū)ο蟆?br>
有利地,客戶端“對用戶隱藏的”仲裁框架是具有以下屬性的框架
它對用戶完全不可視或至少看到的非常小,使其不會吸引用戶的注意力。
它不對用戶顯示任何可視信息;它應(yīng)當(dāng)優(yōu)選地是完全隱藏的。
代替現(xiàn)有技術(shù)中通常的應(yīng)用程序框架本身,它向服務(wù)器發(fā)送由應(yīng)用程序框架準(zhǔn)備的HTTP請求并接收服務(wù)器對這種請求的回答。
它執(zhí)行服務(wù)器的結(jié)果并只修改應(yīng)用程序框架的內(nèi)容,而不改變其余的框架圖像。
在這里這種框架稱為仲裁框架,因為它實現(xiàn)了應(yīng)用程序框架與服務(wù)器之間的通信。它將應(yīng)用程序框架的請求發(fā)送到服務(wù)器,接收并解釋服務(wù)器的回答因此,它在應(yīng)用程序框架與服務(wù)器之間的所有通信中充當(dāng)仲裁者。
仲裁框架應(yīng)當(dāng)有利地是對用戶隱藏的,以便將該發(fā)明性方法無縫集成到通常使用的用戶界面中。
本發(fā)明公開了允許捕捉web瀏覽器上的用戶事件,即按鍵和鼠標(biāo)事件、將這些事件發(fā)送到服務(wù)器、使服務(wù)器解釋這些事件并估計發(fā)送回瀏覽器的響應(yīng)的方法與相應(yīng)系統(tǒng)。響應(yīng)可以修改顯示在瀏覽器上的一部分文檔,而不需要整個文檔的重新加載。
這種方法的優(yōu)點(diǎn)是它允許從服務(wù)器對UI事件細(xì)粒度的響應(yīng),而不需要在每個事件之間重新加載文檔。由于只有對文檔所進(jìn)行的修改而不是整個文檔發(fā)送到客戶端,因此客戶端與服務(wù)器之間的數(shù)據(jù)交換是緊湊的,這導(dǎo)致更好的性能并允許更多的客戶/服務(wù)器交互。這就是根據(jù)這里的措詞“內(nèi)容集中”通信所指的。
由此,web應(yīng)用程序的邏輯留在服務(wù)器,這節(jié)省了網(wǎng)絡(luò)流量并提高了客戶端應(yīng)用程序的安全性。只有可視信息發(fā)送到瀏覽器。而且這還是防止盜版的一步。
web應(yīng)用程序運(yùn)行在服務(wù)器上。瀏覽器只用于顯示用戶界面。因此,服務(wù)器的資源可以有效運(yùn)行。
該發(fā)明性方法可以與通常的瀏覽器一起使用,而不需要安裝特定的插件。由于它是利用Java應(yīng)用小程序和不同的Java版本給出的,因此沒有不兼容的問題。
本發(fā)明是作為例子說明的,而且不受圖中圖形的形狀限制,其中圖1是顯示其基本結(jié)構(gòu)和功能元素的示意性現(xiàn)有技術(shù)系統(tǒng)圖,圖2是顯示根據(jù)其優(yōu)選實施方式基本結(jié)構(gòu)和功能元素的示意性發(fā)明性系統(tǒng)圖,圖3是說明根據(jù)本發(fā)明優(yōu)選實施方式應(yīng)用程序框架(上)、仲裁框架(中)和服務(wù)器邏輯(下)基本邏輯元素及相應(yīng)界面的示意圖,圖4是說明在本發(fā)明優(yōu)選實施方式中運(yùn)行的發(fā)明性方法的示意性控制流程圖,圖5是說明服務(wù)器與客戶端之間內(nèi)容集中通信的示例示意性應(yīng)用程序框架表示。
具體實施例方式
現(xiàn)在總體上參考附圖并特定參考圖2,有兩種不同的框架用在瀏覽器首先,應(yīng)用程序框架22用于顯示web應(yīng)用程序并與用戶交互。顯示在這種框架中的文檔應(yīng)當(dāng)是允許捕捉用戶交互并能利用JavaScript動態(tài)修改的文檔,優(yōu)選地或一般地,將使用實現(xiàn)文檔對象模型級別2(DOM2)規(guī)范的文檔。例如DHTML文檔或可伸縮矢量圖形-SVG或XUL(用戶界面語言,用在Mozilla瀏覽器中),或任何基于XML的文檔都可以可選地使用。
應(yīng)當(dāng)注意,選擇DOM2是因為它代表由W3C聯(lián)盟推薦的平臺和語言不確定的界面,它使得程序和腳本能夠動態(tài)訪問并更新文檔的內(nèi)容和結(jié)構(gòu)。
其次,根據(jù)這種優(yōu)選實施方式,仲裁框架24用于與應(yīng)用服務(wù)器14的服務(wù)小程序16通信。仲裁框架24應(yīng)當(dāng)保持隱藏,例如通過設(shè)置其寬/高為零。根據(jù)本發(fā)明,為了保持用戶界面簡單,有利地假設(shè)用戶不會與它交互,甚至不會注意到它存在。用戶只與應(yīng)用程序框架交互。因此,與所述仲裁框架相反,在該發(fā)明性環(huán)境下,由于在這種框架22中任何內(nèi)容都顯示給用戶,因此應(yīng)用程序框架22還可以看作是“顯示”框架。
顯示在應(yīng)用程序框架22中的文檔使用最小化JavaScript 26(“第一可執(zhí)行輸入感測編程工具”),JavaScript 26檢測并感測用戶交互,見箭頭2,將它們編碼到指向控制該應(yīng)用程序的服務(wù)小程序的URL中并調(diào)用(再次見箭頭2)仲裁框架24發(fā)送-箭頭3-帶該URL的請求。仲裁框架從服務(wù)器得到包括可執(zhí)行程序方法的回答,例如由JSCRIPT-MF(用于仲裁框架的JavaScript)表示的Java Script 28-見箭頭4-并執(zhí)行它。通過這種執(zhí)行,在服務(wù)器上估計出的新內(nèi)容顯示在應(yīng)用程序框架,見箭頭5。因此,應(yīng)用程序的工作流不需要加載新HTML文檔就可以進(jìn)行。只有用戶要看的真正的相關(guān)新信息才在應(yīng)用程序框架22中更新。
應(yīng)當(dāng)指出,調(diào)用仲裁框架24發(fā)送帶以上URL的請求的上述步驟的可選方案是應(yīng)用程序框架將該請求發(fā)送到服務(wù)器,而且該請求指示回答應(yīng)當(dāng)發(fā)送到仲裁框架。特別地,如果所選實現(xiàn)使用HTTP-POST與服務(wù)器通信,情況更是這樣利用HTTP-GET請求(數(shù)據(jù)限制到4Kb),流程將是如下首先,將參數(shù)編碼到URL中,然后“請求”仲裁框架加載作為這個URL的文檔。
其次,利用HTTP-POST請求(沒有大小限制),應(yīng)用程序框架一般將準(zhǔn)備帶隱藏公式的請求并通過指示響應(yīng)應(yīng)當(dāng)轉(zhuǎn)到仲裁框架來自己發(fā)送該請求。
在兩種情況下,因為邏輯在每次交互時都要重新加載,所以仲裁框架應(yīng)當(dāng)包含盡可能少的邏輯,因此請求都是由應(yīng)用程序框架自己準(zhǔn)備的。兩種方法的唯一區(qū)別是請求如何發(fā)送到服務(wù)器。
圖3描述了應(yīng)用程序框架22和仲裁框架24的結(jié)構(gòu)細(xì)節(jié)。仲裁框架的主要任務(wù)是向服務(wù)器發(fā)送請求并避免用戶在其上工作的文檔被替換或重新加載。應(yīng)用程序框架提供準(zhǔn)備文檔的邏輯。與本發(fā)明相關(guān)的兩種框架的邏輯塊如下協(xié)作應(yīng)用程序框架22包括感測并收集任何事件的感測塊32,即由用戶通過按鍵或鼠標(biāo)輸入使用框架控制完成的事件。事件特征包括事件類型、鼠標(biāo)坐標(biāo)、按鈕按下等。還提供了將所述事件特征變換成基于文本的按鍵值對的變換邏輯34,該按鍵值對可以存儲在HTTP請求中,如事件類型=鼠標(biāo)按下,屏幕X=100,屏幕Y=150,鼠標(biāo)按鈕=1根據(jù)本發(fā)明的優(yōu)選特征,由于它不像現(xiàn)有技術(shù)那樣工作,因此這種變換獨(dú)立于頁面內(nèi)容,如下面接著示意性示出的現(xiàn)有技術(shù)web應(yīng)用程序邏輯-典型的“如果點(diǎn)擊按鈕1,則轉(zhuǎn)到URL XY”發(fā)明性web應(yīng)用程序邏輯-典型的“如果點(diǎn)擊任何按鈕,則將按鍵對值“事件類型=按鈕點(diǎn)擊,事件目標(biāo)=%ID_of_the_button,_where_the_event_occurred”作為參數(shù)放到要發(fā)送的請求中。這可以獨(dú)立地從當(dāng)前被點(diǎn)擊的按鈕應(yīng)用。
因此,一個文本參數(shù)列表從應(yīng)用程序框架22傳遞到仲裁框架24,該列表精確地反映用戶輸入事件。
框架24生成包括這些文本參數(shù)的HTTP請求,并通過HTTP將其發(fā)送到其中的URL。
應(yīng)當(dāng)指出,檢測事件并利用事件參數(shù)編碼URL所需的任何邏輯的實現(xiàn)不是在仲裁框架24而是在應(yīng)用程序框架22中實現(xiàn)的。以這種方式,進(jìn)行這種檢測和編碼的腳本不需要每次有事件發(fā)生時就重新加載,因為仲裁框架中的內(nèi)容和腳本在每個HTTP請求之后都會被完全替換。
在圖中,這表示為塊32和34示為在應(yīng)用程序框架22中,而38、33、35位于仲裁框架24中。
在web應(yīng)用服務(wù)器14(圖3的底部),請求在塊40接收,服務(wù)器端參數(shù)評價邏輯在解析塊42解析并提取參數(shù)值,并在應(yīng)用程序邏輯塊44從中得出用戶輸入。然后,服務(wù)器應(yīng)用程序邏輯44處理這個用戶輸入并估計其響應(yīng)。
提供腳本生成塊46。它生成包含可執(zhí)行代碼的腳本,當(dāng)在塊35中執(zhí)行時,該腳本在框架22中實現(xiàn)web應(yīng)用程序響應(yīng),而不需要從web服務(wù)器14再次加載整個框架??蚣?2新顯示的部分充當(dāng)更新后的框架,以便由用戶注意,用戶現(xiàn)在可以進(jìn)行更多輸入,該輸入再次由感測邏輯32感測。因此,循環(huán)可以重新進(jìn)入,而圖3中所述的所有邏輯塊可以再次以類似的方式使用。
另外參考圖2、4和5,如下描述發(fā)明性方法中的控制流步驟1用戶通過產(chǎn)生鼠標(biāo)或按鍵事件與應(yīng)用程序框架交互。
參考圖5的頂部,假設(shè)web應(yīng)用程序?qū)⒁幌盗刑幚砑捌湎鄳?yīng)狀態(tài)(啟動、停止)顯示在表中,并允許用戶通過在表中選擇它并按下表下邊的兩個按鈕啟動和停止中的一個來啟動或停止處理。假設(shè)用戶選擇了表中的處理“處理_1”并點(diǎn)擊按鈕“停止”。
步驟2一般JavaScript 26(圖2),即前面提到的由圖3中邏輯塊32和34表示的“第一可執(zhí)行輸入感測編程工具26”,嵌入到應(yīng)用程序框架22中,收集上表中的鼠標(biāo)交互并在最終停止按鈕被鼠標(biāo)左鍵點(diǎn)擊后注冊它。這種用戶動作的整體理解為事件。應(yīng)用程序框架22的所述JavaScript 26檢測這種事件、提取其特征(即,類型、目標(biāo)、按鍵按下等...)、將這些特征作為事件特定的按鍵值對編碼到指向服務(wù)小程序的預(yù)定URL中,并命令仲裁框架24加載對應(yīng)于這個URL的文檔。
除了上面提到的可選方案,對于這一步,還增加以下可選方案代替命令仲裁框架24將請求發(fā)送到服務(wù)器,應(yīng)用程序框架22可以自己發(fā)送這種請求,但要帶有響應(yīng)必須顯示在仲裁框架24中的附加信息。這可以例如通過使用應(yīng)用程序框架中將HTTP POST請求發(fā)送到服務(wù)器的隱藏公式來實現(xiàn)。HTML/JavaScript語言使得有可能指定由服務(wù)器返回的文檔必須顯示在不同的框架中。
這里的關(guān)鍵點(diǎn)是響應(yīng)不預(yù)定替換發(fā)生交互的文檔,但總應(yīng)當(dāng)顯示在隱藏的仲裁框架中。
步驟3仲裁框架24將HTTP請求發(fā)送到服務(wù)小程序16,其中這種請求包含關(guān)于在應(yīng)用程序框架上檢測到的用戶交互的信息。即,存儲為按鍵值對(事件類型是“按鈕點(diǎn)擊”,事件目標(biāo)是按鈕“停止”,表選擇是“處理_1”)的特征作為參數(shù)在這種請求中傳輸。這意味著應(yīng)當(dāng)理解為是內(nèi)容集中的,因為請求基本上只包含以上內(nèi)容。
步驟4在所述web應(yīng)用服務(wù)器上的服務(wù)小程序16讀出在指定URL上進(jìn)入的信息、解碼這種信息并根據(jù)期望的web應(yīng)用程序邏輯估計要返回的響應(yīng)。在這種情況下,應(yīng)用程序處理可以假設(shè)為包括企業(yè)數(shù)據(jù)庫訪問,及為了對這種用戶請求生成一些響應(yīng)數(shù)據(jù),還包括一些數(shù)據(jù)處理。而且,這也可以不同地實現(xiàn),例如如果相應(yīng)企業(yè)工作流合適,則通過預(yù)存大量JavaScript和相應(yīng)工作流響應(yīng)數(shù)據(jù)。
可選地和依賴于程序,響應(yīng)數(shù)據(jù)可以在運(yùn)行時估計。服務(wù)器響應(yīng)同樣是內(nèi)容集中的,因為服務(wù)器響應(yīng)中傳輸?shù)膮?shù)基本上包含非GUI圖形的內(nèi)容,在這里所估計出的響應(yīng)將是在表中對應(yīng)于“處理_1”的狀態(tài)文本從“啟動”變成“停止”。這可以是包含當(dāng)文檔被瀏覽器加載時要由瀏覽器執(zhí)行的JavaScript 28的HTML文檔。腳本包含內(nèi)容。由于它可以被技術(shù)人員理解,因此這種內(nèi)容只是用于更新應(yīng)用程序框架22的增量信息,而不需要從服務(wù)器完全加載它。
步驟5一旦響應(yīng)文檔被仲裁框架24接收,就執(zhí)行其中嵌入了JavaScript-MF 28的JavaScript,即前面提到的“第一可執(zhí)行顯示編程工具28”。通過增加新元素、除去現(xiàn)有元素或修改現(xiàn)有元素的屬性,這種腳本修改應(yīng)用程序框架中的文檔。應(yīng)用程序框架22中所顯示文檔的其余部分不需要重新加載。
本發(fā)明可以在硬件、軟件或硬件與軟件的組合中實現(xiàn)。根據(jù)本發(fā)明的web應(yīng)用程序可以在一個計算機(jī)系統(tǒng)中以集中方式實現(xiàn),或以不同元素散布在幾個互連計算機(jī)系統(tǒng)上的分布方式實現(xiàn)。任何類型適于執(zhí)行在此所述方法的計算機(jī)系統(tǒng)或其它裝置都適合。硬件與軟件的一般組合可以是具有計算機(jī)程序的通用計算機(jī)系統(tǒng),當(dāng)加載并執(zhí)行時,該計算機(jī)程序控制計算機(jī)系統(tǒng)使其執(zhí)行在此所述的方法。
本發(fā)明還可以嵌入在計算機(jī)程序產(chǎn)品中,該產(chǎn)品包括使得能夠?qū)崿F(xiàn)在此所述方法的所有特征,而且當(dāng)加載到計算機(jī)系統(tǒng)中時,該產(chǎn)品能夠執(zhí)行這些方法。
本環(huán)境中的計算機(jī)程序方法或計算機(jī)程序意味著一組指令的任何語言、代碼或符號的任何表達(dá),該指令要使具有信息處理能力的系統(tǒng)直接或在以下一個或兩個之后執(zhí)行特定功能a)轉(zhuǎn)換成其它語言、代碼或符號;b)在不同的材料形式中再現(xiàn)。
權(quán)利要求
1.一種在基于web的客戶(12)-服務(wù)器(14)環(huán)境中用于客戶端與服務(wù)器端web應(yīng)用程序(16)交互的方法,其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架(22)中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架(22)中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序(16)的請求的用戶界面,其中客戶-服務(wù)器請求-響應(yīng)通信對話(2、3、4)是利用對所述用戶輸入動作作出響應(yīng)的所述服務(wù)器端web應(yīng)用程序(16)執(zhí)行的,其特征在于在客戶(12)與服務(wù)器(14)之間的單個對話步驟中執(zhí)行步驟a)連同由服務(wù)器(14)生成的響應(yīng)參數(shù)(50),在對用戶隱藏的框架(24)中接收可執(zhí)行顯示編程工具(28),b)從對用戶隱藏的框架(24)中執(zhí)行所述編程工具(28),其中所述執(zhí)行在所述應(yīng)用程序框架(22)預(yù)定位置僅部分顯示所述響應(yīng)參數(shù)(50)以便對其更新。
2.如權(quán)利要求1所述的方法,其中用戶動作的集合包括利用輸入感測可執(zhí)行程序工具(26)進(jìn)行以下的步驟a)監(jiān)視所述客戶端web應(yīng)用程序用戶界面中所述用戶輸入動作以便檢測用戶事件,b)將所述事件的控制特征編碼(2)到尋址到控制所述web應(yīng)用程序的服務(wù)器端應(yīng)用程序(16)的相應(yīng)預(yù)定URL的擴(kuò)展中,c)指示(2)客戶端仲裁框架(24)從服務(wù)器加載所述編碼的URL,其中所述通信(2、3、4)包括步驟d)向所述服務(wù)小程序(16)發(fā)送(3)包括所述事件控制特征的請求,e)接收(4)對所述請求的包括預(yù)定服務(wù)器響應(yīng)的回答,該預(yù)定服務(wù)器響應(yīng)又包括對應(yīng)于所述用戶觸發(fā)事件的所述響應(yīng)參數(shù)(50)和所述第二可執(zhí)行程序?qū)ο?28),及其中所述顯示步驟通過以下執(zhí)行f)調(diào)用(5)所述第二可執(zhí)行顯示程序?qū)ο?28),該對象根據(jù)web應(yīng)用程序的程序邏輯修改所述應(yīng)用程序框架(22)。
3.如權(quán)利要求2所述的方法,其中所述仲裁框架(24)向服務(wù)器(14)發(fā)送(3)所述請求。
4.如權(quán)利要求2所述的方法,其中連同表示期望的服務(wù)器響應(yīng)必須顯示在仲裁框架(24)中的附加信息,所述應(yīng)用程序框架(22)向服務(wù)器(14)發(fā)送(3)所述請求。
5.一種在基于web的客戶(12)-服務(wù)器(14)環(huán)境中用于服務(wù)器端與客戶端web瀏覽器交互以便執(zhí)行web應(yīng)用程序(16)的方法,其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架(22)中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架(22)中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序(16)的請求的用戶界面,其中客戶-服務(wù)器請求-響應(yīng)通信對話(2、3、4)是利用對所述用戶輸入動作作出響應(yīng)的所述服務(wù)器端web應(yīng)用程序(16)執(zhí)行的,其特征在于步驟在客戶(12)與服務(wù)器(14)之間的單個對話步驟中執(zhí)行步驟a)連同由服務(wù)器(14)生成的響應(yīng)參數(shù)(50),發(fā)送特定的可執(zhí)行顯示編程工具(28)。
6.如前面任何一項權(quán)利要求所述的方法,其中通信包括步驟a)從所述客戶(12)瀏覽器的仲裁框架(24)接收(3)包括URL和附加URL擴(kuò)展的請求,b)解碼(32)所述擴(kuò)展,以便得出所述用戶動作的事件控制特征,c)處理(34)對應(yīng)于所述得出的事件控制特征并基于服務(wù)器端web應(yīng)用程序邏輯的事件,d)生成(36)web應(yīng)用程序響應(yīng)文檔,該文檔包括由服務(wù)器(14)生成并代表web應(yīng)用程序邏輯對所述用戶事件的響應(yīng)的響應(yīng)參數(shù)(50),及專用于web瀏覽器中的執(zhí)行的可執(zhí)行顯示程序工具(28),e)將所述響應(yīng)文檔發(fā)送(4)回所述輔助編程工具(24)。
7.如權(quán)利要求1或權(quán)利要求3所述的方法,其中所述可執(zhí)行程序工具(26、28)每個都是JavaScript。
8.一種web服務(wù)器計算機(jī)系統(tǒng),具有在基于web的客戶(12)-服務(wù)器(14)環(huán)境中用于執(zhí)行服務(wù)器端與客戶端web瀏覽器的交互以便執(zhí)行web應(yīng)用程序(16)的工具,其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架(22)中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架(22)中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序(16)的請求的用戶界面,其中客戶-服務(wù)器請求-響應(yīng)通信對話(2、3、4)是利用對所述用戶輸入動作作出響應(yīng)的所述服務(wù)器端web應(yīng)用程序(16)執(zhí)行的,其特征在于事件處理功能組件(16),該組件編程用于a)為了提供服務(wù)器應(yīng)用程序響應(yīng)數(shù)據(jù),評價由客戶請求發(fā)送的請求參數(shù),及b)選擇特定的可執(zhí)行顯示編程工具,及c)向客戶(12)發(fā)送回(4)包括所述應(yīng)用程序響應(yīng)數(shù)據(jù)和所述可執(zhí)行顯示編程工具(28)的服務(wù)器響應(yīng)。
9.一種在數(shù)據(jù)處理系統(tǒng)中執(zhí)行的計算機(jī)程序,用于在基于web的客戶(12)-服務(wù)器(14)環(huán)境中執(zhí)行服務(wù)器端與客戶端web瀏覽器交互,以便執(zhí)行web應(yīng)用程序(16),其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架(22)中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架(22)中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序(16)的請求的用戶界面,其中客戶-服務(wù)器請求-響應(yīng)通信對話(2、3、4)是利用對所述用戶輸入動作作出響應(yīng)的所述服務(wù)器端web應(yīng)用程序(16)執(zhí)行的,其特征在于用于在客戶(12)與服務(wù)器(14)之間的單個對話步驟中執(zhí)行以下步驟的功能組件a)連同由服務(wù)器(14)生成的響應(yīng)參數(shù)(50),發(fā)送特定的可執(zhí)行顯示編程工具(28)。
10.一種存儲在計算機(jī)可用介質(zhì)上的計算機(jī)程序產(chǎn)品,有形地體現(xiàn)了如權(quán)利要求9所述的計算機(jī)程序。
全文摘要
本發(fā)明涉及在基于web的客戶-服務(wù)器環(huán)境中用于客戶端與服務(wù)器端web應(yīng)用程序交互的方法和系統(tǒng),其中客戶端web瀏覽器用作用于在瀏覽器應(yīng)用程序框架中顯示由web應(yīng)用程序發(fā)送的web頁面并用于將由所述應(yīng)用程序框架中一個或多個用戶輸入動作觸發(fā)的事件轉(zhuǎn)換成指向所述服務(wù)器端web應(yīng)用程序的請求的用戶界面,其中例如JavaScript的可執(zhí)行程序?qū)ο笤诳蛻舳擞米骺蛻舳藈eb應(yīng)用程序用戶界面的一部分。為了改善用戶界面,建議在瀏覽器中使用與服務(wù)器通信并且當(dāng)服務(wù)器發(fā)送其響應(yīng)時防止所顯示文檔被重新加載的附加框架。相反,只有增量信息(50)顯示在該框架中。
文檔編號G06F17/30GK1835507SQ20061000427
公開日2006年9月20日 申請日期2006年2月13日 優(yōu)先權(quán)日2005年3月17日
發(fā)明者揚(yáng)尼克·賽勒特 申請人:國際商業(yè)機(jī)器公司