專利名稱:具有支持組件的顯示再現(xiàn)系統(tǒng)的制作方法
技術領域:
本公開的方面涉及服務器上運行的Web應用。更具體地,本公開的方面涉及提交 數(shù)據(jù)以再現(xiàn)(rendeiOWeb應用的表示代碼。
背景技術:
Java管理擴展(JMX)是一種已知的對Sim微系統(tǒng)的JAVA編程語言的庫擴展。 Wikipedia解釋,JMX是“一種提供用于管理和監(jiān)控應用、系統(tǒng)對象、設備(例如,打印機)和 面向服務的網(wǎng)絡的工具的Java技術。那些資源由稱為MBeans (關于管理的Bean)的對象 來表現(xiàn)。在API中,類可以被動態(tài)加載和實例化”。自稱為“Java geek”的Nicolas Frankel于2009年6月在博客中記錄了有關各 種JMX的使用情形,包括使用JMX來管理應用的配置。Frankel解釋,“即使每個應用具有 關于配置的不同需求(一個需要初始線程號屬性,其它的需要URL),但是每一個應用或多 或少需要被參數(shù)化。為此,歷代Java開發(fā)者…創(chuàng)建了兩個組件[1]第一個是其中輸入名 稱值對的特性文件,[2]另一個是責任在于在其自身加載特性并提供對該值的訪問的Java 類。對于初始化而言,這是令人滿意并良好的,但那些參數(shù)的運行時的改變又怎樣呢?這就 是JMX流行起來的原因。利用JMX,現(xiàn)在可以揭示那些具有讀/寫認證的參數(shù)。JDK 6提供 了可以在啟用了 JMX的應用上連接的JConsole應用”。同時,Oracle是眾所周知的數(shù)據(jù)庫供應商。Oracle在其數(shù)據(jù)庫軟件系統(tǒng)的多個 版本中提供了一種稱為Oracle改變通知(Oracle Change Notification, 0CN)的特征。 Oracle的文檔解釋,“數(shù)據(jù)庫改變通知是一種使客戶端應用能夠向數(shù)據(jù)庫登記查詢并接收 作為對該查詢相關聯(lián)的對象上的DML或DDL改變的響應的通知。當DML或DDL事務提交時, 該通知由數(shù)據(jù)庫公開”。AJAX是對異步Javascript 和XML的簡寫。Wikipedia解釋,“AJAX…是在客戶 端側(cè)上用來創(chuàng)建交互式Web應用的一組相互關聯(lián)的Web開發(fā)技術。利用AJAX,Web應用 可以在不干擾現(xiàn)有頁面的顯示和性質(zhì)的情況下,在幕后異步地從服務器中檢索數(shù)據(jù)。使用 AJAX技術導致了在網(wǎng)頁上交互性或動態(tài)接口的增加…盡管名稱如此,但實際上并不要求使 用Javascript 或XML,請求也不必是異步的”。此外,Wikipedia解釋,"AJAX的一些缺陷 是同源策略阻止跨域使用某些AJAX技術,盡管W3C具有將啟用此功能的XMLHttpRequest 對象的草案”?,F(xiàn)有技術中,已知有許多內(nèi)容管理系統(tǒng)。例如,hterwoven銷售各種內(nèi)容管理產(chǎn) 品,包括Desksite 和其它產(chǎn)品。內(nèi)容管理系統(tǒng)已知是用于在經(jīng)請求時存儲各種類型的內(nèi) 容、提供各種類型的內(nèi)容,包括多介質(zhì)內(nèi)容。已知許多提供內(nèi)容管理和類似類型的軟件產(chǎn)品 和/或系統(tǒng)的其它軟件公司。
發(fā)明內(nèi)容
以下提出了對本公開的簡要概述,以便提供對某些方面的基本理解。其不是旨在 標識本發(fā)明的關鍵或重要的要素或描繪本公開的范圍。以下概述僅僅是以簡化形式提出了 本公開的某些概念,作為對以下提供的更詳細描述的前序。在根據(jù)本公開的方面的一個實施例中,一種用于響應接收到至少一個頁面標識符 而輸出表示代碼的裝置。該裝置包括電子處理器、存儲映射表的有形介質(zhì)、模板文件、表示 及業(yè)務規(guī)則、計算機可執(zhí)行指令。該計算機執(zhí)行指令用于確定該映射表包括頁面標識符,檢 索模板文件并使用更新后的模板文件來生成表示代碼。在某些實施例中,該裝置可以使得 應用作為動態(tài)網(wǎng)站。在根據(jù)本公開的方面的另一個實施例中,一種包括計算機處理器、存儲器和/或 接口的裝置。在可替換實施例中,計算機存儲器可以完全或部分位于數(shù)據(jù)存儲系統(tǒng)內(nèi)。本領域的技術人員將理解前述一個或多個方法和特征可以體現(xiàn)為存儲在有形計 算機可讀介質(zhì)上、并由處理器來執(zhí)行的計算機執(zhí)行指令。
借助于示例但不局限于附圖來說明本公開,附圖中同樣的參考標號表示類似的元 件,其中圖1圖示通用數(shù)字計算環(huán)境的示意圖,在其中可以實施本公開的各個方面;圖2A和2B圖示根據(jù)本公開的方面的系統(tǒng)的實施例;圖3圖示根據(jù)本公開的方面的方法的一個實施例的流程圖;圖4圖示根據(jù)本公開的方面的用于高亮顯示系統(tǒng)的管理域和運行時的域的系統(tǒng) 的實施例;以及圖5是展示本公開的各個方面的示例性網(wǎng)頁的圖示。
具體實施例方式根據(jù)本公開的各個方面,說明了涉及在可從網(wǎng)絡(例如,互聯(lián)網(wǎng))訪問的服務器上 運行的Web應用的系統(tǒng)和方法。該服務器(或多個服務器)可以接受數(shù)據(jù)和/或命令以按 照與平臺(或環(huán)境)無關方式再現(xiàn)Web應用的表示層。本公開的方面涉及一種允許提交數(shù) 據(jù)和命令以再現(xiàn)應用的表示層的再現(xiàn)系統(tǒng)。該再現(xiàn)系統(tǒng)利用模型-視圖-控制器(MVC)設 計方法來生成表示代碼。在抽象級處,再現(xiàn)引擎系統(tǒng)包括五個主要組件核心再現(xiàn)組件、預 取組件、高速緩存刷新組件、小部件(widget)框架和ad管理框架。小部件框架是在之前提 到的相關申請的焦點。圖1圖示根據(jù)本發(fā)明的一個或多個說明性實施例可以使用的適當?shù)挠嬎阆到y(tǒng)環(huán) 境100的示例。計算系統(tǒng)環(huán)境100僅僅是適當?shù)挠嬎悱h(huán)境的一個示例,并非旨在暗示暗示 對本發(fā)明的使用范圍或功能范圍的任何限制。計算系統(tǒng)環(huán)境100不應被解釋為具有對該計 算系統(tǒng)環(huán)境100內(nèi)所圖示的任何一個組件或組件的任意組合有關的任何依賴性或要求。本發(fā)明可以利用許多其它的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置而操作。眾所周知的 可以適用于本發(fā)明的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不局限于個人計算機、服務器計算機、手持或膝上型設備、多處理器系統(tǒng)、基于多處理器的系統(tǒng)、機頂盒、可編程消費電 子裝置、網(wǎng)絡PC、迷你計算機、主機計算機以及包含以上任一系統(tǒng)或設備的分布式計算環(huán)境等。本發(fā)明的方面可以在計算機可執(zhí)行指令的一般上下文(例如,由計算機運行的程 序模塊)中進行描述。一般來說,程序模塊包括用來執(zhí)行特定任務或?qū)崿F(xiàn)特定的抽象數(shù)據(jù) 類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構等。本發(fā)明的方面還可以在分布式計算環(huán)境中實 踐,在其中可以由通過通信網(wǎng)絡鏈接的遠程處理設備執(zhí)行任務。在分布式計算環(huán)境中,程序 模塊可以位于包括記憶存儲設備的本地計算機和遠程計算機存儲介質(zhì)中。參照圖1,計算系統(tǒng)環(huán)境100可以包括計算設備101,該計算設備101具有處理器 103,用于控制計算設備101及其相關聯(lián)的組件的整個操作,該相關聯(lián)的組件包括RAM 105、 ROM 107、通信模塊109和存儲器115。計算設備101典型地包括各種各樣的計算機可讀介 質(zhì)。計算機可讀介質(zhì)可以是任何可由計算設備101進行存取的可用介質(zhì),且包括易失性和 非易失性介質(zhì)、可移動和不可移動介質(zhì)。借助于示例而非限制的,計算機可讀介質(zhì)可以包括 計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以任何信息存儲方法或技術實施的易失 性和非易失性介質(zhì)、可移動和不可移動介質(zhì),該信息例如是計算機可讀指令、數(shù)據(jù)結(jié)構、程 序模塊或其它數(shù)據(jù)。計算機存儲介質(zhì)包括而不局限于隨機存取存儲器(RAM)、只讀存儲器 (ROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存或其它存儲器技術、CD-ROM、數(shù)字多用途 盤(DVD)或其它光盤存儲器、磁盒、磁帶、磁盤存儲裝置或其它磁存儲設備、或能夠用來存 儲期望的信息且能由計算設備101進行存取的其它任何介質(zhì)。通信介質(zhì)典型地體現(xiàn)為計算 機可讀指令、數(shù)據(jù)結(jié)構、程序模塊或在調(diào)制的數(shù)據(jù)信號(例如載波或其它傳輸機制)內(nèi)的其 他數(shù)據(jù),且包括任何信息遞送介質(zhì)。調(diào)制的數(shù)據(jù)信號是一種以這樣的方式來設置或改變其 特征以便對該信號中的信息進行編碼的信號。借助于示例而非限制的,通信介質(zhì)包括例如 有線網(wǎng)絡或直接有線連接之類的有線介質(zhì),以及例如聲音的、RF、紅外的和其它無線介質(zhì)之 類的無線介質(zhì)。以上任意組合也應包含在計算機可讀介質(zhì)的范圍內(nèi)。盡管未示出,RAM 105 可以包括一個或多個表示RAM存儲器105內(nèi)存儲的應用數(shù)據(jù)的應用,當計算設備啟動時,在 該計算設備101上運行相應的軟件應用(例如,軟件任務)。通信模塊109可以包括麥克風、鍵盤、觸摸屏和/或指示筆,計算設備101的用戶 可以通過它們來提供輸入,該通信模塊109還可以包括用于提供音頻輸出的一個或多個揚 聲器和用于提供文本、視聽和/或圖形輸出的視頻顯示設備111。軟件可以被存儲在存儲器 115和/或存儲裝置內(nèi),以向處理器103提供指令用于使計算設備101能夠執(zhí)行各種功能。 例如,存儲器115可以存儲由計算設備101使用的軟件,例如操作系統(tǒng)117、應用程序119和 數(shù)據(jù)存儲121??商鎿Q的,計算設備101的一些或全部計算機可執(zhí)行指令可以以硬件或固 件(未顯示)來體現(xiàn)。如以下詳細描述地,數(shù)據(jù)存儲121(例如,安全數(shù)據(jù)庫)可以提供對 整個業(yè)務的賬戶信息和賬戶持有人信息的集中存儲,允許駐留在不同物理位置處的不同業(yè) 務要素之間的互操作性。在一些實施例中,數(shù)據(jù)存儲121在物理上可以位于存儲器115的 外部。例如,數(shù)據(jù)存儲121可以是位于計算設備151的企業(yè)數(shù)據(jù)庫。計算設備101可以在支持連接一個或多個遠程計算設備(例如計算設備141和 151)的網(wǎng)絡化的環(huán)境中進行操作。計算設備141和151可以是包括上述與計算設備101相 關的許多或全部要素的個人計算設備或Web/應用服務器。圖1所示的網(wǎng)絡連接包括局域網(wǎng)(LAN) 125和廣域網(wǎng)(WAN) 129,但是也可以包括其它網(wǎng)絡。盡管在圖1中為了簡單起見而 被示為單個網(wǎng)絡,但該網(wǎng)絡可以包括多個互相鏈接的網(wǎng)絡,以便提供網(wǎng)間通信。這種網(wǎng)絡可 以包括一個或多個私有或公共分組交換網(wǎng)(例如,互聯(lián)網(wǎng))、一個或多個私有或公共電路交 換網(wǎng)(例如,公共交換電話網(wǎng))、被配置為例如通過基站、移動交換中心等來促進去往和來 自移動通信設備的通信的蜂窩網(wǎng)絡、短程或中程無線通信連接(例如,Bluetooth 、超寬帶 (UffB)、紅外、Wibree)、根據(jù)電氣電子工程師學會(IEEE)802. 11標準的一個或多個版本的 無線局域網(wǎng)(WLAN)、或高速無線數(shù)據(jù)網(wǎng),例如演進數(shù)據(jù)優(yōu)化(EV-DO)網(wǎng)絡、全球移動電信系 統(tǒng)(UMTQ網(wǎng)絡、長期演進(LTE)網(wǎng)絡或增強型數(shù)據(jù)速率GSM演進(EDGE)網(wǎng)絡。除了現(xiàn)有 技術中已知的其它協(xié)議以外,設備150-170可以使用各種通信協(xié)議,例如互聯(lián)網(wǎng)協(xié)議(IP)、 傳輸控制協(xié)議(TCP)、簡單郵件傳輸協(xié)議(SMTP)。還可以包括各種消息服務,例如短消息服 務(SMS)和/或多介質(zhì)消息服務(MMS)。當用于LAN網(wǎng)絡環(huán)境時,計算設備101通過通信模塊109中的網(wǎng)絡接口或適配器 連接到LAN 125。當用于WAN網(wǎng)絡環(huán)境時,服務器101可以包括在通信模塊109中的調(diào)制解 調(diào)器或其它用于在WAN 129(例如互聯(lián)網(wǎng)131)上建立通信的部件。將理解所示網(wǎng)絡連接是 說明性的,而且可以使用其它用于在計算設備之間建立通信鏈路的部件??梢约俣ù嬖诟?種眾所周知的協(xié)議中的任何一種,例如TCP/IP、以太網(wǎng)、FTP、HTTP等,而且該系統(tǒng)可以在客 戶端-服務器配置中操作以允許用戶從基于Web的服務器中檢索網(wǎng)頁。各種傳統(tǒng)的Web瀏 覽器中的任何一種都可以用來顯示和操縱網(wǎng)頁上的數(shù)據(jù)。另外,根據(jù)本公開的說明性實施例的計算設備101使用的應用程序119可以包括 用于調(diào)用涉及通信的用戶功能(例如電子郵件、短消息服務(SMS)和聲音輸入和語音識別 應用)的計算機可執(zhí)行指令,。圖2A圖示根據(jù)本公開的方面的系統(tǒng)的一個實施例??蛻舳擞嬎阍O備141可以與 Web服務器151通信,該Web服務器151繼而可以與應用服務器101進行通信。在一些實 施例中,Web服務器151和應用服務器101可以位于不同的互聯(lián)網(wǎng)域上。在可選實施例中, Web服務器151和應用服務器141可以是相同的物理機器??蛻舳擞嬎阍O備141可以包括 用于向用戶示出應用的圖形用戶界面(GUI)的顯示器。因而,該應用服務器可以包括被配 置為向顯示設備發(fā)送應用的⑶I的顯示器接口。顯示器接口可以通過再現(xiàn)系統(tǒng)構建與該應 用對應的GUI,在一些實施例中,其可以使用業(yè)務規(guī)則(或修改后的業(yè)務規(guī)則)。應用服務器101可以對數(shù)據(jù)存儲系統(tǒng)202(例如,安全數(shù)據(jù)庫系統(tǒng))上存儲的數(shù)據(jù) (例如,應用特性、表示規(guī)則、業(yè)務規(guī)則等)進行存取。本領域技術人員將理解盡管在圖2A 中以可視的方式將各個組件描繪成位于特定設備內(nèi),本公開設想一個或多個組件位于不同 的設備內(nèi)、位于單個設備內(nèi)或被忽略。例如,在一個實施例中,數(shù)據(jù)存儲系統(tǒng)202可以位于 應用服務器101內(nèi),或者一個或多個來自數(shù)據(jù)存儲系統(tǒng)202和應用服務器101中的組件可 以位于(共處于)圖2A的其它塊內(nèi)。圖2A的系統(tǒng)可以包括數(shù)據(jù)存儲系統(tǒng)202,其被配置成保存數(shù)據(jù)以供一個或多個在 應用服務器101內(nèi)執(zhí)行的應用使用。數(shù)據(jù)存儲系統(tǒng)202可以存儲至少包含以下中的一個或 多個的數(shù)據(jù)應用特性202A(例如,映射表)、表示規(guī)則202B(例如,特性文件)和/或業(yè)務 規(guī)則202C(例如,業(yè)務邏輯)。在此公開中可互換地使用術語“業(yè)務規(guī)則”和“業(yè)務邏輯”。 同樣地,在此公開中可互換地使用術語“表示規(guī)則”和“特性文件”。數(shù)據(jù)存儲系統(tǒng)202可以包括用于存儲一個或多個業(yè)務規(guī)則(例如,第一業(yè)務規(guī)則、第二業(yè)務規(guī)則等)的計算機存儲 器(例如,有形的計算機可讀介質(zhì))。此外,數(shù)據(jù)存儲系統(tǒng)202可以存儲映射表、特性文件 (例如,表示規(guī)則202B)、業(yè)務邏輯(例如,業(yè)務規(guī)則202C)和其它諸如計算機可執(zhí)行指令之 類的數(shù)據(jù)。另外,可以提供業(yè)務規(guī)則管理系統(tǒng)208(BRMS)來協(xié)助創(chuàng)建、修改和/或維護數(shù)據(jù) 存儲系統(tǒng)202內(nèi)存儲的各種數(shù)據(jù)。該BRMS可以提供用戶友好的圖形用戶界面(GUI)以允 許幾乎沒有計算機編程(和網(wǎng)頁編輯)經(jīng)驗的業(yè)務用戶創(chuàng)建、修改和維護在虛擬機上運行 的在線應用(例如,網(wǎng)站)的表示和配置。在根據(jù)本發(fā)明的方面描述的一些可替換實施例 中,BRMS可以專用于業(yè)務規(guī)則生成和管理(例如,使用DROOL),而其它系統(tǒng)可以用于管理該 表示和內(nèi)容,并用于管理頁面配置(例如,見圖4中的系統(tǒng)2 和系統(tǒng)230)。數(shù)據(jù)存儲202 (例如,安全數(shù)據(jù)庫系統(tǒng))還可以包括改變通知機制210。該改變通 知機制可以提供對數(shù)據(jù)修改的通知(例如,應用特性202A、表示規(guī)則202B、業(yè)務規(guī)則202C 等)。例如,在一個實施例中,該通知可以采取在IRQ(中斷請求)線路上的警報的形式。在 另一個實施例中,可以通過使用充分備有證明文件的“觀察者”設計模式來以軟件方式實施 該通知,在其中可以松散地耦合“目標”與“觀察者”,當目標改變狀態(tài)時,該目標向觀察者提 供通知。本領域技術人員將理解在本領域已知其它的配置或設計模式,而且該配置或設計 模式可以用來提供對數(shù)據(jù)修改(例如,狀態(tài)改變)的通知,例如輪詢技術、Push(進棧)技 術、目標觀察者實施方式。另外,應用服務器101可以包括對改變通知機制210的接口,以 便能夠接受通知。例如,應用服務器101可以包括“觀察者”的實例化,其被配置成從數(shù)據(jù) 存儲系統(tǒng)202內(nèi)的“目標”中獲得對業(yè)務規(guī)則修改的通知。根據(jù)本公開的各個方面,應用服務器101可以不依靠虛擬機來執(zhí)行計算機可執(zhí)行 指令。在其它實施例中,應用服務器101可以包括虛擬機206(例如,Java 虛擬機或提供 JRE ),其被配置成使用處理器(Intel 微處理器、AMD 微處理器、多核處理器、專用處理 器等)來執(zhí)行計算機可執(zhí)行指令。這些指令可以包括字節(jié)碼,其被配置成由虛擬機來執(zhí)行 以使得圖2A的系統(tǒng)執(zhí)行圖3 (以及貫穿本公開)中標識的一個或多個步驟。虛擬機206可 以包括管理的bean (mBeans )以協(xié)助管理資源(例如,(多個)環(huán)境特性文件204、應用特 性等)和/或執(zhí)行前述一個或多個步驟。mBeans 在本領域是眾所周知的,而且可以連同 JMX(例如,JMX控制臺)一起使用以協(xié)助監(jiān)控一個或多個在虛擬機206上運行的應用的方根據(jù)本公開的各個方面,虛擬機206還可以包括規(guī)則控制機制,其被配置成允許 在虛擬機上運行的應用對第一組業(yè)務規(guī)則進行存取,而同時限制該應用對第二組業(yè)務規(guī)則 進行存取。同時,規(guī)則控制機制可以允許也在虛擬機206上運行的第二應用對第二組業(yè)務 規(guī)則進行存取,但限制此應用對第一組業(yè)務規(guī)則進行存取。本領域技術人員將認識到具有 規(guī)則控制機制的虛擬機206的系統(tǒng)的至少一個益處是在應用級上限制特性(例如,業(yè)務規(guī) 則、表示規(guī)則、環(huán)境特性204等)的可見度。例如,不同的應用于是具有相同的特性名稱而不 存在沖突。因此,極大地增強和簡化了潛在供應商的產(chǎn)品和將來移植(porting)的互換性。 在根據(jù)本公開描述的一個實施例中,規(guī)則控制機制可以使用mBeans實施(參見圖2A的參 考標記206)。在根據(jù)本公開的另一個實施例中,規(guī)則控制機制可以通過應用服務器101的 有形的計算機可讀介質(zhì)上存儲的計算機可執(zhí)行指令實施并由虛擬機206執(zhí)行。另外,圖2A的系統(tǒng)可以包括用來協(xié)助特性的動態(tài)配置的功能。例如,可以包括日志記錄模塊來記錄在特性文件中編輯特性值的用戶的登錄以及何時發(fā)生修改的日期/時 間(例如,通過在日志表內(nèi)填充“modifiecLby”和“modifiecLdate”字段)。記錄的日志信 息可以提供尤其是對業(yè)務規(guī)則、表示規(guī)則、應用特性、環(huán)境特性等的修改的審計跟蹤。在另 一個實施例中,日志記錄模塊可以提供用于指定在應用日志中記錄的細節(jié)的級別的能力。 例如,日志記錄級“5”可以指示應該在日志文件中記錄該應用生成的所有錯誤消息和報警 消息(見圖4,參考標記408)。另外,可以提供用于其它實用功能的模塊(例如,圖2A中的 異常處理模塊和安全模塊)以協(xié)助應用開發(fā)者和測試者處理異常和安全。例如,安全模塊 可以提供有關什么樣的應用開發(fā)者和/或業(yè)務用戶可以修改哪些特性的信息。安全模塊至 少一個益處是可以防止外行的業(yè)務用戶存取和錯誤地修改可能導致整個系統(tǒng)崩潰的特性 值(例如,生成致命錯誤消息或其它不合需求的行為)。圖3是圖示根據(jù)本公開的方面的一個實施例的流程圖。該方法的一個或多個方面 可以通過使用系統(tǒng)(例如,圖2B所圖示的系統(tǒng))實施??蛻舳擞嬎阍O備141可以向Web服 務器151提交請求。在一個示例中,客戶端計算設備141可以執(zhí)行Web瀏覽器,該Web瀏覽 器向Web服務器151提交超文本傳輸協(xié)議(HTTP)請求。HTTP請求可以通過按下特定頁面 (例如,“pagel.html”)上的按鈕(例如,提交按鈕)來發(fā)起。在不同的實施例中,客戶端 計算設備141上可以安裝獨立的軟件應用,并且此應用可以請求服務器151提供用于在設 備屏幕上進行再現(xiàn)的信息。在步驟302中,服務器151可以從客戶端計算可以設備141接收至少一個頁面標 識符。該頁面標識符可以是簡單地如字串/詞組或整數(shù)/十六進制值??梢詫㈨撁鏄俗R符 傳遞到應用服務器101用于處理,或者可以在Web服務器151中處理該頁面標識符。處理 包括使用處理器103確定在映射表內(nèi)找到該頁面標識符(見步驟304)。映射表可以存儲 在服務器101的有形計算機可讀介質(zhì)115上。映射表包括多個頁面標識符及其相應的網(wǎng)頁 (或,應用狀態(tài))。例如,一旦在映射表中找到頁面標識符的匹配,則該系統(tǒng)可以在步驟306中調(diào)用 攔截器306。攔截器可以在動作執(zhí)行前被調(diào)用,除此之外,攔截器還可以負責創(chuàng)建用戶界面 上下文和初始化控制器的freemarker模板(FTL),在序列號No. 61/236,135的美國臨時申 請中還詳細地描述了攔截器,之前已經(jīng)通過引用并入了該申請的全部內(nèi)容。本領域技術人 員將理解此攔截器是識別的計算機編程中的編程構造。概念上,攔截器可以駐留于充分備 有證明文件的模型-視圖-控制器模式的控制器218部分中,如圖2B所示。攔截器協(xié)助該 系統(tǒng)的各種控制類職責,包括與模型類組件(概念上駐留于模型220內(nèi))以及視圖類組件 (在概念上駐留于視圖222內(nèi))的交互。在步驟308中,作為模型-視圖-控制器模式的視圖222部分的職責的一部分,可 以標識與步驟302中接收的頁面標識符相關聯(lián)的freemarker模板(FTL)文件。FTL文件可 以間接與來自步驟302的頁面標識符相關聯(lián),這是因為FTL文件可以與映射到頁面標識符 的頁面(或應用狀態(tài))相關聯(lián)。在序列號No. 61/236,135的美國臨時申請中還詳細地描述 了 FTL文件,之前已經(jīng)通過引用并入了該申請的全部內(nèi)容。在步驟310中,可以標識規(guī)則(例如,業(yè)務規(guī)則和/或表示規(guī)則)。除此之外,該標 識還可以基于來自步驟302的頁面標識符(和/或映射到頁面標識符的頁面或應用狀態(tài))。 在一些示例中,除了頁面或頁面標識符之外,還可以用其他特征來標識該規(guī)則。
在步驟312中,事務模塊可以基于更新后的模板文件,從至少一個數(shù)據(jù)存儲系統(tǒng) 212中檢索內(nèi)容數(shù)據(jù)。多個數(shù)據(jù)存儲系統(tǒng)212可以有助于根據(jù)更新后的模板文件安排內(nèi)容 數(shù)據(jù)。例如,在具有多個合作方和/或輔助方的大型組織中,該組織可能要求從多個源中提 取內(nèi)容數(shù)據(jù)并將其無縫集成到單個表示輸出中。沿著這些路線,事務模塊可以從多個源中 提取數(shù)據(jù)并根據(jù)適當?shù)哪0?例如,一開始在步驟308中標識的更新的模板文件)集成該 內(nèi)容。在可選實施例中,事務模塊可以獲得對XML文檔的引用并解析該XML文檔以提取 期望的內(nèi)容數(shù)據(jù)。事務模塊可以從多個源中檢索多個XML文檔。例如,事務模塊可以從 JointVenturel (即,合資的合作方)、Subsidiaryl (即,子公司)中以及從該公司自己的 XML數(shù)據(jù)存儲中檢索XML文檔??梢垣@得、解析來自這些源中的每一個源的XML文檔,并且 所提取的內(nèi)容可以用來填充模板(即,上述更新后的模板)。從XML文檔(或從數(shù)據(jù)存儲系 統(tǒng)212)中檢索的內(nèi)容不必局限于文本數(shù)據(jù)。本公開設想了各種類型的數(shù)據(jù),包括但不局限 于圖片圖形、動畫、視頻等。在步驟314中,可以從再現(xiàn)引擎216中生成表示代碼。再現(xiàn)引擎216可以用一種 或多種類型的格式化輸出來輸出表示代碼。例如,可以用超文本標記語言(HTML)、可擴展 標記語言(XML)、WML等對表示代碼進行格式化。該輸出的表示代碼可以被發(fā)送到遠程設備 (在步驟316中)。例如,遠程設備可以是在步驟302中所討論的客戶端計算設備141。在 可替換實施例中,遠程設備可以是不同的設備,例如Web服務器121或另一個計算設備。參照圖4,該示了根據(jù)本公開的方面的用于高亮顯示系統(tǒng)的管理域和運行時 的域的該系統(tǒng)的實施例。在管理域中,內(nèi)容管理系統(tǒng)228、規(guī)則引擎,以及頁面配置系統(tǒng)230 包含用于協(xié)助創(chuàng)建和維護規(guī)則、內(nèi)容、模板和/或工作流的機制/模塊。同時,運行時的域 包含那些用于協(xié)助對前述規(guī)則和工作流的運行時的實施和/或?qū)η笆鰞?nèi)容和模板進行再 現(xiàn)的機制/模塊。例如,內(nèi)容管理系統(tǒng)2 可以發(fā)布數(shù)字資產(chǎn)(例如,視頻文件、RSS供給、 URL鏈接等)并在內(nèi)容存儲404中存儲數(shù)據(jù)。內(nèi)容存儲404中的數(shù)據(jù)可以包括但不局限于 XML和相關聯(lián)的元數(shù)據(jù)。另外,規(guī)則引擎和頁面配置系統(tǒng)230可以向配置儲存庫402發(fā)布。 配置儲存庫可以包括但不局限于頁面配置信息、配置規(guī)則和工作流(例如,sitemap, xml映 射文件)。參照圖2B,頁面配置系統(tǒng)230可以在數(shù)據(jù)存儲214中存儲頁面配置信息。數(shù)據(jù) 存儲214可以包括工作流信息,例如,以示例的sitemap, xml所示的方式將一個頁面映射到 另一個頁面的轉(zhuǎn)換,其在序列號No. 61/236,135的美國臨時申請中進行了詳細描述,之前 已經(jīng)通過引用并入了該申請的全部內(nèi)容。例如,工作流信息可以包括映射,該映射示出了如 果在頁面上選擇一個特定按鈕(或鏈接),系統(tǒng)就可以轉(zhuǎn)換到另一個特定頁面。本領域技術 人員在瀏覽了在此公開的全部內(nèi)容之后將理解這種工作流類似于本領域眾所周知的狀態(tài) 圖的工作流。再現(xiàn)引擎216可以消耗由這些運行時的域組件所提供的一個或多個資源以對來 自示例性客戶端計算設備141的請求作出響應。參照圖5,應用服務器101可以生成具有以表示(504A、504B、504C,統(tǒng)稱為504)格 式化的并且應用規(guī)則506的內(nèi)容(參見502A、502B、502C,統(tǒng)稱為50 的網(wǎng)頁500??梢詮?內(nèi)容管理系統(tǒng)2 所管理的內(nèi)容數(shù)據(jù)存儲212中檢索內(nèi)容502。表示方式504可以基于應 用服務器101的一個或多個freemarker模板(FTL)來表示。另外,客戶端用戶界面(UI)
10組件224(例如,層疊樣式表、異步Javascript、Javascript和Flash)可以協(xié)助于再現(xiàn)該 表示方式504。生成的表示代碼可以導致被發(fā)送到客戶端計算設備141的網(wǎng)頁226。本領 域技術人員將理解網(wǎng)頁2 可以采取除超文本標記語言(HTML)以外的格式,而且可以采取 XHTML、XML、麗L或其他格式。 盡管未作要求,但本領域普通技術人員將理解在此描述的各個方面可以實施為方 法、數(shù)據(jù)處理系統(tǒng)或存儲計算機可執(zhí)行指令的計算機可讀介質(zhì)。已經(jīng)按照其說明性實施例 進行了描述本發(fā)明的方面。對于本領域普通技術人員而言,根據(jù)對本公開的閱讀,將想到權 利要求的范圍和精神內(nèi)的多個其他實施例、修改和變型。例如,本公開設想了應用服務器 101,其執(zhí)行編譯后的計算機可讀指令,而且不依賴于虛擬機206。換言之,要求保護的本發(fā) 明各個實施例無需虛以機206而可以進行操作。在另一個示例中,本領域普通技術人員將 理解說明性附圖中圖示的步驟可以按照除所述順序之外的其它順序來執(zhí)行,而且根據(jù)本公 開的方面所說明的一個或多個步驟是可選的。另外,可以通過使用處理器執(zhí)行來執(zhí)行在此 所述的步驟。
權利要求
1.一種電子裝置,用于響應接收到應用代碼的至少一個頁面標識符而輸出表示代碼, 所述應用代碼包括從至少一個數(shù)據(jù)存儲系統(tǒng)檢索的并由再現(xiàn)引擎格式化的內(nèi)容,所述裝置 包括電子處理器;有形的計算機可讀介質(zhì),用于存儲 映射表,包括多個與應用相關聯(lián)的頁面標識符; 與頁面標識符相關聯(lián)的模板文件; 與頁面標識符相關聯(lián)的表示規(guī)則;以及 與頁面標識符相關聯(lián)的業(yè)務規(guī)則;以及所述有形的計算機可讀介質(zhì)還存儲計算機可執(zhí)行指令,當處理器執(zhí)行所述計算機可執(zhí) 行指令時使得所述裝置執(zhí)行以下步驟,所述步驟包括 確定映射表包括頁面標識符; 調(diào)用與頁面標識符相關聯(lián)的攔截器; 檢索與頁面標識符相關聯(lián)的模板文件;執(zhí)行與頁面標識符相關聯(lián)的業(yè)務規(guī)則及表示規(guī)則來為特定用戶更新模板文件; 基于更新后的模板文件和業(yè)務規(guī)則及表示規(guī)則,從至少一個數(shù)據(jù)存儲系統(tǒng)中檢索內(nèi)容;使用更新后的模板文件和檢索的內(nèi)容,生成表示代碼,其中所述表示代碼處于期望的 格式;以及發(fā)送生成的表示代碼。
2.根據(jù)權利要求1所述的裝置,其中生成的表示代碼的格式是超文本標記語言。
3.根據(jù)權利要求3所述的裝置,其中所述應用是包含動態(tài)HTML的動態(tài)網(wǎng)站。
4.根據(jù)權利要求1所述的裝置,其中所述至少一個數(shù)據(jù)存儲系統(tǒng)包括兩個不同的數(shù)據(jù) 存儲系統(tǒng),并且來自每個數(shù)據(jù)存儲系統(tǒng)的內(nèi)容被包含在所述表示代碼內(nèi)。
5.根據(jù)權利要求4所述的裝置,其中由駐留在所述有形的計算機可讀介質(zhì)上的事務模 塊來執(zhí)行從兩個不同的數(shù)據(jù)存儲系統(tǒng)中檢索內(nèi)容。
6.根據(jù)權利要求1所述的裝置,其中所述業(yè)務規(guī)則涉及關于所述特定用戶的數(shù)據(jù),并 且在執(zhí)行所述業(yè)務規(guī)則時訪問的數(shù)據(jù)存儲系統(tǒng)包括安全數(shù)據(jù)庫。
7.根據(jù)權利要求1所述的裝置,其中所述模板文件是FTL文件。
8.根據(jù)權利要求1所述的裝置,其中利用可擴展標記語言對所述映射表進行格式化。
9.根據(jù)權利要求1所述的裝置,還包括通信模塊,其被配置成向遠程電子設備至少發(fā)送所生成的表示代碼。
10.一種用于輸出通過再現(xiàn)而格式化的表示代碼的方法,包括 在有形的計算機可讀介質(zhì)上存儲映射表;在所述有形的計算機可讀介質(zhì)上存儲多個模板文件; 在所述有形的計算機可讀介質(zhì)上存儲多個表示規(guī)則; 在所述有形的計算機可讀介質(zhì)上存儲多個業(yè)務規(guī)則; 接收頁面標識符;使用處理器來確定在所述映射表內(nèi)找到所述頁面標識符,其中所述映射表存儲多個頁面標識符;從所述有形的計算機可讀介質(zhì)中檢索與所述頁面標識符相關聯(lián)的模板文件; 使用所述處理器,通過應用與頁面標識符相關聯(lián)的表示規(guī)則來更新所述模板文件; 使用所述處理器來執(zhí)行與所述頁面標識符相關聯(lián)的業(yè)務規(guī)則以對特定用戶組調(diào)整所 述模板文件;使用事務模塊,基于更新后的模板文件和至少所述業(yè)務規(guī)則,從至少一個數(shù)據(jù)存儲系 統(tǒng)中檢索內(nèi)容;使用所述處理器,基于更新后的模板文件和檢索的內(nèi)容生成表示代碼,其中所述表示 代碼處于期望的格式;以及向遠程電子設備發(fā)送生成的表示代碼。
11.根據(jù)權利要求10所述的方法,其中所述至少一個數(shù)據(jù)存儲系統(tǒng)包括兩個不同的數(shù) 據(jù)存儲系統(tǒng),并且來自每個數(shù)據(jù)存儲系統(tǒng)的內(nèi)容被包含在所述表示代碼中。
12.根據(jù)權利要求11所述的方法,其中所述業(yè)務規(guī)則基于所述特定用戶的屬性,并且 在執(zhí)行所述業(yè)務規(guī)則時訪問的數(shù)據(jù)存儲系統(tǒng)包括安全數(shù)據(jù)庫。
13.根據(jù)權利要求10所述的方法,其中以可擴展標記語言來格式化所述映射表。
14.根據(jù)權利要求10所述的方法,其中通過應用所述表示規(guī)則來更新模板文件包括設 置背景顏色和前景顏色。
15.根據(jù)權利要求14所述的方法,其中對于第一用戶的背景顏色是白色的,而對于第 二用戶的背景顏色是粉紅色的。
16.根據(jù)權利要求10所述的方法,其中以超文本標記語言來格式化所述表示代碼。
17.一種有形的計算機可讀介質(zhì),其包括使得裝置執(zhí)行以下步驟的計算機可執(zhí)行指令, 所述步驟包括調(diào)用與頁面相關聯(lián)的攔截器; 檢索與所述頁面相關聯(lián)的模板文件;應用與所述頁面相關聯(lián)的表示規(guī)則來更新所述模板文件;執(zhí)行與所述頁面相關聯(lián)的業(yè) 務規(guī)則來更新所述模板文件;通過將所述業(yè)務規(guī)則應用到所述模板文件來從至少一個數(shù)據(jù)存儲系統(tǒng)中檢索內(nèi)容; 通過將所述表示規(guī)則應用到所述模板文件和檢索到的內(nèi)容而生成表示代碼,其中所述 表示代碼處于期望的格式;以及 發(fā)送所生成的表示代碼。
18.根據(jù)權利要求17所述的有形的計算機可讀介質(zhì),其中所述至少一個數(shù)據(jù)存儲系統(tǒng) 包括兩個不同的數(shù)據(jù)存儲系統(tǒng),并且來自每個數(shù)據(jù)存儲系統(tǒng)的內(nèi)容被包含在所述表示代碼 中。
19.根據(jù)權利要求17所述的有形的計算機可讀介質(zhì),其中以超文本標記語言來格式化 所生成的表示代碼。
20.根據(jù)權利要求17所述的有形的計算機可讀介質(zhì),其中所述模板文件是FTL文件。
全文摘要
本發(fā)明提供了一種具有支持組件的顯示再現(xiàn)系統(tǒng)。其中說明了涉及在可從互聯(lián)網(wǎng)訪問的服務器上運行的Web應用的裝置和方法。本發(fā)明的方面涉及一種用于響應接收到至少一個頁面標識符而輸出表示代碼的裝置。該裝置包括電子處理器、存儲了映射表的有形介質(zhì)、模板文件、表示及業(yè)務規(guī)則,以及計算機可執(zhí)行指令。
文檔編號G06F17/30GK102096694SQ20101054346
公開日2011年6月15日 申請日期2010年8月23日 優(yōu)先權日2009年8月23日
發(fā)明者克里斯托弗·A·穆爾, 卡洛斯·S·卡塔拉哈納, 吉約蒂巴蘇·錢德拉巴蘇, 弗馬尼·辛格, 彼得·A·塔沃米納, 薩拉巴亞·波拉卡姆, 黃穎 申請人:美國銀行公司