專利名稱:用于web服務的后期資源本地化綁定的制作方法
用于WEB服務的后期資源本地化綁定
背景技術:
典型地,用戶界面HTML和可本地化的資源被作為集成的HTML流下載,該集成的 HTML流然后被裝載到web瀏覽器的文檔對象模型(DOM)中并被呈現。在希望有對于web資源的不同語言翻譯以容納跨越全球的不同語言或文化的國際場景中,今天的典型方法利用了所謂的“構建時”綁定(build-time binding)。在構建時綁定中,先于在可從其訪問資源的服務器上被運用,翻譯以及相關聯(lián)的來源值被綁定到該資源。這意味著,一旦Web服務被對于特定的語言構建,綁定就被固定。修改這樣的構建時被綁定的資源典型地意味著整個 Web服務必須被設計和擴展成支持新的文化(culture)。這導致不靈活的和代價高的設計。而且,已知的是對于任何給定的網頁和相關聯(lián)的資源的集合,世界上有許多語言可能都是希望得到支持的,構建時綁定迫使服務器僅僅支持在構建時由產品團隊定義的那組語言。支持所有已知的語言將是令人畏懼的和昂貴的任務。
發(fā)明內容
概要
本概要被提供來以簡化的形式介紹概念的選擇,這些概念還將在下面的詳細說明中進行描述。本概要既不打算標識要求保護的主題的關鍵特征或必要特征,也不打算被使用來限制要求保護的主題的范圍。各種實施例提供了客戶機側方法,以使得能在客戶機設備處進行與語言串相關聯(lián)的資源的后綁定(late-binding),所述語言串是從相對主服務器為輔助的數據源檢索的。 客戶機側后綁定方法可以以通常用戶無法察覺的方式執(zhí)行,并且它保持用戶界面格式編排和客戶機功能性。在至少一些實施例中,引入了后綁定文化(late-bind culture)的概念。后綁定文化被托管(hosted)在與Web應用相關聯(lián)的Web服務器上。Web應用可被認為是Web可獲得的服務或產品,其例如可以通過使用URL而獲得。作為例子而不是限制,示例包括電子郵件服務或產品,諸如Hotmail,日歷服務或產品等等。當在客戶機設備上執(zhí)行的Web瀏覽器從Web服務器請求采用某種語言的Web應用,而在該Web服務器上并沒有為那個Web應用在物理上托管該種語言時,Web瀏覽器被導航到Web服務器所托管的后綁定文化。后綁定文化包括這樣的信息,即其可以由Web瀏覽器使用或以Web瀏覽器的名義使用,以便從輔助的或不同的Web服務獲得諸如用戶界面元素那樣的本地化的語言資源。所得到的本地化的語言資源然后在客戶機設備上可被綁定到相關聯(lián)的網頁,并隨后在客戶機設備上被呈現。
相同的數字在全部附圖上被使用來引用同樣的特征。圖1圖示按照一個或更多個實施例的、在其中可以利用這里描述的各種原理的操作環(huán)境。
圖2圖示按照一個或更多個實施例的示例性系統(tǒng)。圖3是描述按照一個或更多個實施例的方法中的步驟的流程圖。圖4圖示可被使用來實施一個或更多個實施例的示例性系統(tǒng)。
具體實施例方式概述
各種實施例提供了客戶機側方法,以使得能在客戶機設備處進行與語言串相關聯(lián)的資源的后綁定,所述語言串是從相對主服務器而言為輔助的數據源檢索的??蛻魴C側后綁定方法可以以通常用戶無法察覺的方式執(zhí)行,并且它保持用戶界面格式編排與客戶機功能性。在至少一些實施例中,引入了后綁定文化的概念。后綁定文化被托管在與Web應用相關聯(lián)的Web服務器上。Web應用可被認為是Web可獲得的服務或產品,其例如可以通過使用URL而獲得。作為例子而不是限制,示例包括電子郵件服務或產品,諸如Hotmail,日歷服務或產品等等。當在客戶機設備上執(zhí)行的Web瀏覽器從Web服務器請求采用某種語言的Web應用,而在該Web服務器上并沒有為那個Web應用在物理上托管該種語言時,Web瀏覽器被導航到Web服務器所托管的后綁定文化。后綁定文化包括這樣的信息,即其可以由Web瀏覽器使用或以Web瀏覽器的名義使用,以便從輔助的或不同的Web服務獲得諸如用戶界面元素那樣的本地化的語言資源。所得到的本地化的語言資源然后在客戶機設備上可被綁定到相關聯(lián)的網頁,并隨后在客戶機設備上被呈現。在以下的討論中,提供了標題為“操作環(huán)境”的段落,它描述了在其中可以利用一個或更多個實施例的一個環(huán)境。隨后,標題為“示例性實施例”的段落描述了可以利用后綁定文化的各種實施例。接著,標題為“示例性方法”的段落描述了按照一個或更多個實施例的示例性方法。最后,標題為“示例性系統(tǒng)”的段落描述了可以被使用來實施一個或更多個實施例的示例性系統(tǒng)。操作環(huán)境
圖1圖示按照一個或更多個實施例的操作環(huán)境,總的以100表示。環(huán)境100包括計算設備102,其具有一個或更多個處理器104 ;—個或更多個計算機可讀存儲媒體106 ;和駐留在計算機可讀存儲媒體上并可由處理器(們)執(zhí)行的一個或更多個應用108。作為例子而不是限制,計算機可讀存儲媒體可包括典型地與計算設備相關聯(lián)的、所有形式的易失性和非易失性存儲器和/或存儲媒體。這樣的媒體可包括ROM、RAM、閃速存儲器、硬盤、可拆卸媒體等等。計算設備的一個具體例子在下面的圖4中被顯示和描述。另外,計算設備102包括采用web瀏覽器110的形式的軟件應用??梢允褂萌魏芜m當的web瀏覽器,它們的例子是從本文檔的受讓人和其他人處可得到的。另外,瀏覽器 110可以包括一個或更多個插件(plug-in)lll。這里描述的后綁定功能性可以至少部分地由瀏覽器和/或一個或更多個插件來實施。另外,環(huán)境100包括網絡112,諸如互聯(lián)網;以及一個或更多個web服務器114或 Web服務,可以從其接收內容和向其發(fā)送內容,正如在上面和下面描述的。這樣的內容可包括可以由web瀏覽器110和/或一個或更多個插件111呈現的諸如HTML文檔那樣的結構化文檔以及其它web內容。計算設備102可以被具體化為任何適當的計算設備,作為例子而不是限制,諸如臺式計算機、便攜式計算機、手持計算機——諸如個人數字助理(PDA)、蜂窩電話等等。在描述了示例性操作環(huán)境后,現在考慮可以利用后綁定文化的一些示例性實施例的討論。示例性實施例
圖2圖示按照一個或更多個實施例的示例性系統(tǒng),總的以200表示。在本例中,系統(tǒng) 200包括計算或客戶機設備202,其包括瀏覽器210和/或可以結合瀏覽器協(xié)同工作的插件 211。在所圖示的和描述的實施例中,客戶機設備202利用標識客戶機設備所處的場所并從而標識與客戶機設備相關聯(lián)的語言的標識符。任何適當的標識符都可以利用。在至少一些實施例中,可以利用場所標識符或LCID。LCID是由Microsoft Windows 定義的標識特定語言的32比特值。LCID包括語言ID、類別ID和預留的比特,正如本領域技術人員將意識到的。系統(tǒng)200還包括Web服務器21 和Web服務214b。在所圖示的和描述的實施例中,Web服務器21 托管了后綁定文化250。后綁定文化250包括信息252,該信息可以由 Web瀏覽器210使用或以Web瀏覽器210的名義被使用,以便從Web服務214b獲得本地化的語言資源,諸如用戶界面元素。在某種意義上,后綁定文化用作為標識Web應用、它的資源、資源安置于何處等等的模板或外殼(shell)。信息252可以以不背離要求保護的主題的精神和范圍的任何適當的形式來表示。 在一個或更多個實施例中,信息252可包括標記語言,諸如XML標記語言,其規(guī)定Web應用標識符、資源(例如,通過字符串ID)和在基于XML文檔對象模型(DOM)的用戶界面內的資源位置。資源位置可以通過用頁面的HTML定義資源標識符的標記標簽的位置推斷出來。因此,Web應用標識符可以標識電子郵件產品,以及資源標識符將定義被引用的資源,諸如頁面標題。Web服務214b包括資源翻譯254。資源翻譯包括與各種屬性相關聯(lián)的一個個資源的語言特定的翻譯。這樣,例如,如果Web應用是電子郵件產品,則Web服務214b將包括用于采用與由Web服務器21 所支持的那些語言不同的語言的電子郵件產品的資源翻譯。資源翻譯不僅通過它們所關聯(lián)的Web應用標識,而且也通過諸如資源ID那樣的獨特標識符標識。現在考慮按照一個或更多個實施例,在客戶機設備202、Web服務器21 和Web服務214b之間出現的工作流。在要描述的工作流中,一個個工作流項目用加圓圈的數字來指明。假設對于特定的Web應用,用戶已經將他們的Web瀏覽器配置成缺省的語言,而該缺省的語言沒有被Web服務器21 支持。瀏覽器的這種配置不僅可以由客戶機設備的操作系統(tǒng)設置值反映,而且也可以由上述的LCID反映?,F在假設,作為工作流項目1,對于特定Web應用的頁面請求由Web瀏覽器210做出。這可以通過任何適當的活動——諸如舉例而言,用戶在Web瀏覽器中輸入適當的URL—一而被觸發(fā)。頁面請求可包括信息,諸如使得 Web服務器21 能查明與客戶機設備202相關聯(lián)的語言的操作系統(tǒng)設置值和/或LCID。當Web服務器21 接收到頁面請求時,它可以從被包括在頁面請求中的信息檢測與客戶機設備202相關聯(lián)的語言。響應于檢測到它不支持對于給定的Web應用的、與客戶機設備202相關聯(lián)的語言,Web服務器21 可以把Web瀏覽器210導航到后綁定文化250。 它是通過作為工作流項目2,把后綁定文化250返還到客戶機設備202而做到這一點。使得相關聯(lián)的網頁能夠在后綁定發(fā)生后被呈現的其它項目,諸如應用代碼等等,也可以被返還到客戶機設備,正如下面描述的。一旦后綁定文化被返還,Web瀏覽器210和/或插件211就解析后綁定文化,并且確定Web應用標識符以及與Web應用所請求的網頁相關聯(lián)的資源組。作為工作流項目3,于是瀏覽器從Web服務214b請求相關資源,既指定了 Web應用標識符又指定了要被返還的資源的語言。語言可以通過利用上述的LCID來規(guī)定。在至少一些實施例中,Web服務214b可以事先已為瀏覽器或插件所知。替換地或另外地,Web服務214b可以在所返還頁面的HTML 中被標識為例如瀏覽器可解譯的已定義元數據標簽內的標題元數據。Web服務214b使用Web應用標識符和資源組來檢索相關聯(lián)的已翻譯資源組,諸如舉例而言本地化的語言串,以及作為工作流項目4,把已翻譯的資源返還到Web瀏覽器210。在這一點,已翻譯資源可以經歷預頁面呈現過程,在該過程中這些資源被綁定到網頁。已翻譯資源可以通過利用被包括在后綁定文化250中的信息252而被綁定。記住 信息252包括資源的標識(例如,通過字符串ID)和資源位置。一旦資源在客戶機設備上被綁定到網頁,頁面就可以被Web瀏覽器呈現并且包括本地化的資源、被正確地編排格式的用戶界面元素和恰當地執(zhí)行的頁面功能性。在描述了按照一個或更多個實施例的示例性系統(tǒng)后,現在考慮按照一個或更多個實施例的示例性方法。示例性方法
圖3是描述在按照一個或更多個實施例的方法中的步驟的流程圖。該方法可以結合任何適當的硬件、軟件、固件或它們的組合而被實施。在至少一些實施例中,該方法可以利用在有形的計算機可讀媒體上包含的軟件而被實施,這些計算機可讀媒體的例子在上面和下面提供。另外,該方法是結合三個不同的實體一客戶機設備、Web服務器和Web服務進行描述的。在特別指定的列下出現的流程圖的各個方面打算由與那個列相關聯(lián)的實體來執(zhí)行。 另外,在“客戶機設備”下出現的流程圖的各個方面可以由Web瀏覽器和/或與Web瀏覽器相關聯(lián)的插件執(zhí)行。步驟300傳送頁面請求到Web服務器。頁面請求可包括由客戶機設備所支持的語言的指示。另外,在所圖示的和描述的實施例中,所述頁面請求可以是對于特定的Web應用的請求。步驟302接收頁面請求,以及步驟304促成到后綁定文化的導航。步驟304可以響應于Web服務器查明對于特定的請求的Web應用,Web服務器不支持在請求中所指示的語言而執(zhí)行。后綁定文化的例子在上面提供。步驟306在客戶機設備上導航到后綁定文化。步驟308處理后綁定文化。在一個或更多個實施例中,后綁定文化可以通過查明與后綁定文化相關聯(lián)的Web應用標識符以及與隨后要被呈現的網頁相關聯(lián)的資源組而被處理。步驟310將對于相關的已翻譯資源的請求傳送到Web服務。所傳送的請求包括Web應用標識符和要被返還的資源的語言的指示。步驟312接收對于相關的已翻譯資源的請求,并且響應于此,根據在先前接收的請求中指示的Web應用標識符和語言,來定位相關的已翻譯資源。步驟314把相關的已翻譯資源返還到客戶機設備。步驟316接收相關的已翻譯資源,以及步驟318把相關的已翻譯資源綁定到要被呈現的網頁。把相關的已翻譯資源綁定到網頁可包括使用被包含在后綁定文化中的信息和從Web服務接收的信息,來把資源正確地放置在網頁上。步驟320在客戶機設備上用已翻譯資源來呈現網頁。應當意識到和理解,由客戶機設備執(zhí)行的步驟310可以通過請求與特定Web應用相關聯(lián)的所有資源而被執(zhí)行。在這種情況下,這可以包括在隨后要被呈現的特定網頁上可能看到或可能看不到的資源。替換地或另外地,步驟310可以通過請求與隨后要被呈現的特定網頁相關聯(lián)的資源,但不請求將不在該網頁上呈現的資源而被執(zhí)行。于是這后一種方法在用戶體驗和導航通過所請求的Web應用時將根據需要來請求資源,。上述的方法可以保持用戶界面格式編排和功能性。另外,上述的方法支持資源和框架(frame)的精確的呈現等等。另外,因為數據綁定是在用戶界面被呈現之前完成的,所以它對于用戶而言是不可見的,因此是透明的。在描述了按照一個或更多個實施例的示例性方法后,現在考慮可被利用來實施上述實施例的示例性系統(tǒng)。示例性系統(tǒng)
圖4圖示可被使用來實施上述的各種實施例的示例性計算設備400。計算設備400可以是例如圖1的計算設備102或Web服務器114。計算設備400包括一個或更多個處理器或處理單元402、一個或更多個存儲器和/ 或存儲部件404、一個或更多個輸入/輸出(I/O)設備406以及允許各種部件和設備互相通信的總線408??偩€408代表幾種類型的總線結構的任何一種或多種,包括存儲器總線或存儲器控制器、外圍總線、加速的圖形端口和使用各種各樣總線體系結構中任何總線結構的處理器或本地總線??偩€408可包括有線和/或無線總線。存儲器/存儲部件404代表一個或更多個計算機存儲媒體。部件404可包括易失性媒體(諸如,隨機存取存儲器(RAM))和/或非易失性媒體(諸如,只讀存儲器(ROM)、閃速存儲器、光盤、磁盤等等)。部件404可包括固定媒體(例如,RAM、ROM、固定硬驅動等等)以及可拆卸媒體(例如,閃速存儲器驅動、可拆卸硬驅動、光盤等等)。一個或更多個輸入/輸出設備406允許用戶將命令和信息輸入到計算設備400,還允許信息被呈遞給用戶和/或其它部件或設備。輸入設備的例子包括鍵盤、光標控制設備 (例如,鼠標)、話筒、掃描儀等等。輸出設備的例子包括顯示設備(例如,監(jiān)視器或投影儀)、揚聲器、打印機、網卡等等。在這里,可以在軟件或程序模塊的一般上下文中描述各種技術。通常,軟件包括執(zhí)行特定的任務或實施特定的抽象數據類型的例行程序、程序、對象、組件、數據結構等等。這些模塊和技術的實現可被存儲在某些形式的計算機可讀媒體上,或通過某些形式的計算機可讀媒體來傳送。計算機可讀媒體可以是可由計算設備訪問的任何可得到的介質或媒體。 作為例子,而不是限制,計算機可讀媒體可包括“計算機可讀存儲媒體”?!坝嬎銠C可讀存儲媒體”包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊、或其它數據那樣的信息的任何方法或技術實施的易失性和非易失性的、可拆卸和不可拆卸的媒體。計算機可讀存儲媒體包括,但不限于RAM、ROM、EEPR0M、閃速存儲器或其它存儲器技術、CD-ROM、數字通用盤(DVD)或其它光學存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或其它磁存儲裝置、或可被使用來存儲想要的信息并且可以由計算機訪問的任何其它介質。結論
各種不同的實施例提供了客戶機側的方法,用來使得能在客戶機上進行與語言串相關聯(lián)的資源的后綁定,該語言串是從相對主服務器而言為輔助的數據源檢索的。客戶機側后綁定方法可以以通常用戶無法察覺的方式執(zhí)行,并且它保持用戶界面格式編排與客戶機功能性。雖然本主題是以對于結構特征和/或方法動作特定的語言描述的,但應當理解, 在所附權利要求中定義的主題不是必定限于上述的特定特征或動作。而是,上述的特定特征和動行是作為實施權利要求的示例性形式被公開的。
權利要求
1.一種計算機實施的方法,包括由客戶機設備傳送(300)頁面請求到Web服務器;導航(306)到后綁定文化,所述后綁定文化被配置成使得采用與Web服務器所支持的那些語言不同的語言的資源能在客戶機設備上被綁定到網頁,所述網頁是與頁面請求相關聯(lián)的;處理(308)后綁定文化,以作用于將對于相關的已翻譯資源的請求傳送到Web服務; 從Web服務接收(316)相關的已翻譯資源;以及在客戶機設備上,把相關的已翻譯資源綁定(318)到該網頁。
2.權利要求1的計算機實施的方法,還包括用相關的已翻譯資源來呈現網頁。
3.權利要求1的計算機實施的方法,其中后綁定文化規(guī)定 屬性標識符;與由屬性標識符標識的屬性相關聯(lián)的一個或更多個資源;以及相關聯(lián)的資源位置。
4.權利要求1的計算機實施的方法,其中后綁定文化在XML中規(guī)定 屬性標識符;與由屬性標識符標識的屬性相關聯(lián)的一個或更多個資源;以及相關聯(lián)的資源位置。
5.權利要求1的計算機實施的方法,其中頁面請求包括標識與客戶機設備相關聯(lián)的語言的標識符。
6.權利要求1的計算機實施的方法,其中傳送、導航、處理、接收或綁定中的至少一項由Web瀏覽器執(zhí)行。
7.權利要求1的計算機實施的方法,其中傳送、導航、處理、接收或綁定中的至少一項由Web瀏覽器執(zhí)行,以及其中頁面請求包括標識與客戶機設備相關聯(lián)的語言的標識符。
8.權利要求1的計算機實施的方法,其中傳送、導航、處理、接收或綁定中的至少一項由與Web瀏覽器相關聯(lián)的插件執(zhí)行。
9.包含可執(zhí)行指令的一個或更多個計算機可讀存儲媒體(106),所述指令當被執(zhí)行時實施一種方法,包括處理(308)后綁定文化,所述后綁定文化被配置成使得如下的資源能在客戶機設備上被綁定到與頁面請求相關聯(lián)的網頁,即所述資源采用的語言與向其傳送該頁面請求的 Web服務器所支持的那些語言不同;響應于所述處理,從Web服務接收(316)已翻譯資源;以及在客戶機設備上,把已翻譯資源綁定(318)到該網頁。
10.權利要求9的一個或更多個計算機可讀存儲媒體,其中指令以web瀏覽器的形式駐留。
11.權利要求9的一個或更多個計算機可讀存儲媒體,其中指令以瀏覽器插件的形式駐留。
12.權利要求9的一個或更多個計算機可讀存儲媒體,其中指令還包括用來實施一種方法的指令,所述方法包括先于所述處理,傳送頁面請求到該Web服務器,其中該頁面請求包括標識與該客戶機設備相關聯(lián)的語言的標識符。
13.權利要求9的一個或更多個計算機可讀存儲媒體,其中后綁定文化規(guī)定 屬性標識符;與由屬性標識符標識的屬性相關聯(lián)的一個或更多個資源;以及相關聯(lián)的資源位置。
14.權利要求9的一個或更多個計算機可讀存儲媒體,其中后綁定文化在XML中規(guī)定 屬性標識符;與由屬性標識符標識的屬性相關聯(lián)的一個或更多個資源;以及相關聯(lián)的資源位置。
15.權利要求9的一個或更多個計算機可讀存儲媒體,其中指令還包括用來實施包括在客戶機設備上呈現網頁的方法的指令。
全文摘要
各種實施例提供了客戶機側方法,用來使得能在客戶機處進行與語言串相關聯(lián)的資源的后綁定,所述語言串是從相對主服務器而言為輔助的數據源檢索的??蛻魴C側后綁定方法可以以通常用戶無法察覺的方式執(zhí)行,并且它保持用戶界面格式編排與客戶機功能性。
文檔編號G06F17/30GK102306164SQ201110222288
公開日2012年1月4日 申請日期2011年8月4日 優(yōu)先權日2010年8月4日
發(fā)明者凱登 A., 梅勒 L. 申請人:微軟公司