專利名稱:用于基于web的圖表可視化的可擴展性的制作方法
用于基于WEB的圖表可視化的可擴展性
背景技術(shù):
計算機和軟件對人們的日常生活的主要貢獻中的一種是諸如文字處理、電子表格計算和圖表表現(xiàn)等的廣泛使用的任務(wù)的自動化。這些應(yīng)用程序不僅自動化并使各種任務(wù)可被任何人使用,而且它們也增加了操縱各種各樣的文檔和數(shù)據(jù)的許多新的能力。直到最近, 典型的環(huán)境包括帶有被安裝在其上的單機或聯(lián)網(wǎng)的計算機。因而,用戶使用也被本地存儲的數(shù)據(jù)借助于在他們的本地的計算機上安裝和執(zhí)行的應(yīng)用程序來工作。這一方法的一個缺點是,每當可獲得更新版本、替換計算設(shè)備等等時,必須重新安裝應(yīng)用程序,且用戶需要在其上安裝有軟件的機器上工作。近來的無需將全尺寸應(yīng)用程序安裝在用戶的計算機上的負擔(dān)就提供相同的文檔創(chuàng)建和操縱能力的趨勢是允許用戶通過web訪問來執(zhí)行相同的任務(wù)。在典型的web訪問服務(wù)中,用戶可以利用受控的服務(wù)來通過諸如因特網(wǎng)等的聯(lián)網(wǎng)介質(zhì)創(chuàng)建新的文檔、操縱現(xiàn)有的文檔。文檔可以由受控的服務(wù)存儲或被存儲在用戶的本地計算機處。典型的web訪問服務(wù)是用于數(shù)據(jù)可視化(例如圖表表現(xiàn))。一些數(shù)據(jù)可視化管線受限于刷新來自一組有限的已知數(shù)據(jù)源的數(shù)據(jù)。在沒有允許插入來自定制數(shù)據(jù)源的數(shù)據(jù)的規(guī)定的情況下,在渲染數(shù)據(jù)的瀏覽器請求被web服務(wù)器處理時,來自非本機的源數(shù)據(jù)必須適配成受支持的數(shù)據(jù)源。
發(fā)明內(nèi)容
提供本概述以便以簡化形式介紹下面在詳細描述中進一步描述的概念的選集。本概述不旨在排他性地標識所要求保護的本主題的關(guān)鍵特征或必要特征,也不旨在輔助確定所要求保護的本主題的范圍。各實施方式針對允許圖表更新引擎起動定制代碼模塊的可擴展的體系結(jié)構(gòu)和數(shù)據(jù)流。根據(jù)一些實施方式的接口允許數(shù)據(jù)源的第三方創(chuàng)建,并使得它們對于基于web的圖表服務(wù)來說是可見的,且可以從圖表更新引擎調(diào)用。因而,可以從中檢索圖表數(shù)據(jù)的許多數(shù)據(jù)源以及操縱和聚集輸入數(shù)據(jù)的方式是可以通過使用根據(jù)各實施方式的數(shù)據(jù)模型的代碼來擴展的。從下列詳細描述的閱讀和關(guān)聯(lián)的圖的查閱中可以明顯看出這些和其他特征和優(yōu)點。應(yīng)理解,前述的一般描述和下列的詳細描述兩者是解釋性的且不限制所要求保護的方
圖1是其中可以實現(xiàn)各實施方式的闡釋示例web可訪問的圖表表現(xiàn)服務(wù)的概念圖;圖2是闡釋在基于web的圖表表現(xiàn)服務(wù)中的數(shù)據(jù)的更新期間的數(shù)據(jù)流的順序圖;圖3是闡釋根據(jù)各實施方式的在基于web的圖表表現(xiàn)服務(wù)中的數(shù)據(jù)的更新期間數(shù)據(jù)流的另一時序圖;圖4是闡釋實現(xiàn)各實施方式的帶有多個數(shù)據(jù)源的基于web的圖表表現(xiàn)服務(wù)中的主要組件的概念圖;圖5是其中可以實現(xiàn)根據(jù)各實施方式的系統(tǒng)的聯(lián)網(wǎng)環(huán)境;圖6是其中可以實現(xiàn)各實施方式的示例計算操作環(huán)境的框圖;以及圖7闡釋提供根據(jù)各實施方式的web可訪問的圖表表現(xiàn)服務(wù)的過程的邏輯流程圖。
具體實施例方式如以上簡要地描述的,可擴展的體系結(jié)構(gòu)和數(shù)據(jù)流可以被用來允許圖表更新引擎起動用于檢索、操縱和聚集來自各種源的數(shù)據(jù)的定制代碼模塊,且接口被用來允許通過定制數(shù)據(jù)模塊與非本機的數(shù)據(jù)源通信。在下列的詳細描述中,對附圖進行引用,附圖形成詳細描述的部分,且作為闡釋具體的實施方式或示例而示出附圖??梢越M合這些方面,可以利用其他方面,且可以在不偏離本公開內(nèi)容的精神或范圍的前提下做出結(jié)構(gòu)改變。因此不應(yīng)以限制的意義理解下列的詳細描述,且本發(fā)明的范圍由所附權(quán)利要求及其等效物來界定。盡管將在結(jié)合在個人計算就的操作系統(tǒng)上運行的應(yīng)用程序執(zhí)行的程序模塊的一般上下文中描述各實施方式,但本領(lǐng)域中的技術(shù)人員將認識到,各方面也可以與其他程序模塊組合實現(xiàn)。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本領(lǐng)域中的技術(shù)人員將明白,各實施方式可以與包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費者電子設(shè)備、小型計算機、 大型計算機和可比擬的計算設(shè)備在內(nèi)的其他計算機系統(tǒng)配置一起實踐。各實施方式也可以在分布式計算環(huán)境中實踐,分布式計算環(huán)境中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地存儲器存儲設(shè)備和遠程存儲器存儲設(shè)備兩者??梢詫⒏鲗嵤┓绞綄崿F(xiàn)為計算機實現(xiàn)的過程(方法)、計算系統(tǒng)或制品,例如計算機程序產(chǎn)品或計算機可讀介質(zhì)。計算機程序產(chǎn)品可以是可由計算機系統(tǒng)讀取的且編碼包括用于引起計算機或計算系統(tǒng)執(zhí)行示例過程的指令在內(nèi)的計算機程序的計算機存儲介質(zhì)。計算機可讀存儲介質(zhì)可以例如經(jīng)由易失性計算機存儲器、非易失性存儲器、硬盤驅(qū)動器、閃速驅(qū)動器、軟盤或緊致盤以及類似介質(zhì)中的一種或多種實現(xiàn)。計算機程序產(chǎn)品也可以是載波 (例如調(diào)頻信號或調(diào)相信號)或可由計算系統(tǒng)讀取的、編碼用于執(zhí)行計算機過程的指令的計算機程序的介質(zhì)上的傳播的信號。貫穿這一說明書,術(shù)語“平臺”可以是用于管理基于Web的圖表表現(xiàn)服務(wù)數(shù)據(jù)的軟件組件和硬件組件的組合。平臺的示例包括但不限于在多個服務(wù)器上執(zhí)行的受控服務(wù)、在單個服務(wù)器上執(zhí)行的應(yīng)用程序和類似的系統(tǒng)。術(shù)語“服務(wù)器” 一般是指通常在聯(lián)網(wǎng)環(huán)境中執(zhí)行一個或多個軟件程序的計算設(shè)備。然而,服務(wù)器也可以被實現(xiàn)為在一個或多個計算設(shè)備上執(zhí)行的被看作是網(wǎng)絡(luò)上的服務(wù)器的虛擬服務(wù)器(軟件程序)。參見圖1,闡釋其中可以實現(xiàn)各實施方式的示例web可訪問的圖表表現(xiàn)服務(wù)的概念圖100。在圖1的示例系統(tǒng)100中,用戶的web服務(wù)106通過在服務(wù)器108上執(zhí)行的一個或多個web應(yīng)用程序提供圖表可視化功能,供用戶102通過諸如在計算設(shè)備104上執(zhí)行的瀏覽器等的通用應(yīng)用程序訪問該系統(tǒng)。為了發(fā)起該服務(wù),用戶102從主機服務(wù)106的服務(wù)
6器108請求圖表。作為響應(yīng),服務(wù)器108與圖表服務(wù)后端112的服務(wù)器114通信,以檢索數(shù)據(jù)、計算公式、關(guān)系等等。各圖表可以包括靜態(tài)元素或動態(tài)元素。例如,一些形狀、連接器和其他元素的屬性可以通過動態(tài)方式來定義,例如取決于來自可以在渲染時間輪詢的可更新的數(shù)據(jù)源(例如從被存儲在其他地方的數(shù)據(jù)接收形狀信息的數(shù)據(jù)條(data bar))的數(shù)據(jù)。在一些情況中, 在圖表的元素之間的動態(tài)關(guān)系可以確定個體形狀的屬性和連接器(例如組織結(jié)構(gòu)圖)的屬性。圖表可視化服務(wù)可以包括受支持的數(shù)據(jù)源的列表,例如SQL表、Excel 電子表格、 WSS 列表等等。根據(jù)各實施方式的系統(tǒng)可以將那些受支持的數(shù)據(jù)源擴展到由定制數(shù)據(jù)模塊使用為該服務(wù)定義的接口來定義的任何數(shù)據(jù)源。圖2闡釋在基于web的圖表表現(xiàn)服務(wù)中的數(shù)據(jù)的更新期間的數(shù)據(jù)流的時序圖200。 使用諸如web瀏覽器等的渲染應(yīng)用程序,圖表使用者可以向web服務(wù)222的服務(wù)器群發(fā)出對所公布的圖的請求031)。web服務(wù)222可以將對圖表Q32)的請求引導(dǎo)到諸如更新引擎等的圖表服務(wù)后端。圖表服務(wù)后端224(更新引擎)可以從數(shù)據(jù)存儲2 檢索圖表定義 (233,234)并解析它,尋找指示去哪里檢索用于所定義的圖表視覺效果的數(shù)據(jù)的所嵌入的信息和相關(guān)的數(shù)據(jù)連通性信息。根據(jù)一種實施方式,如果找到了一些記錄集,則可以為每一記錄集提取(239)下列信息引用受支持的數(shù)據(jù)源的連接字符串;待執(zhí)行的針對受支持的數(shù)據(jù)源的查詢字符串;以及預(yù)期在查詢運行之后從受支持的數(shù)據(jù)源返回的記錄集數(shù)據(jù)的模式定義。對于連接到受支持的數(shù)據(jù)源每一數(shù)據(jù)連接,圖表服務(wù)后端可以調(diào)用內(nèi)建數(shù)據(jù)提供器040),內(nèi)建數(shù)據(jù)提供器(MO)連接到受支持的數(shù)據(jù)源,通過運行上面針對受支持的數(shù)據(jù)源定義的查詢來檢索特定的數(shù)據(jù),并針對以上所描述的模式驗證所返回的記錄集。然后,圖表服務(wù)后端224(更新引擎)可以通過以下來刷新和返回041)圖表視覺效果定義從圖表定義解析和提取用于數(shù)據(jù)連接的圖表元素的視覺效果定義;重新評估每一圖表元素的每一屬性(例如背景顏色、高度)的公布時間公式,且根據(jù)來自瀏覽器的請求的類型以向量或光柵格式渲染圖表。web服務(wù)222可以用經(jīng)更新的圖表042)回復(fù)由瀏覽器發(fā)出的請求。沒有數(shù)據(jù)源可擴展性時,圖表更新管線通常限于僅在更新引擎處用內(nèi)建數(shù)據(jù)提供器刷新來自數(shù)據(jù)源的數(shù)據(jù)。那些數(shù)據(jù)源可以包括順序查詢語言(SQL)表、電子表格表和類似的廣泛使用的數(shù)據(jù)源(例如WSS列表)。此外,一旦在公布時間被編碼到圖表中,被用于刷新圖表的可視元素數(shù)據(jù)聚集和操縱公式就可以是永久不變的。圖3闡釋在根據(jù)各實施方式的基于web的圖表表現(xiàn)服務(wù)中的數(shù)據(jù)的更新期間的數(shù)據(jù)流的另一時序圖300。根據(jù)一些實施方式,通過允許第三方用戶創(chuàng)建基于web的圖表表現(xiàn)服務(wù)可見的定制數(shù)據(jù)提供器代碼(也被稱為定制數(shù)據(jù)模塊或定制數(shù)據(jù)提供器)以及通過允許圖表公布器在它們的數(shù)據(jù)圖表中引用定制數(shù)據(jù)模塊來提供數(shù)據(jù)源可擴展性。一旦檢測到對定制數(shù)據(jù)模塊的引用,基于web的圖表表現(xiàn)服務(wù)就可以將數(shù)據(jù)檢索操作委托給所引用的數(shù)據(jù)模塊。盡管數(shù)據(jù)模塊必須實現(xiàn)預(yù)定義的抽象類(例如DiagramRefreshAddOn類),但開發(fā)者可以實現(xiàn)各種抽象的成員的內(nèi)部定義,這給他們提供了從任何數(shù)據(jù)源檢索數(shù)據(jù)(或在數(shù)據(jù)模塊中生成數(shù)據(jù))以及操縱要注入到圖表表現(xiàn)服務(wù)刷新管線的數(shù)據(jù)的靈活性。
圖300中所表示的交互是在根據(jù)各實施方式的系統(tǒng)的相同的組件之間進行的,其中從圖表請求到圖表定義步驟的返回與結(jié)合圖2描述的動作相似。不同于圖200,如果更新引擎遇到不能由內(nèi)建數(shù)據(jù)提供器處理的連接字符串,則圖表表現(xiàn)服務(wù)后端2M可以嘗試查找引用定制數(shù)據(jù)模塊(335)的連接字符串。示例模塊可以是以下形式“Assembly = 〈assembly〉;Class = <class> ;〈additional information〉”其中〈assembly〉是數(shù)據(jù)模塊程序集的共享空間名稱,〈class〉是實現(xiàn)數(shù)據(jù)模塊抽象類的共享空間類名稱(包括名稱空間),且〈additional information〉是以格式[[Key = Value]...]的附加連接/查詢信息。如果提取了連接字符串,則也可以提取針對數(shù)據(jù)源執(zhí)行的有效的查詢字符串。也提取預(yù)期在查詢運行之后要從數(shù)據(jù)源返回的數(shù)據(jù)的模式定義。對于對定制數(shù)據(jù)源的每一引用,圖表表現(xiàn)服務(wù)后端2M可以將刷新委托給關(guān)聯(lián)的數(shù)據(jù)模塊。這需要圖表表現(xiàn)服務(wù)后端更新引擎返回(336)到接收最初的圖表請求的前端服務(wù)器(web服務(wù)22 ,并嘗試查找匹配以上所描述的〈assembly〉和〈class〉令牌的任何定制數(shù)據(jù)模塊。如果找到所有所引用的定制數(shù)據(jù)模塊,則前端服務(wù)器上的更新引擎代碼可以通過以下動作來開始對數(shù)據(jù)的并行查詢和異步查詢調(diào)用每一數(shù)據(jù)模塊上的數(shù)據(jù)檢索(337) (例如BeginGetData),以及將以下內(nèi)容作為參數(shù)傳入圖表請求者的網(wǎng)絡(luò)上下文以便允許查詢的個性化、如先前所討論的所提取的“附加信息”、以及其他類似的信息。數(shù)據(jù)模塊運行它們的數(shù)據(jù)檢索、生成和聚集代碼。通過回調(diào)系統(tǒng),前端服務(wù)器(web服務(wù)22 上的代碼可以管理數(shù)據(jù)模塊數(shù)據(jù)檢索、錯誤和掛起。如果一個或多個數(shù)據(jù)模塊不能執(zhí)行,則整個請求失敗,且可以將錯誤返回給最終用戶。如果沒有發(fā)生錯誤,則數(shù)據(jù)模塊將所檢索的數(shù)據(jù)的結(jié)構(gòu)化(例如串行化的數(shù)據(jù)集)表示返回給數(shù)據(jù)模塊驅(qū)動代碼。數(shù)據(jù)返回被發(fā)送(338)給圖表表現(xiàn)服務(wù)后端224,圖表表現(xiàn)服務(wù)后端2M將該數(shù)據(jù)集成到圖表更新操作中與其他數(shù)據(jù)提供器(定制或內(nèi)建)的數(shù)據(jù)合作。當數(shù)據(jù)模塊定制代碼遭遇異常時,開發(fā)者可以創(chuàng)建他們自己的異常對象并將其指派給數(shù)據(jù)模塊的錯誤特性,以便將該異常傳播給更新引擎,以便進行進一步動作。也可以用關(guān)聯(lián)的異常消息將異常顯示給最終用戶。對于連接到受支持的數(shù)據(jù)源(包括由定制數(shù)據(jù)模塊定義的數(shù)據(jù)源)的每一數(shù)據(jù)連接(239,M0),圖表更新引擎調(diào)用硬編碼數(shù)據(jù)檢索代碼,該硬編碼數(shù)據(jù)檢索代碼連接到受支持的外部數(shù)據(jù)源、通過運行針對該數(shù)據(jù)源定義的查詢來檢索特定的數(shù)據(jù)、并且針對以上所描述的模式驗證所返回的數(shù)據(jù)。然后,圖表更新引擎可以通過解析和提取數(shù)據(jù)連接的圖表元素的視覺效果定義、 重新評估每一圖表元素的每一屬性的公布時間公式(該公式可以包含對從預(yù)定義的和定制的數(shù)據(jù)源檢索的外部數(shù)據(jù)的引用)、以及根據(jù)來自最終用戶的請求的類型以向量格式或光柵格式渲染圖表來刷新圖表視覺效果定義。如圖2中,web服務(wù)用經(jīng)更新的圖表(M2)回復(fù)請求031)。圖200和圖300中的組件和動作僅出于闡釋目的,且不構(gòu)成對各實施方式的限制。 其他組件、軟件或硬件和配置可以被用于為基于web的圖表可視化提供可擴展性。圖4是闡釋實現(xiàn)各實施方式的帶有多個數(shù)據(jù)源的基于web的圖表表現(xiàn)服務(wù)中的主要組件的概念圖。如許多基于web的服務(wù)中,基于web的圖表表現(xiàn)服務(wù)包括在三個主要組件之間的信息的交換執(zhí)行諸如瀏覽器等的客戶機應(yīng)用程序的客戶機設(shè)備452、實際上執(zhí)行用于圖表的渲染的計算的圖表服務(wù)后端456、以及在客戶機應(yīng)用程序和圖表服務(wù)后端 456之間協(xié)調(diào)的web服務(wù)前端454。因而,在客戶機應(yīng)用程序請求帶有對外部數(shù)據(jù)源的引用的圖表時,web服務(wù)前端妨4將請求轉(zhuǎn)發(fā)給圖表服務(wù)后端456。對于并不固有地受圖標可視化服務(wù)支持的數(shù)據(jù)源,可以通過采用采用定制數(shù)據(jù)模塊來獲得可擴展性。模塊可以被安裝在web服務(wù)服務(wù)器上,且可以由數(shù)據(jù)連接字符串標識符標識。對于每一外部數(shù)據(jù)源,圖表服務(wù)后端456可以將數(shù)據(jù)連接信息傳送到前端454。web服務(wù)前端妨4將數(shù)據(jù)連接信息傳遞給實現(xiàn)預(yù)定義的抽象類的對應(yīng)模塊。例如,數(shù)據(jù)模塊可以包括以下(被示出為偽代碼)
權(quán)利要求
1.一種至少部分地在用于可擴展的基于web的圖表可視化服務(wù)的計算設(shè)備中執(zhí)行的方法,所述方法包括響應(yīng)于接收到對包括對外部數(shù)據(jù)源的引用的圖表231的請求,將所述請求提供給更新引擎224,以便確定受支持的數(shù)據(jù)源和用于不受支持的數(shù)據(jù)源的定制數(shù)據(jù)模塊; 從所述更新引擎2M接收定制數(shù)據(jù)模塊標識符336 ; 調(diào)用由所述標識符指示的定制數(shù)據(jù)模塊; 從所述定制數(shù)據(jù)模塊接收數(shù)據(jù)和異常的其中之一; 如果接收到數(shù)據(jù),則將所述數(shù)據(jù)轉(zhuǎn)發(fā)給所述更新引擎224 ;以及通過接收基于來自所述更新引擎224的所轉(zhuǎn)發(fā)的數(shù)據(jù)而更新的所述圖表241的渲染, 在客戶機應(yīng)用程序處協(xié)調(diào)所請求的圖表的呈現(xiàn)。
2.如權(quán)利要求1所述的方法,進一步包括如果從所述定制數(shù)據(jù)模塊接收到異常,則將異常消息提供給所述客戶機應(yīng)用程序。
3.如權(quán)利要求1所述的方法,其特征在于,所述更新引擎2M被配置為對來自所述受支持的數(shù)據(jù)源的數(shù)據(jù)執(zhí)行更新,并且對于來自所述不受支持的數(shù)據(jù)源的數(shù)據(jù)則委托給對應(yīng)的定制數(shù)據(jù)模塊。
4.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)與來自以下組中的至少一個相關(guān)聯(lián)所請求的圖表中的元素的形狀、大小、位置和屬性。
5.如權(quán)利要求1所述的方法,進一步包括一旦確定所有定制數(shù)據(jù)模塊,就對每一定制數(shù)據(jù)模塊啟動并行查詢和異步查詢。
6.如權(quán)利要求5所述的方法,其特征在于,發(fā)起請求的客戶機應(yīng)用程序的網(wǎng)絡(luò)標識符和附加的連接和查詢信息被作為參數(shù)傳送給每一定制數(shù)據(jù)模塊。
7.如權(quán)利要求1所述的方法,其特征在于,每一定制數(shù)據(jù)模塊被配置為檢索、生成和聚集數(shù)據(jù)并采用回調(diào)來返回。
8.如權(quán)利要求1所述的方法,進一步包括解析和提取連接到外部數(shù)據(jù)的圖表元素的視覺效果定義; 重新評估帶有對外部數(shù)據(jù)的引用的圖表元素的每一屬性的公布時間公式;以及渲染所述圖表。
9.一種用于執(zhí)行用于可擴展的基于web的圖表可視化的圖表服務(wù)的系統(tǒng),所述系統(tǒng)包括web前端(WFE)服務(wù)器,其被配置為響應(yīng)于從瀏覽器接收對包括對外部數(shù)據(jù)源的引用的圖表231的請求,將所述請求轉(zhuǎn)發(fā)給更新引擎224;從所述更新引擎2M接收引用定制數(shù)據(jù)模塊的連接字符串; 調(diào)用所述定制數(shù)據(jù)模塊以便從所述外部數(shù)據(jù)源檢索、生成和聚集數(shù)據(jù); 從所述定制數(shù)據(jù)模塊接收預(yù)定義格式的數(shù)據(jù); 將所接收的數(shù)據(jù)轉(zhuǎn)發(fā)給所述更新引擎224 ; 從所述更新引擎2M接收經(jīng)渲染的圖表241 ;以及將經(jīng)渲染的圖表241提供給所述瀏覽器M2 ;以及被配置為執(zhí)行所述更新引擎241的后端服務(wù)器,其中所述后端引擎被配置為對于帶有對受支持的外部數(shù)據(jù)源的每一圖表元素,將用于所述受支持的數(shù)據(jù)源的連接字符串返回給所述WFE;對于帶有對不受支持的外部數(shù)據(jù)源的每一圖表元素,確定用于定制數(shù)據(jù)模塊的連接字符串;以及如果找到定制數(shù)據(jù)模塊,則將所述用于定制數(shù)據(jù)模塊的連接字符串返回給所述WFE;否則將錯誤代碼返回給所述WFE。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述用于定制數(shù)據(jù)模塊的連接字符串包括所述定制數(shù)據(jù)模塊的名稱、用于實現(xiàn)所述定制數(shù)據(jù)模塊類的類以及預(yù)定義格式的附加的連接和查詢信息。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述更新引擎2M還被配置為返回要針對所述受支持的數(shù)據(jù)源執(zhí)行的查詢字符串以及預(yù)期要從所述受支持的數(shù)據(jù)源返回的數(shù)據(jù)的模式定義。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述更新引擎2M還被配置為連接到所述受支持的數(shù)據(jù)源、通過執(zhí)行由所述查詢字符串定義的查詢來檢索所述數(shù)據(jù)以及針對所述模式驗證所述數(shù)據(jù),且其中每一定制數(shù)據(jù)模塊被配置為通過來自所述WFE的回調(diào)系統(tǒng)檢索和聚集數(shù)據(jù)并將所述數(shù)據(jù)返回給所述WFE。
13.一種其上存儲有用于可擴展的基于web的圖表可視化服務(wù)的指令的計算機可讀存儲介質(zhì),所述指令包括接收對包括對外部數(shù)據(jù)源的引用的圖表231的請求;對于對受支持的數(shù)據(jù)源的引用確定所引用的數(shù)據(jù)源;連接到所引用的數(shù)據(jù)源;通過執(zhí)行查詢來檢索數(shù)據(jù);以及驗證所檢索的數(shù)據(jù);對于對不受支持的數(shù)據(jù)源的引用確定用于來自所引用的不受支持的數(shù)據(jù)源的數(shù)據(jù)的定制數(shù)據(jù)模塊; 通過將發(fā)起請求的客戶機應(yīng)用程序的網(wǎng)絡(luò)上下文和連接/查詢信息傳遞給所述定制數(shù)據(jù)模塊來調(diào)用所確定的定制數(shù)據(jù)模塊;以及從所述定制數(shù)據(jù)模塊接收數(shù)據(jù); 解析和提取數(shù)據(jù)連接的圖表元素的視覺效果定義; 計算所述圖表元素的公布時間公式; 基于所更新的公布時間公式來渲染所請求的圖表;以及將經(jīng)渲染的圖表242提供給所述發(fā)起請求的客戶機應(yīng)用程序。
14.如權(quán)利要求13所述的計算機可讀介質(zhì),其特征在于,所述定制數(shù)據(jù)模塊還被配置為基于所述網(wǎng)絡(luò)上下文來認證請求者,且其中在后端服務(wù)器基于從受支持的和不受支持的數(shù)據(jù)源接收的數(shù)據(jù)來渲染所請求的圖表231,且所渲染的圖表被web前端服務(wù)器提供給所述發(fā)起請求的客戶機應(yīng)用程序。
15.如權(quán)利要求13所述的計算機可讀介質(zhì),其特征在于,所述指令還包括調(diào)用所述定制數(shù)據(jù)模塊以及通過并行回調(diào)和異步回調(diào)的其中之一來接收數(shù)據(jù)。
全文摘要
通過允許圖表更新引擎起動定制數(shù)據(jù)模塊來實現(xiàn)基于WEB的圖表可視化服務(wù)中的可擴展體系結(jié)構(gòu)和數(shù)據(jù)流。用于不固有地受支持的數(shù)據(jù)源的數(shù)據(jù)模塊通過專門定義的接口(例如.NET程序集)由第三方創(chuàng)建,且使得它對基于WEB的圖表服務(wù)可見并可以從圖表更新引擎調(diào)用。因而,可以從中檢索圖表數(shù)據(jù)的許多數(shù)據(jù)源以及操縱和聚集輸入的數(shù)據(jù)的方式是可以通過代碼來擴展的。
文檔編號G06F9/44GK102292719SQ200980155363
公開日2011年12月21日 申請日期2009年12月4日 優(yōu)先權(quán)日2009年1月21日
發(fā)明者A·馬修, E·奇科什, P-J·阿里達, R·羅伽納坦 申請人:微軟公司