在網頁之間切換的同時使得能實現信息交換的製作方法
2023-05-18 22:45:16 2
專利名稱:在網頁之間切換的同時使得能實現信息交換的製作方法
技術領域:
本發明涉及分別根據權利要求I和4的前序部分的、在網頁之間切換的同時使得能實現信息交換的方法和系統。
背景技術:
必須建立.NET web應用的網頁開發者通常正在開發能夠由終端用戶根據下面兩種導航模式(navigation schema)之ー導航的網頁
I.「向下鑽取(drill-down)」導航模式,其中以分級方法組織網頁,這是典型方案,在該方案中終端用戶必須向下鑽取信息,該信息是嚴格互連的並且表示為定義明確的ー組網頁(其必須以精確順序加載)。
2. 「自主」導航模式,其中用戶能夠在未先驗連結的屏幕之間導航。在預定義網頁之間的導航的向下鑽取導航模式中,對於web開發者而言特別具有挑戰性的是管理路徑信息,即在從一頁切換到另ー頁的同時交換的參數和數據。讓我們考慮向下鑽取導航模式中需要由終端用戶填寫的web表單的例子。當用戶首次看見網頁吋,它開始於所謂的「零狀態」(即,滾動之前),且然後用戶可滾動該頁並且可填寫一些請求的數據。表單頁的附加數據存在,但未被加工(elaborate),直至執行點擊。當用戶點擊繼續時,他/她到達另ー網頁(後繼頁),並且數據被加工。通常,在已知技術中,數據經由web開發者開發的自定義方法(例如,「查詢字符串」)被從ー頁加工到後繼頁。如本文所使用,術語「源頁(source page ) 」表示調用頁並且術語「目標頁」表示從調用頁調用的被調用頁。使用查詢字符串用於參數/數據傳送的缺點在幹信息僅用於目標頁並且它顯式地存儲在URL中,具有明顯的安全問題。存在其它用於在網頁之間交換數據的已知技木。例如,根據技術「從源頁獲取推送(post)信息」,使用隱藏欄位的值,諸如,_VIEWSTATE, _EVENTTARGET 和 _EVENTARGUMENT(用於頁中的內部處理)。不幸的是,根據這種技術,僅可以獲取推送值並且不能讀取源頁上的任意控制項的值。此外,在已知技術中,參數通常存儲在會話中作為全局變量。不幸的是,以這種方法,參數未根據用戶正在導航的頁被情境化(contextualize),而是用作全局變量,參數的值是最後存儲的值。缺點在於在向下鑽取導航模式(其中頁可能位於流中,其中目標頁源是後繼的目標頁的源)中,期望的是,變量根據用戶正在導航的位置而非僅根據最後存儲的值具有情境化的值。web開發者必須考慮的典型要求是當用戶從目標頁啟動返回按鈕以便返回到源頁時,典型地期望用戶能夠返回到用戶能夠看見他/她填寫的最後數據的源頁的狀態。這種要求和其它要求落在已知的「智能導航(smartnavigation)」的概念中。例如,在ASP.NET的早期版本中,可以使用「 Page. SmartNavigation」屬性以便受益於ー些智能導航特徵。事實上,Page. SmartNavigation屬性通過基本上執行下面操作增強了網頁性能 -網頁的滾動位置在回發(postback)之後被保持。-網頁上的元素焦點在導航期間被保持。-僅最近網頁狀態被保留在web瀏覽器歷史文件夾中。然而,即使利用以前支持的Page. SmartNavigation屬性,也不提供用於執行標準化參數管理的技術。在任何情況下,由於以下事實Page. SmartNavigation屬性不與不同於Internet explorer 的 web 瀏覽器(例如,Netscape、Opera 或者 Safari) —起工作,Page.SmartNavigation屬性現在遭到反對。
考慮到這種情況,期望從事.NET web應用的網頁開發者被支持以這樣的框架,該框架用於在預定義頁面導航模式(諸如,向下鑽取導航模式)下執行標準化參數管理。相反地,迄今為止,web開發者面臨以下問題使用自定義解決方案在開發者團隊基礎上解決這些需要,其中明顯的缺點在於增加了開發和定製工作並且減小了交付的網頁的可用性。
發明內容
因此本發明的目的在於特別地通過以下方式克服上述缺點提供一種在向下鑽取導航模式中在源頁和目標頁之間切換的同時使得能實現信息交換的方法和系統,該方法和系統使開發和定製工作最小化。前述目的通過ー種利用.NET web應用開發的方法和系統來實現,其在向下鑽取導航模式中在源頁和目標頁之間切換的同時使得能實現信息交換,其中當終端用戶啟動位於源頁中的下一頁按鈕時在運行時能夠加載目標頁,並且其中當在運行時終端用戶啟動位於目標頁中的返回頁按鈕時能夠重新加載源頁;
本發明包括
-提供服務,該服務具有在頁面開發時配置的類庫的形式,用於管理源頁和目標頁之間的智能導航的信息,以下稱為智能導航服務;
-智能導航服務在運行時位於給定用戶會話中,並且能夠在發生事件時從給定用戶會話的網頁收集、存儲所需的智能導航信息和/或向給定用戶會話的網頁提供所需的智能導航信息;其中智能導航信息包括參數數據、導航狀態數據和用戶數據;
在頁面開發時,利用下述步驟配置智能導航服務
-在源頁和目標頁內,使用用戶數據初始化智能導航服務;
-在源頁內,為智能導航服務提供待收集和存儲的第一組參數數據;
-在目標頁內,向智能導航服務要求將要用在將要加載的目標頁上的第二組參數數據, 在運行時,執行下述步驟
-由智能導航服務根據終端用戶選擇從源頁收集並存儲第一組參數的值;
-當終端用戶通過啟動下一頁按鈕從源頁切換到目標頁時,執行下面兩個次子(sub-sub)步驟
°由智能導航服務從源頁收集並存儲導航狀態數據;°根據由智能導航服務提供的第二組參數數據的值利用所期望的視圖加
載目標頁,
-如果終端用戶通過啟動返回頁按鈕從目標頁切換回至源頁,則根據第一組參數數據和以前從源頁收集的狀態導航數據的值利用所期望的視圖加載源頁,這兩種數據都由智能導航服務提供。在本發明實施例中,可有益地提供用於源頁和目標頁的創建的模板網頁,所述模板網頁包括自定義配置(像是下ー頁按鈕、返回頁按鈕)和智能導航服務的初始化。在本發明實施例中,智能導航服務可方便地把智能導航信息存儲在給定用戶會話中或者存儲在庫中。另外,能夠提供ー種包括電腦程式代碼的電腦程式元件,所述電腦程式代碼用於在被加載到計算裝置的數字處理器中時執行根據上述方法的步驟。 另外,能夠提供一種存儲在計算機可用介質上的電腦程式產品,該電腦程式產品包括用於使計算裝置執行上述方法的計算機可讀程序代碼。所提出的發明的實施例允許網頁開發者利用用於標準化參數管理的軟體框架建立.NET web應用以具有網頁之間的預定義導航模式。利用本發明實施例,網頁的可用性増加。事實上,例如,可以根據需要過濾目標頁以便避免不必要的信息顯示給終端用戶並且使目標頁填充有選擇的所期望信息。利用本發明實施例,能夠以安全方式交換信息。此外,本發明實施例不妨礙自主導航模式。
現在將參照附圖根據優選但非排他性的實施例描述本發明,其中
圖I是方框圖,其示意性地表示根據本發明的示例性實施例與網頁交換信息的智能導航服務。
具體實施例方式根據本發明,在向下鑽取導航模式中利用.NET web應用開發源頁和目標頁,其中存在源頁和目標頁之間的切換,所述切換可以是雙向的,並且其中需要在這種切換期間的信息交換。當終端用戶啟動位於源頁中的下ー頁按鈕時,在運行時能夠加載目標頁。此外,如果終端用戶在運行時啟動位於目標頁中的返回頁按鈕,則能夠重新加載源頁,並且在這種情況下,它也可以為了簡單而表示為源返回頁。在圖I中顯示了分別位於源頁SP和目標頁TP中的下一頁按鈕NPB和返回頁按鈕BPB。當終端用戶通過以下操作來請求網頁之間的切換時,由他/她啟動這兩個按鈕NPB、BPB之一對由網頁開發者設計的控制項(例如,嚮導中的繼續按鈕)執行點擊或者調用由該服務以自定義方法提供(例如,通過在鍵盤中輸入給定鍵)的對應事件。為了為智能導航目的而管理源頁SP和目標頁TP之間的信息交換,提供稱為智能導航服務SNS的服務並且它被示意性地顯示在圖I中。智能導航服務SNS具有在頁面開發時配置的類庫的形式並且它在運行時位於給定用戶會話中。智能導航服務SNS能夠在發生事件時從給定用戶會話的網頁SP、TP收集、存儲所需的智能導航信息SNI和/或向給定用戶會話的網頁SP、TP提供所需的智能導航信息SNI。交換的智能導航信息包括參數數據、導航狀態數據和用戶數據。如本文所使用,術語「參數數據」表示在智能導航服務SNS和網頁SP、TP之間交換的參數信息。例如,參數數據可包括頁面開發者期望從源頁SP存儲並且在目標頁TP中可用的信息,其中可以由終端用戶在運行時從組合框或者從網格(grid)選擇各個項。在另ー例子中,參數數據可包括頁面開發者期望在目標頁TP中可用的信息,這種信息可以來自以前存儲的信息並且可取決於用戶數據。
如本文所使用,術語用戶數據表示關於用戶的信息。在簡單情況方案中,為了避免任何混淆,用戶數據可以僅為標識符。相反地,當認為安全問題很重要時,可能需要其它標識用戶數據,諸如用戶名、密碼、計算機名、會話ID等。如本文所使用,術語「導航狀態數據」表示向下鑽取導航模式中關於頁面的當前狀態的信息。智能導航服務SNS是智能上下文(intelligent context),因為一旦由來自屬於用戶會話的網頁SP、TP的通知詢問,它就能夠採取動作並把相關智能導航數據SNI提供給需要數據的網頁。在頁面開發時,通過執行下面的一組動作配置智能導航服務SNS
1.在源頁SP和目標頁TP內,使用用戶數據初始化智能導航服務SNS;
2.在源頁SP內,為智能導航服務SNS提供待收集和存儲的第一給定組參數數據;
3.在目標頁TP內,向智能導航服務SNS要求將要用在將要加載的目標頁TP上的第二給定組參數數據。在運行時,執行下面的操作
-智能導航服務SNS根據由終端用戶執行的選擇從源頁SP收集並存儲第一給定組參數的值;
-當終端用戶通過啟動下一頁按鈕NPB從源頁SP切換到目標頁(TP)時,執行下面兩個次子步驟
°智能導航服務SNS從源頁SP收集並存儲導航狀態數據值;
°根據由智能導航服務SNS提供的第二給定組參數數據的值利用所期望的視圖加載目標頁TP,
-如果終端用戶通過啟動返回頁按鈕BPB從目標頁TP切換回至源頁SP,則可執行下面的子步驟
°智能導航服務SNS可從目標頁TP收集並存儲導航狀態數據值(可選子步
驟);
°根據第一給定組參數數據和以前從源頁SP收集的狀態導航數據的值利用所期望的視圖加載源頁SP,這兩種數據都由智能導航服務SNS提供。需要注意的是,將要用在目標頁TP上的第二給定組參數數據可取決於由終端用戶對源頁SP中的第一給定組參數數據執行的選擇。例如,有益地,網頁開發者可能期望配置根據由終端用戶在運行時在源頁SP中進行的特定選擇,利用特定並且方便的設計視圖在請求時加載目標頁TP,從而目標頁TP填充有來自ー些所期望的信息的選擇。在簡單的實際例子中,終端用戶可在源頁中選擇他感興趣的一組烹飪工具和烹飪配料,並且當他/她點擊繼續吋,加載目標頁,該目標頁包括利用他/她的烹飪工具和配料的選擇可實現的一系列烹飪食譜。可利用技術術語「豐富主-細節系統(rich master-detail system)」表示這種系統源頁SP的ー組信息設置目標頁TP和所有後繼目標頁的內容,因為在互連頁面的流中,目標頁TP可以是另ー後繼目標頁TP的源SP。因此,在本發明的實施例中,智能導航服務SNS也可能夠訪問並管理以前存儲在庫中的信息的提供。在本發明實施例中,可根據源頁SP的標記而非根據在源頁SP中輸入的字符串(因為它是以前已知的技術中的情況)、利用所期望的特定視圖有益地加載目標頁TP。在本發明實施例中,智能導航服務SNS能夠收集、存儲智能導航信息SNI並以安全方式把智能導航信息SNI關聯到其它以前存儲的信息,例如當終端用戶輸入標識號時,輸入的一些機密信息能夠以安全方式關聯到它。有益地,不同於以前已知的技術(諸如,查詢),根據本發明實施例,安全敏感數據不是顯式處理的數據。 在本發明的實施例中,為了使頁面開發者的工作最小化,可以可選地提供網頁SP、TP的模板,該模板包含ー些自定義配置。例如,該頁面模板可具有自定義配置以允許頁面SP、TP和智能導航服務SNS之間的通信,以便在web應用和該服務之間交換智能導航信息SNI,並用於追蹤用戶的導航動作。可選的網頁的模板可具有包括可預配置的返回和向前頁面按鈕的豐富頁面的形式,這些按鈕在啟動時自動提供狀態導航數據,並且它可以自動為智能導航服務給出關於用戶的基本信息。在不使用可選的模板頁的情況下,可根據提供給頁面開發者的準則配置智能導航服務。方便地,從頁面開發者的角度,在實現模板網頁的選擇的情況下,頁面開發者僅需通過在模板網頁中配置自定義按鈕建立導航的方向(即,向前或向後),並且如果必要,僅需存儲用於網頁之間的導航的ー些附加信息參數。因此,根據本發明的發明實施例,終端用戶在向下鑽取導航模式中在運行時導航的同時可啟動下ー頁按鈕NPB並在web應用網頁的層級中向下導航,從而根據由調用源頁屏幕傳遞的信息使用智能導航信息加載被調用目標頁。這種信息可用於預過濾被調用屏幕並根據需要顯示ー些文本和/或圖形對象。此外,終端用戶在向下鑽取導航模式中導航的同時可在web應用頁的層級中啟動返回頁按鈕BPB,從而被調用源返回頁可以被加載並被利用最後一次顯示它時可用的狀態信息初始化。在本發明的實施例中,智能導航信息(也稱為「上下文」信息)可優選地由智能導航服務SNS存儲在web應用會話狀態,例如存儲在ASP. NET會話狀態。另ー方面,在本發明的其它實施例中,智能導航服務SNS可以把ー些或全部智能導航數據信息SNI存儲在庫(作為例如資料庫)中。在本發明的實施例中,向下鑽取導航模式可包括源網頁SP和目標網頁TP的級聯流中的一組網頁。例如,在包括三個網頁的嚮導類型的導航模式中,中間網頁可相對於第一頁用作目標頁並且相對於最後一頁用作源頁。在本發明的實施例中,從終端用戶的角度,終端用戶在運行時觀看源頁SP的同時可點擊虛擬控制項,該虛擬控制項由頁面開發者標記為「返回」但實際上啟動源頁SP上的下一頁按鈕NPB。因此,終端用戶可能認為他/她正在返回源頁SP,而實際上未意識到,她導航到這樣的目標頁TP,其與源頁SP相似但具有一些另外的所期望充實信息。讓我們在表格表I至表8的支持下表示所提出的發明的示例性實施例。該例子取自 Simatic IT (由 Siemens 提供的製造執行系統)的 Client Application Builder。SIMATIC (由Siemens提供的產品家族)提供寬範圍的MES產品。在這個具體例子中,智能導航服務SNS分布為供應商的形式並作為利用· NET Framework 3. 5編寫的組件。智能導航服務 SNS 稱為「MESPageContextProvider. dll 」並且它是 Siematic Client ApplicationBuilder (—種web控制項和服務的框架,用於在網頁和Simatic I T伺服器之間共享信息)的一部分。庫包含兩個類「NavigationContext」類,用於定義具有表I中列出的屬性和方法的智能導航服務SNS ;以及「ParamContext」類,用於定義如表2中所示的數據結構。
丨 NavigationContextI Sealed Class:-Fields
_ NavigationEntity: string _ Paie; PageContext -Properties
■Goiackward {get; set;}: bool
■GoForward {get; set; }■: bool
■IsBackward {get; set;}: boolIsForward {get; set;}: bool
■Page {get; set;}: PageContext I - Methods
I■ AddPaP3· (string name, object value, Type type): void
I_ GetParani (string name): ParamContext
I■ CSetParaiiMaiiies{): string[J
I■ GetParansO; ParamContextO
I· NavigationContext{PageContext page)
表I。表I 的屬性 GoForward 向類 NavigationContext 報告 NavigationButtonNext 的點擊。表 I 的屬性 GoBackward 向類 NavigationContext 報告 NavigationButtonBack 的點擊。表I的屬性IsBackward提供正確的向後導航。表I的屬性IsForward提供正確的向前導航。表I的方法AddParam被調用以便增加或修改參數。表I的方法GetParam返回參數。表I的方法GetParams返回參數數據。表I的方法GetParamNames返回所有參數名稱。
權利要求
1.ー種利用.NET web應用開發的、在向下鑽取導航模式中在源頁(SP)和目標頁(TP)之間切換的同時使得能實現信息交換的方法,其中當終端用戶啟動位於源頁(SP)中的下一頁按鈕(NPB)時在運行時能夠加載目標頁(TP),並且其中當在運行時終端用戶啟動位於目標頁(TP)中的返回頁按鈕(BPB)時能夠重新加載源頁(SP); 所述方法的特徵在於,它包括下述步驟 -提供服務(SNS),該服務具有在頁面開發時配置的類庫的形式,用於管理源頁(SP)和目標頁(TP)之間的智能導航的信息,該服務以下稱為智能導航服務; -智能導航服務(SNS)在運行時位於給定用戶會話中,並且能夠在發生事件時從給定用戶會話的網頁(SP,TP)收集、存儲所需的智能導航信息(SNI)和/或向給定用戶會話的網頁(SP,TP)提供所需的智能導航信息(SNI);其中智能導航信息(SNI)包括參數數據、導航狀態數據和用戶數據; 在頁面開發時,利用下述步驟配置智能導航服務(SNS) -在源頁和目標頁(SP,TP)內,使用用戶數據初始化智能導航服務(SNS); -在源頁(SP)內,為智能導航服務(SNS)提供待收集和存儲的第一組參數數據; -在目標頁(TP)內,向智能導航服務(SNS)要求將要用在將要加載的目標頁(TP)上的第二組參數數據, 在運行時,執行下述步驟 -由智能導航服務(SNS)根據終端用戶選擇從源頁(SP)收集並存儲第一組參數的值;-當終端用戶通過啟動下一頁按鈕(NPB)從源頁(SP)切換到目標頁(TP)時,執行下面兩個次子步驟 °由智能導航服務(SNS)從源頁(SP)收集並存儲導航狀態數據; °根據由智能導航服務(SNS)提供的第二組參數數據的值利用所期望的視圖加載目標頁(TP), -如果終端用戶通過啟動返回頁按鈕(BPB)從目標頁(TP)切換回至源頁(SP),則根據第一組參數數據和以前從源頁(SP)收集的狀態導航數據的值利用所期望的視圖加載源頁(SP),這兩種數據都由智能導航服務(SNS)提供。
2.根據權利要求I所述的方法,其中提供用於源頁和目標頁(SP,TP)的創建的模板網頁,所述模板網頁包括作為下ー頁按鈕(NPB)、返回頁按鈕(BPB)的自定義配置和智能導航服務(SNS)的初始化。
3.根據前面權利要求中任一項所述的方法,其中所述智能導航服務(SNS)把智能導航信息(SNI)存儲在給定用戶會話中或者存儲在庫中。
4.ー種系統,該系統具有用於執行根據權利要求I至3中任一項所述的方法的步驟的裝置。
5.根據權利要求I至3中任一項所述的方法,其特徵在幹,它以軟體實現。
全文摘要
本發明涉及在網頁之間切換的同時使得能實現信息交換。本發明提供一種利用.NETweb應用開發的方法和系統,用於在向下鑽取導航模式中在源頁(SP)和目標頁(TP)之間切換的同時使得能實現信息交換,本發明包括提供智能導航服務(SNS),該服務具有在頁面開發時配置的類庫的形式,用於管理源頁(SP)和目標頁(TP)之間的智能導航的信息,智能導航服務(SNS)在運行時位於給定用戶會話中,並且能夠在發生事件時從給定用戶會話的網頁(SP,TP)收集、存儲所需的智能導航信息(SNI)和/或向給定用戶會話的網頁(SP,TP)提供所需的智能導航信息(SNI)。
文檔編號G06F17/30GK102682060SQ20121001935
公開日2012年9月19日 申請日期2012年1月21日 優先權日2011年1月28日
發明者D.博裡洛, N.朱斯蒂 申請人:西門子公司