專利名稱::可擴展遠程標簽標記系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及遠程標簽標記系統(tǒng)和方法,該系統(tǒng)和方法是特別地可擴展的,從而企業(yè)服務(wù)器上具有的功能可以應(yīng)用到來自遠程服務(wù)器的HTML內(nèi)容中,并且可以使用企業(yè)服務(wù)器功能和遠程服務(wù)器上可用的內(nèi)容開發(fā)工具的組合來開發(fā)內(nèi)容?,F(xiàn)有技術(shù)JavaServerPages(JSP)標簽提供了標簽標記系統(tǒng)(TagMarkupSystems)。根據(jù)Sun開發(fā)者網(wǎng)(SunDeveloperNetwork)(參見http:〃iava.sun.com/uroducts/is.p/taglibraries/index.isp,在lt匕通過弓l用并入本文),JavaServerPages(JSP)標簽庫定義了可以由任何JSP頁面重復(fù)使用的公開的模塊功能。標簽庫減少了通過將標簽的功能移入標簽實施類中,來將大量的Java代碼嵌入JSP頁面的需要。這些一般在Web服務(wù)器或者應(yīng)用程序(Application)服務(wù)器上執(zhí)行,但不是在遠程企業(yè)系統(tǒng)上執(zhí)行。在這點上,JSR-000168Portlet規(guī)范(參見h加〃icp.org/aboutiava/communitvprocess/final/isrl68/)在it匕通過弓l用也并入本文。.NET服務(wù)器控制也提供標簽標記系統(tǒng)。根據(jù)MSDN(參見http:〃msdn.microsoft.com/library/default.aspurl=/library/en-us/vbcon/html/vbconintroductiontowebformscontrols.asp,在it匕通過弓l用并入本文),當用戶創(chuàng)建Web表單頁面時,以下類型的控件對用戶可用HTML服務(wù)器控件、Web服務(wù)器控件和驗證控件。HTML服務(wù)器控件將HTML元素發(fā)布給服務(wù)器以用于編程。HTML月艮務(wù)器控件還發(fā)布映射至其提供的HTML元素的對象模型。Web服務(wù)器控件一般比HTML服務(wù)器控件具有更多內(nèi)建特征。Web服務(wù)器控件不僅包括諸如按鈕和文本框這樣的表單類型控件,還包括諸如日歷這樣的專用控件。由于Web服務(wù)器控件的對象模型不一定反映HTML語法,因此Web服務(wù)器控件比HTML服務(wù)器控件更加抽象。最后,驗證控件可以附加在輸入控件上,來測試用戶對該輸入控件輸入的是什么。驗證控件加入了允許測試用戶的輸入的邏輯,并且被提供來允許檢査需要的域,來針對特定值或者字符模式進行測試,和檢驗值屬于范圍內(nèi)的等等。用戶控件可以創(chuàng)立為Web表單頁。Web表單可以在其他Web表單頁面中嵌入為用戶控件,這是建立菜單、工具欄和其他可重復(fù)使用的元素的方法。Plumtree企業(yè)web包提供了入口、集成、搜索、協(xié)作和內(nèi)容管理服務(wù)。Plumtree系統(tǒng)的基礎(chǔ)體系結(jié)構(gòu)是公知的并且在www.Plumtree.com和白皮書禾口諸如PlumtreeCorporatePortal5.0J、PorletStandards:PlumtreeProductsforJSR168andWSRPCompatibility禾卩PlumtreeSoftware:1997-2004:OurProducts,OurVision上描述了。在美國專利號6,804,662和美國公布專利申請?zhí)?002/0055956、2002/0156812、2003/0163446、2004/0210576、2004/0267817、2004/0210569、2004/0103078、2003/0225765、2005/0097092和2005/0074126,以及美國專利申請?zhí)?9/696,627、10/004,301,09/896,039和10/966,359中描述了其他特征。Plumtree網(wǎng)址和其中可用的資源,以及白皮書和專利參考文獻通過引用在此都并入本文。另外,Plumtree轉(zhuǎn)換器標簽(PlumtreeTransformerTags)(如直到入口版本5.0.4的)可有利地實施幾種遠程標記標簽。希望提供一種用于建立遠程標記標簽的更加可擴展的框架。
發(fā)明內(nèi)容因此,提供了可擴展的遠程標記標簽系統(tǒng)。該系統(tǒng)包括企業(yè)服務(wù)器、網(wǎng)關(guān)、轉(zhuǎn)換器部件和標簽轉(zhuǎn)換引擎。企業(yè)服務(wù)器從終端用戶接收對數(shù)據(jù)的請求,并且最終將經(jīng)處理的內(nèi)容返回給該終端用戶。網(wǎng)關(guān)收集來自一個或多個遠程服務(wù)器的包括一個或多個遠程標記標簽的HTML內(nèi)容。轉(zhuǎn)換器部件解析用于遠程標記標簽的HTML內(nèi)容,并將用于遠程標記標簽的HTML內(nèi)容轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器功能的內(nèi)容。標簽轉(zhuǎn)換引擎執(zhí)行遠程標記標簽,從而允許將經(jīng)處理的內(nèi)容返回給終端用戶。有利地,企業(yè)服務(wù)器上可用的功能被應(yīng)用至來自遠程服務(wù)器的HTML內(nèi)容,并且使用企業(yè)服務(wù)器功能和在遠程服務(wù)器上可用的內(nèi)容開發(fā)工具的組合來開發(fā)內(nèi)容。該系統(tǒng)可進一歩包括可擴展的遠程標記標簽的供應(yīng)的庫(suppliedlibrary)。該庫可通過創(chuàng)建將在企業(yè)服務(wù)器上執(zhí)行的遠程標記標簽而擴展。該系統(tǒng)還可包括本地標簽標記系統(tǒng)和/或通過遠程標記標簽可訪問的當前用戶信息。當前用戶信息可包括用戶登錄信息。該系統(tǒng)還可包括超出企業(yè)服務(wù)器遠程訪問API所公布的數(shù)據(jù)之外的可訪問的企業(yè)服務(wù)器數(shù)據(jù)。該企業(yè)服務(wù)器數(shù)據(jù)還可被修改。該系統(tǒng)可包括用于將遠程標記標簽提供給引擎的庫管理器。該庫管理器可以從外部庫中檢索標簽。該系統(tǒng)可包括API,該API可被訪問來允許標簽的定制、創(chuàng)建或者修改或者上述操作的組合。轉(zhuǎn)換器部件還可從供應(yīng)的庫或者定制庫或者這兩者的標簽庫管理器中檢索一個或多個標簽。還提供了一種方法,用以將企業(yè)服務(wù)器上可用的功能應(yīng)用于來自遠程服務(wù)器的HTML內(nèi)容中,并且允許內(nèi)容開發(fā)者使用企業(yè)服務(wù)器功能和他們自己的內(nèi)容開發(fā)工具的組合。該方法包括接收來自終端用戶的對數(shù)據(jù)的請求。從一個或多個遠程服務(wù)器收集包括一個或多個遠程標記標簽的HTML內(nèi)容。針對遠程標記標簽解析HTML內(nèi)容,并且將該HTML內(nèi)容轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器功能的內(nèi)容。轉(zhuǎn)換后的內(nèi)容在企業(yè)服務(wù)器上執(zhí)行。然后將遠程服務(wù)器數(shù)據(jù)和企業(yè)服務(wù)器數(shù)據(jù)發(fā)送給終端用戶。該方法還可包括允許內(nèi)容開發(fā)者來擴展遠程標記標簽的供應(yīng)的庫和/或創(chuàng)建標記的新的庫。這種擴展可包括創(chuàng)建將在企業(yè)服務(wù)器上執(zhí)行的遠程標記標簽。該方法還可包括建立本地標簽標記系統(tǒng)和/或通過遠程標記標簽來訪問當前用戶信息。該當前用戶信息可包括對web應(yīng)用的用戶登錄和管理服務(wù)。該方法還可包括訪問超出企業(yè)服務(wù)器遠程訪問API所公布的之外的企業(yè)服務(wù)器數(shù)據(jù)。企業(yè)服務(wù)器數(shù)據(jù)可以是可修改的。該方法可包括訪問API,該API允許標記的定制、創(chuàng)建或者修改或者上述操作的組合。轉(zhuǎn)換可包括從供應(yīng)的庫或者定制庫或者這兩者的標簽庫管理器中檢索一個或多個標簽。還提供了具有在其上包含了處理器可讀代碼的-一個或多個處理器可讀存儲設(shè)備。該處理器可讀代碼是用于將一個或多個處理器編程,來執(zhí)行將在企業(yè)服務(wù)器上可用的功能應(yīng)用至來自遠程服務(wù)器的HTML內(nèi)容中,并且允許內(nèi)容開發(fā)者使用企業(yè)服務(wù)器功能和他們自己的內(nèi)容開發(fā)工具的組合的方法。圖1示意性地示出了優(yōu)選實施例的遠程標簽標記系統(tǒng);圖2示意性地示出了優(yōu)選實施例的遠程標簽標記系統(tǒng)的顯示樹;圖3示意性地示出了優(yōu)選實施例的標簽顯示樹結(jié)構(gòu)。具體實施例方式優(yōu)選實施例的可擴展的遠程標記標簽系統(tǒng)是設(shè)計來允許來自遠程服務(wù)器(即Portlet)的HTML采用企業(yè)服務(wù)器上可用的功能的優(yōu)點。"可擴展的"是指標簽和/或庫可以被創(chuàng)建和/或被修改,并且標簽可以包括或者不包括在標簽的供應(yīng)庫中和/或標簽的創(chuàng)建的庫中。可擴展性允許人們增加和/或修改部件,以提供新的和/或修改的功能。企業(yè)服務(wù)器聚集遠程內(nèi)容并且執(zhí)行遠程標記標簽。內(nèi)容開發(fā)者可將專用的遠程標記標簽包括在他們的HTML中,以使用企業(yè)服務(wù)器功能。當對數(shù)據(jù)的請求從終端用戶進入到入口(portal)日寸,企業(yè)服務(wù)器(即入口)收集來自遠程服務(wù)器的HTML內(nèi)容,其中包括遠程標記標簽。企業(yè)服務(wù)器然后解析用于遠程標記標簽的HTML內(nèi)容,并且將其轉(zhuǎn)換成使用企業(yè)服務(wù)器功能的合適的內(nèi)容。然后,將所產(chǎn)生的內(nèi)容發(fā)送回終端用戶,所述內(nèi)容是來自遠程服務(wù)器和企業(yè)服務(wù)器的混合數(shù)據(jù)。內(nèi)容或者系統(tǒng)開發(fā)者還能擴展遠程標記標簽的供應(yīng)庫。他們是通過創(chuàng)建企業(yè)服務(wù)器可執(zhí)行的、他們自己的遠程標記標簽來完成的。當前的標簽標記系統(tǒng)將標簽轉(zhuǎn)換成遠程Web服務(wù)器或者應(yīng)用程序服務(wù)器上的HTML標簽,并且然后將HTML直接發(fā)送給終端用戶。這是指與企業(yè)服務(wù)器一起工作的內(nèi)容開發(fā)者要么僅使用企業(yè)服務(wù)器,要么使用他們的優(yōu)選的Web服務(wù)器或者應(yīng)用程序服務(wù)器來開發(fā)他們的內(nèi)容。如果他們使用企業(yè)服務(wù)器開發(fā),則他們不使用他們通常的內(nèi)容開發(fā)工具。如果他們在他們的優(yōu)選的Web服務(wù)器或者應(yīng)用程序服務(wù)器上產(chǎn)生內(nèi)容,則他們不能得到企業(yè)服務(wù)器的功能的支持。該系統(tǒng)允許內(nèi)容開發(fā)者來使用他們的優(yōu)選的內(nèi)容開發(fā)工具以及使用企業(yè)服務(wù)器的功能。帶有標簽的HTML內(nèi)容是從遠程Web服務(wù)器或者應(yīng)用程序服務(wù)器供應(yīng),并且然后發(fā)送給企業(yè)服務(wù)器的。然后該企業(yè)服務(wù)器將標簽內(nèi)容轉(zhuǎn)換成最終的HTML,并且將其發(fā)送給終端用戶。內(nèi)容或者系統(tǒng)開發(fā)者還能通過創(chuàng)建他們自己的遠程標記標簽以訪問和/或修改企業(yè)服務(wù)器上的數(shù)據(jù),來擴展企業(yè)服務(wù)器的原始的功能。遠程標記標簽系統(tǒng)建立在幾個不同的部件上。參見圖1提供的示意性的例子,遠程內(nèi)容通過網(wǎng)關(guān)7和轉(zhuǎn)換器8的組合進入企業(yè)系統(tǒng)。網(wǎng)關(guān)7并行收集來自多個遠程內(nèi)容服務(wù)器6(即Portlet服務(wù)器)的數(shù)據(jù)。然后轉(zhuǎn)換器8解析數(shù)據(jù),并且將其轉(zhuǎn)換成標簽轉(zhuǎn)換引擎12中可用的格式。標簽轉(zhuǎn)換引擎12執(zhí)行遠程標記標簽,并且然后企業(yè)系統(tǒng)將經(jīng)處理的內(nèi)容返回給終端用戶4。來自終端用戶4的請求可以進入企業(yè)系統(tǒng)(即入口服務(wù)器)2。遠程服務(wù)器內(nèi)容(即portlet數(shù)據(jù))可從遠程內(nèi)容服務(wù)器6上請求。轉(zhuǎn)換器8從遠程內(nèi)容服務(wù)器6上獲得遠程內(nèi)容數(shù)據(jù),并且將其返回給頁面IO(即待顯示給用戶的網(wǎng)頁)。在執(zhí)行遠程標記標簽之前,傳統(tǒng)的jsp標記或者asp.net控件將在遠程內(nèi)容服務(wù)器6上執(zhí)行。然后頁面10調(diào)用遠程標記標簽轉(zhuǎn)換引擎12來處理標簽。引擎12從標簽庫管理器14獲得請求的標簽,并且建立HTML片段和標簽的樹16。然后處理該樹16(執(zhí)行標簽),并且將結(jié)果返回給頁面10,頁面IO將結(jié)果顯示給終端用戶2。標簽轉(zhuǎn)換引擎標簽轉(zhuǎn)換引擎12得到轉(zhuǎn)換器提供的帶有遠程標記標簽的HTML,對其進行處理,并顯示該標簽。轉(zhuǎn)換器提供對象標記數(shù)據(jù)的有序的列表,該列表包括標記片段(即文本和HTML)和XML片段及相關(guān)的數(shù)據(jù)(即XML屬性,該標簽是否是單一(singleton)標簽或者開放(open)或者封閉(close)標簽)。第一,標簽轉(zhuǎn)換引擎建立了來自對象標記數(shù)據(jù)的顯示樹16。圖2示意性地示出了顯示樹16。例如,下列HTML可通過遠程服務(wù)器產(chǎn)生<table><tr><td><pt:logic.ifexpression=,,user.id==2,,>〈pt:logic加e〉Somethingis<b>true</b>!</pt:logic.true><pt:logic.false>Thethingis<b>false</b〉!</pt:logic.false></pt:logic.if></td〉</tr></column></row><table>根據(jù)該實施例,該HTML將由標簽轉(zhuǎn)換引擎12轉(zhuǎn)換成圖2所示的顯示樹。"如果"(If)標簽20處理提供的表達式,并將告知"真"(True)標簽22或者"假"(False)標簽24來顯示其自身,顯示下面的HTML片段30或32的其中一個。返回給終端用戶的內(nèi)容將包括真消息30或者假消息32。例如,如果表達式為真,則下列的HTML可以返回給終端用戶<table><tr><td>Somethingis<b>true</b〉!</td〉</tr〉</column></row><table>利用企業(yè)服務(wù)器上可用的增加的功能的標簽的例子將是在企業(yè)數(shù)據(jù)庫中查詢僅通過企業(yè)服務(wù)器可獲得的某種用戶數(shù)據(jù)的標簽,或者由于遠程內(nèi)容中執(zhí)行的某種用戶動作而在企業(yè)數(shù)據(jù)庫中修改數(shù)據(jù)的標簽。圖3示意性地示出了優(yōu)選實施例的標簽顯示樹結(jié)構(gòu)。接口顯示元素(IDisplayElement)40指定了顯示元素類(DisplayElementclass)的基本接口。復(fù)合顯示元素(CompositeDisplayElement)42用來將不同的顯示元素分成一組。標簽顯示元素(TagDisplayElement)44擴展復(fù)合顯示元素42,以包含其他的顯示元素。復(fù)合顯示元素42優(yōu)選地配置為例如從不被其本身使用。標簽轉(zhuǎn)換引擎將每一個片段轉(zhuǎn)換成HTML顯示元素(標記片段)46或者標簽顯示元素(XML片段)44,并且將這些元素放置到等級樹16中(參見圖2和圖3)。這個過程將會通知任何未封閉的標簽,增加錯誤消息給該樹,并且嘗試盡可能好地處理無效的對象標記數(shù)據(jù)。標簽樹優(yōu)選地使用延遲初始化(LazyInitialization)來最小化處理,直到確定標簽是否真正地執(zhí)行(如,是否使用條件標簽來如果條件是真,則僅僅顯示某些HTML或者標簽)。這是指當建立樹時,不處理標簽對象數(shù)據(jù),但是優(yōu)選地僅當將執(zhí)行標簽時,處理標簽對象數(shù)據(jù)。然后,構(gòu)建包含應(yīng)用程序服務(wù)器和企業(yè)服務(wù)器上下文信息的標簽訪問者(TagVisitor)對象,并且用該對象來顯示該標簽樹。標簽訪問者對象被傳遞給每一個顯示元素,該顯示元素顯示其內(nèi)容,并且然后如有必要,則將該標簽訪問者對象傳遞給其子顯示元素來顯示。HTML顯示元素46將其標記片段轉(zhuǎn)換成文本串,并且將其輸出。由于轉(zhuǎn)換器將轉(zhuǎn)換器標簽中間的所有的HTML轉(zhuǎn)換成HTML片段,因此HTML顯示元素46沒有子標簽并且是文本串。標簽顯示元素44既顯示其內(nèi)容(即執(zhí)行轉(zhuǎn)換器標簽),也顯示其子顯示元素。該標簽從對象數(shù)據(jù)初始化,并且然后驗證該標簽上下文。驗證包括校驗標簽具有合適的父和/或子標簽,并且該標簽具有需要的屬性。驗證還校驗所有的標簽屬性是合適類型的(如整數(shù)、字符串、布爾型)。如果有任何錯誤,則在標簽上下文或者在標簽的實際執(zhí)行中,顯示元素將輸出包括錯誤細節(jié)的HTML注解。然后,執(zhí)行標簽顯示樹產(chǎn)生的HTML返回給企業(yè)服務(wù)器來顯示給終端用戶??蓴U展遠程標記標簽執(zhí)行當執(zhí)行標簽時,在基礎(chǔ)標簽類中有多種允許標簽作者訪問標簽屬性、存儲器內(nèi)變量和Web應(yīng)用程序和企業(yè)服務(wù)器數(shù)據(jù)的助手方法。標簽?zāi)軓牧鶄€不同的范圍內(nèi)存儲和檢索變量應(yīng)用程序、會話、永久會話、請求、Portlet和標簽范圍。這些標簽都以稍稍不同的方式運行,并且允許標簽作者來指定確切的持續(xù)時間和存儲的變量的可見性(即標簽范圍允許變量被當前標簽和其中所有標簽訪問,但不能被樹的不同部分中的其他標簽訪問)。變量還能被指定為私用于標簽庫,從而作者不必擔心變量命名的沖突。存儲器內(nèi)變量允許標簽之間的通信,例如利用"如果/否則"(If/Else)示例性標簽。標簽作者還可訪問包括HTTP會話和Web應(yīng)用的Web應(yīng)用數(shù)據(jù)。這就允許標簽作者將他們的標簽行為基于諸如用戶瀏覽器或者IP地址的數(shù)據(jù)。標簽可選擇調(diào)用處理標簽體(ProcessTagBody)方法,該方法處理當前標簽中的所有HTML和轉(zhuǎn)換器標簽。如果標簽沒有調(diào)用處理標簽體方法(例如在條件標簽中),則在當前標簽顯示元素44以下的標簽樹的部分將不被執(zhí)行。遠程標記標簽開發(fā)開發(fā)者擴展基礎(chǔ)標簽類來實施定制代碼,以開發(fā)新的可擴展遠程標記標簽。當前這可以在Java或者C弁中實現(xiàn)。該基礎(chǔ)標簽類允許開發(fā)者來輸出基于XML標簽屬性的HTML內(nèi)容(即〈pt:lib.tagattribute="true'7〉),以及周圍標簽和企業(yè)服務(wù)器的當前狀態(tài)?;A(chǔ)標簽類提供對標簽屬性(以及屬性的自動驗證),以及存儲在企業(yè)服務(wù)器上的存儲器中的數(shù)據(jù)的訪問,并且提供對企業(yè)系統(tǒng)對象的直接訪問。標簽庫文檔能由使用第三方工具來將源代碼注解轉(zhuǎn)換為HTML文檔的TagDoc系統(tǒng)自動產(chǎn)生。遠程標記標簽語言在遠程服務(wù)器內(nèi)容中遠程標記標簽基本以與標準的HTML標簽相同的方式使用。有兩點主要的不同。第一個不同是所有的遠程標記標簽必須是在專用的域名空間中,從而這些標簽?zāi)鼙晦D(zhuǎn)換器識別為遠程標記標簽。這是指實際的標簽名字將帶有之前在遠程服務(wù)器內(nèi)容中定義的域名空間的前綴(即<pt:logic.foreach/>)。第二個不同是遠程標記標簽可在運行時動態(tài)計算它們的屬性,并且用企業(yè)系統(tǒng)的數(shù)據(jù)替代所述屬性。如果標簽屬性以專用的保留的字符(如$)開始,則當執(zhí)行標簽時,屬性將用諸如來自企業(yè)系統(tǒng)的存儲器內(nèi)變量、列表中的項或者本地化字符串這樣的動態(tài)數(shù)據(jù)來替代。轉(zhuǎn)換器轉(zhuǎn)換器8(參見圖1)采用來自遠程服務(wù)器的帶有遵從XML的轉(zhuǎn)換器標簽的原始HTML,并且將其轉(zhuǎn)換成標記和XML片段。轉(zhuǎn)換器8還可執(zhí)行用于URL、域名空間等的相對較小的數(shù)據(jù)處理。轉(zhuǎn)換器8解析HTML,并且向標簽轉(zhuǎn)換引擎12提供對象標記數(shù)據(jù)的有序列表。該列表以它們出現(xiàn)在原始標記中的順序包括標記片段(即文本和標準HTML),以及XML片段和相關(guān)的數(shù)據(jù)(即XML屬性、單一標簽與開放或者封閉標簽^轉(zhuǎn)換器8優(yōu)選地是當處理來自遠程服務(wù)器的內(nèi)容時,具有至少兩個有利目的的有限狀態(tài)轉(zhuǎn)換器。第一個是處理指向遠程服務(wù)器上受保護的內(nèi)容的URL,并且將其轉(zhuǎn)換成穿過企業(yè)系統(tǒng)上的網(wǎng)關(guān)的URL。由于遠程服務(wù)器不能直接由終端用戶機訪問(如由于防火墻),因此URL需要被轉(zhuǎn)換成去向向外的企業(yè)服務(wù)器,該企業(yè)服務(wù)器隨后將顯示從遠程服務(wù)器上請求的內(nèi)容。除了將URL轉(zhuǎn)換成HTML和JavaScript之外,該轉(zhuǎn)換器還將預(yù)先定義的恒定URI轉(zhuǎn)換成通常使用的URL,如圖像服務(wù)器URL。第二個目的是將遠程服務(wù)器內(nèi)容轉(zhuǎn)換成HTML和標記片段和XML片段的有序列表。HTML和標記片段僅僅是文本,而XML片段存儲關(guān)于轉(zhuǎn)換器標簽的信息,諸如屬性和標簽類型(如封閉的,開放的,或者單一的)。由于性能理由而使用有限狀態(tài)機。有限狀態(tài)機是由各種狀態(tài)以及按照輸入怎樣從一個狀態(tài)轉(zhuǎn)換成另一個狀態(tài)的規(guī)則組成。在這種情況中,有限狀態(tài)轉(zhuǎn)換機搜遍遠程服務(wù)器內(nèi)容,直到找到左方括號。然后按照找到哪種標簽來轉(zhuǎn)換成各種狀態(tài)。針對URL處理諸如錨點(anchor)或者JavaScript標簽這樣的可包含URL的標簽,遠程標記標簽被轉(zhuǎn)換成XML片段,并且一般地忽略其他的HTML標簽。如果可包含URL的錨點及其他HTML標簽的URL指向遠程服務(wù)器上的受保護內(nèi)容,則它們被標記為后處理。進入腳本標簽打開JavaScript處理,該處理校驗JavaScript中的URL,例如在窗打開方法中那樣。然后JavaScriptURL被包含在助手方法中,該助手方法將在運行時處理URL。在將所有的遠程服務(wù)器內(nèi)容轉(zhuǎn)換后,將片段的有序列表緩存來以后重新使用。然后,后處理有序的列表,并且轉(zhuǎn)換各種URL,URI以及某些轉(zhuǎn)換器標簽。預(yù)先定義的恒定URI用合適的URL替代,并且轉(zhuǎn)換去往受保護遠程服務(wù)器內(nèi)容的URL來穿過企業(yè)系統(tǒng)網(wǎng)關(guān)。然后,經(jīng)處理的內(nèi)容傳遞給標簽轉(zhuǎn)換引擎。本發(fā)明并不限于在本文中上面描述的實施例,不脫離如附加的權(quán)利要求闡述的本發(fā)明的范圍和其中結(jié)構(gòu)的和功能的等同,可以進行修改或者更改。例如,本發(fā)明還能用在建立本地標簽標記系統(tǒng)中,這類似于之前存在的JSP標簽和.NETWeb控件系統(tǒng)。其他的替換使用可以是提供對識別管理應(yīng)用程序開發(fā)系統(tǒng)中的用戶信息的訪問。這種系統(tǒng)可能包括提供用戶登錄和管理服務(wù)給標準web應(yīng)用的框架。這些將通過遠程標記標簽訪問當前用戶信息。通過從遠程Web服務(wù)器訪問企業(yè)服務(wù)器數(shù)據(jù)和使用數(shù)據(jù)來建立HTML可實施其他功能。例如,portlet開發(fā)者可使用PlumtreeEDK遠程訪問API來訪問Plumtree入口信息,并且然后將其轉(zhuǎn)換成遠程Portlet服務(wù)器上的HTML數(shù)據(jù)。有利地,優(yōu)選實施例的系統(tǒng)允許portlet開發(fā)者來訪問或者修改超出遠程訪問API發(fā)布的數(shù)據(jù)(如果有的話)之外的企業(yè)服務(wù)器數(shù)據(jù)。在可根據(jù)在本文中的優(yōu)選實施例執(zhí)行的方法中,以及已經(jīng)在上述描述的方法和/或在所要求保護的方法中,已經(jīng)以選中的文字順序描述了操作。但是,所述順序是為了文字上的方便而選擇和排序的,并非用來隱含用于執(zhí)行操作的任何特殊的順序。另外,除了
背景技術(shù):
和
發(fā)明內(nèi)容部分之外,在此通過引用將本文中以上引證的所有對比文件并入具體實施方式的詳細描述中,如同公開了可替換的實施例。權(quán)利要求1、一種將企業(yè)服務(wù)器上可用的功能應(yīng)用于來自遠程服務(wù)器的HTML內(nèi)容中,并且允許內(nèi)容開發(fā)者使用企業(yè)服務(wù)器功能和他們自己的內(nèi)容開發(fā)工具的組合的方法,該方法包括(a)接收來自終端用戶的對數(shù)據(jù)的請求;(b)從包括一個或多個遠程標記標簽的一個或多個遠程服務(wù)器收集HTML內(nèi)容,所述遠程標記標簽包括供應(yīng)的、定制的、創(chuàng)建的或者修改的標簽或者這些標簽的組合;(c)解析用于所述遠程標記標簽的HTML內(nèi)容;(d)將用于所述遠程標記標簽的所述HTML內(nèi)容轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器功能的內(nèi)容;(e)在所述企業(yè)服務(wù)器上執(zhí)行轉(zhuǎn)換后的內(nèi)容;和(f)發(fā)送遠程服務(wù)器數(shù)據(jù)和企業(yè)服務(wù)器數(shù)據(jù)給所述終端用戶。2、如權(quán)利要求1所述的方法,還包括允許內(nèi)容開發(fā)者來擴展遠程標記標簽的供應(yīng)的庫或者創(chuàng)建新的庫,或者這兩者的組合。3、如權(quán)利要求2所述的方法,其中所述擴展包括創(chuàng)建待在所述企業(yè)服務(wù)器上執(zhí)行的遠程標記標簽。4、如權(quán)利要求l所述的方法,還包括建立本地標簽標記系統(tǒng)。5、如權(quán)利要求1所述的方法,還包括通過所述遠程標記標簽來訪問當前用戶信息。6、如權(quán)利要求5所述的方法,其中所述當前用戶信息的訪問包括訪問對web應(yīng)用的用戶登錄和管理服務(wù)。7、如權(quán)利要求1所述的方法,還包括訪問超出企業(yè)服務(wù)器遠程訪問API所公布的數(shù)據(jù)之外的企業(yè)服務(wù)器數(shù)據(jù)。8、如權(quán)利要求7所述的方法,還包括修改所述企業(yè)服務(wù)器數(shù)據(jù)。9、如權(quán)利要求1所述的方法,還包括使用允許標簽的定制、創(chuàng)建或者修改或者上述三者的組合的API。10、如權(quán)利要求1所述的方法,其中所述轉(zhuǎn)換包括從供應(yīng)庫或者定制庫或者這兩者中的標簽庫管理器中檢索一個或多個標簽。11、一種可擴展遠程標記標簽系統(tǒng),包括(a)企業(yè)服務(wù)器,用于接收來自終端用戶的對數(shù)據(jù)的請求,并且最終將經(jīng)處理的內(nèi)容返回給所述終端用戶;(b)網(wǎng)關(guān),用于收集來自一個或多個遠程服務(wù)器的包括一個或多個遠程標記標簽的HTML內(nèi)容;(c)轉(zhuǎn)換器部件,用于解析用于所述遠程標記標簽的HTML內(nèi)容,并且將用于遠程標記標簽的所述HTML內(nèi)容轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器的內(nèi)容;(d)標簽轉(zhuǎn)換引擎,用于執(zhí)行所述遠程標記標簽,從而允許經(jīng)處理的內(nèi)容返回給所述終端用戶;(e)從而在企業(yè)服務(wù)器上可用的功能被應(yīng)用于來自遠程服務(wù)器的HTML內(nèi)容,并且使用企業(yè)服務(wù)器功能和所述遠程服務(wù)器上可用的內(nèi)容開發(fā)工具的組合來開發(fā)內(nèi)容。12、如權(quán)利要求11所述的方法,還包括可擴展的遠程標記標簽的供應(yīng)的庫或者創(chuàng)建的庫,或者這兩者的組合。13、如權(quán)利要求12所述的方法,其中所述庫可通過如下方式擴展對遠程標記標簽進行創(chuàng)建、修改或者定制,或者這三者的組合,以在所述企業(yè)服務(wù)器上執(zhí)行。14、如權(quán)利要求ll所述的方法,還包括本地標簽標記系統(tǒng)。15、如權(quán)利要求11所述的方法,還包括通過所述遠程標記標簽可訪問的當前用戶信息。16、如權(quán)利要求15所述的方法,其中所述當前用戶信息包括用戶登錄信息。17、如權(quán)利要求ll所述的方法,還包括超出企業(yè)服務(wù)器遠程訪問API所公布的企業(yè)服務(wù)器數(shù)據(jù)之外的企業(yè)服務(wù)器數(shù)據(jù)。18、如權(quán)利要求17所述的方法,其中所述企業(yè)服務(wù)器數(shù)據(jù)也是可修改的。19、如權(quán)利要求11所述的方法,還包括用于將所述遠程標記標簽提供給所述引擎的庫管理器。20、如權(quán)利要求19所述的方法,其中所述庫管理器從外部庫中檢索標簽。21、如權(quán)利要求11所述的方法,還包括可訪問來允許標簽的定制、創(chuàng)建或者修改,或者創(chuàng)建新的庫,或者這兩者的組合的API。22、如權(quán)利要求11所述的方法,其中所述標簽信息引擎部件還用于從供應(yīng)的庫或者定制庫或者這兩者的標簽庫管理器中檢索一個或多個標簽。23、一個或多個包含有處理器可讀代碼的處理器可讀存儲設(shè)備,所述處理器可讀代碼用于對一個或多個處理器編程,來執(zhí)行將企業(yè)服務(wù)器上可用的功能應(yīng)用于來自遠程服務(wù)器的HTML內(nèi)容中,并且允許內(nèi)容開發(fā)者使用企業(yè)服務(wù)器功能和他們自己的內(nèi)容開發(fā)工具的組合的方法,該方法包括(a)接收來自終端用戶的對數(shù)據(jù)的請求;(b)從包括一個或多個遠程標記標簽的一個或多個遠程服務(wù)器收集HTML內(nèi)容,所述遠程標記標簽包括供應(yīng)的、定制的、創(chuàng)建的或者修改的標簽或者這些標簽的組合;(c)解析用于所述遠程標記標簽的HTML內(nèi)容;(d)將用于所述遠程標記標簽的所述HTML內(nèi)容轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器功能的內(nèi)容;(e)在所述企業(yè)服務(wù)器上執(zhí)行轉(zhuǎn)換后的內(nèi)容;和(f)發(fā)送遠程服務(wù)器數(shù)據(jù)和企業(yè)服務(wù)器數(shù)據(jù)給所述終端用戶。24、如權(quán)利要求23所述的一個或多個存儲設(shè)備,該方法還包括允許內(nèi)容開發(fā)者來擴展遠程標記標簽的供應(yīng)的庫。25、如權(quán)利要求24述的一個或多個存儲設(shè)備,其中所述擴展包括創(chuàng)建待在所述企業(yè)服務(wù)器上執(zhí)行的遠程標記標簽。26、如權(quán)利要求23所述的一個或多個存儲設(shè)備,該方法還包括建立本地標簽標記系統(tǒng)。27、如權(quán)利要求23所述的一個或多個存儲設(shè)備,該方法還包括通過所述遠程標記標簽來訪問當前用戶信息。28、如權(quán)利要求27所述的一個或多個存儲設(shè)備,其中所述當前用戶信息的訪問包括訪問對web應(yīng)用的用戶登錄和管理服務(wù)。29、如權(quán)利要求23所述的一個或多個存儲設(shè)備,該方法還包括訪問超出企業(yè)服務(wù)器遠程訪問API所公布的數(shù)據(jù)之外的企業(yè)服務(wù)器數(shù)據(jù)。30、如權(quán)利要求29所述的一個或多個存儲設(shè)備,該方法還包括修改所述企業(yè)服務(wù)器數(shù)據(jù)。31、如權(quán)利要求23所述的一個或多個存儲設(shè)備,該方法還包括訪問允許標簽的定制、建立或者修改,或者新庫的創(chuàng)建,或者其組合的API。32、如權(quán)利要求23所述的一個或多個存儲設(shè)備,其中所述轉(zhuǎn)換包括從供應(yīng)的或者定制庫或者兩者中的標簽庫管理器中檢索一個或多個標簽。全文摘要在企業(yè)服務(wù)器上可用的功能被應(yīng)用于來自遠程服務(wù)器的HTML內(nèi)容中。在終端用戶請求后,從遠程服務(wù)器收集包括遠程標記標簽的HTML內(nèi)容。解析用于遠程標記標簽的HTML內(nèi)容,并將其轉(zhuǎn)換成被格式化以用于企業(yè)服務(wù)器功能的內(nèi)容。在企業(yè)服務(wù)器上執(zhí)行轉(zhuǎn)換后的內(nèi)容。然后將遠程服務(wù)器和企業(yè)服務(wù)器數(shù)據(jù)發(fā)送給終端用戶。標簽和/或庫可以是可擴展的,從而可以建立或者修改它們,并且標簽可以包括或者不包括在供應(yīng)的標簽庫和/或創(chuàng)建的標簽庫或者其任何組合中。文檔編號G06F15/00GK101300559SQ200680030120公開日2008年11月5日申請日期2006年8月16日優(yōu)先權(quán)日2005年8月18日發(fā)明者董·劉易斯·海勒申請人:Bea系統(tǒng)公司