專利名稱::在基于Web的門戶環(huán)境中配置應(yīng)用的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)計(jì)算領(lǐng)域,更具體地說,涉及用于在基于Web的環(huán)境中配置門戶應(yīng)用的方法和系統(tǒng),其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建復(fù)合應(yīng)用。
背景技術(shù):
:圖1給出了在實(shí)現(xiàn)此類現(xiàn)有技術(shù)Web門戶的門戶服務(wù)器上的示意性系統(tǒng)圖。例4口由IBMWebSpherePortal或由Jetspeed2EnterprisePortal(www.Portals.apache.or2/ietspeed-2/Portal-design.htinl)代表的現(xiàn)有技術(shù)門戶通#網(wǎng)絡(luò)服務(wù)器(例如,Web服務(wù)器lOO)上實(shí)現(xiàn)的綜合功能來構(gòu)建,Web服務(wù)器100的最重要的元素是用于在下面進(jìn)一步說明的用戶認(rèn)證105、狀態(tài)處理110、片段聚合115、多個(gè)Portlet120的邏輯組件(在相應(yīng)頁125中提供,具有到相應(yīng)Portlet容器軟件135的相應(yīng)多個(gè)API130以便將邏輯組件設(shè)置到公共網(wǎng)頁上下文),以及某些門戶存儲(chǔ)資源140。邏輯組件可操作地連接,以4更可以根據(jù)需要在單個(gè)組件之間交換數(shù)據(jù)。這在圖1中簡要示出。更詳細(xì)地說,圖1中Web服務(wù)器的門戶引擎根據(jù)1^出門戶模型150和門戶信息(如安全性設(shè)置、用戶角色、定制設(shè)置和設(shè)備功能)實(shí)現(xiàn)Portlet120的聚合。在呈現(xiàn)的頁內(nèi),門戶根據(jù)門戶模型自動(dòng)生成一組相應(yīng)的導(dǎo)航元素。在聚合過程中,門戶引擎根據(jù)需要并在需要時(shí)調(diào)用Portlet,并使用緩存減少向Portlet發(fā)出的請求數(shù)?,F(xiàn)有技術(shù)的IBMWebSpherePortal使用開放標(biāo)準(zhǔn),例如JavaPortletAPI(應(yīng)用編程接口)。它還支持通過WSRP標(biāo)準(zhǔn)使用遠(yuǎn)程Portlet。Portlet容器135是負(fù)責(zé)所有Portlet120的單個(gè)控制組件,其可以控制位于所有這些Portlet中的代碼的執(zhí)行。它為Portlet提供運(yùn)行時(shí)環(huán)境,并為事件處理、Portlet間消息傳送以及訪問Portlet實(shí)例和配置數(shù)據(jù)等提供工具。具體地說,門戶資源140是Portlet120本身和頁125,在所述頁上門戶資源以片段聚合的形式被聚合。門戶數(shù)據(jù)庫128存儲(chǔ)portlet描述,這是包括一些屬性的詳細(xì)portlet描述,所述屬性如portlet名稱、portlet描述、portlet標(biāo)題、portlet短標(biāo)題以及關(guān)鍵字;portlet交互接口說明,它通常以WSDL文檔的形式存儲(chǔ)。門戶數(shù)據(jù)庫還存儲(chǔ)門戶內(nèi)容結(jié)構(gòu),即門戶頁(可以又包含嵌套的頁)和portlet的分層結(jié)構(gòu)。根據(jù)現(xiàn)有技術(shù)(如關(guān)系表)以適當(dāng)?shù)谋硎緦⒋藬?shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫128中。前面提及的聚合邏輯115包括組裝頁所需的所有步驟。通常,這些步驟是從存儲(chǔ)中加載內(nèi)容結(jié)構(gòu)、遍歷此結(jié)構(gòu)并調(diào)用此結(jié)構(gòu)中引用的實(shí)例以獲得其輸出,此輸出被組裝到單個(gè)頁中。管理員可以通過例如管理接口來定義內(nèi)容結(jié)構(gòu)。雖然圖l示出了功能組件,但圖2將示出現(xiàn)有技術(shù)門戶系統(tǒng)中的服務(wù)器邏輯。在圖2中示例性示出了此類現(xiàn)有技術(shù)門戶服務(wù)器系統(tǒng)設(shè)置。它通常包括門戶^S出結(jié)構(gòu)所基于的應(yīng)用服務(wù)器4。門戶服務(wù)器6本身為門戶管理的資源提供頂端服務(wù),例如portlet容器135、聚合功能170和訪問控制105。門戶資源管理組件140管理應(yīng)用月良務(wù)器的資源配置,例如Servlet、EnterpriseJavaBean、JSP等。此類配置在形式上通過預(yù)先定義的接口表示,例如描述這些資源的XML文件(如Web應(yīng)用的web.xml)。對于門戶服務(wù)器提供的資源也是如此;通常通過XML表示來描述資源。門戶服務(wù)器6提供服務(wù)以創(chuàng)建、讀取、更新和刪除(CRUD)其資源??梢圆捎枚喾N不同的變體提供這些服務(wù);可以通過發(fā)送到服務(wù)器的資源的XML描述、通過與門戶服務(wù)器的基于命令行的腳本交互,或直接通過與門戶本身提供的用戶接口交互來進(jìn)行更新?,F(xiàn)在具體專注于本發(fā)明,在緊密集成到Web的業(yè)務(wù)環(huán)境中,應(yīng)用服務(wù)器通常用于提供對應(yīng)用的訪問。門戶通常建立在應(yīng)用J3良務(wù)器的頂端,并對此類應(yīng)用的元素進(jìn)行形式化。除了可能存在的應(yīng)用的業(yè)務(wù)對象和服務(wù)之外,門戶還引入了上述的portlet和頁的概念。Portlet形成部分或完整的應(yīng)用。頁用于將portlet和其他內(nèi)容分組到邏輯部分中。復(fù)合應(yīng)用是由多個(gè)部分組成的應(yīng)用。門戶提供了各種部分,例如portlet、頁、品牌元素(主題和外觀)、業(yè)務(wù)對象(例如EJB)等。復(fù)合應(yīng)用表示可由按需概念(例如提供、應(yīng)用管理和服務(wù)質(zhì)量保證)管理的實(shí)體。復(fù)合應(yīng)用的現(xiàn)有技術(shù)概念導(dǎo)致有必要說明此類應(yīng)用。復(fù)合應(yīng)用的已建立模式(如XML表示)可用于此目的。具體地說,復(fù)合應(yīng)用配置描述中可以引用或包括現(xiàn)有的資源表示。為了說明這些方面,提供了以下的圖3,圖3示出了門戶服務(wù)器的體系結(jié)構(gòu)圖且專注于門戶交互流程和資源訪問。在門戶的主處理流程中,將請求發(fā)送到對其進(jìn)行處理和應(yīng)答的服務(wù)器。處理請求的第一步是aSi發(fā)送者是否被認(rèn)證以^更與服務(wù)器交互,參見步驟310。此認(rèn)證的結(jié)果會(huì)影響服務(wù)器的響應(yīng);如果未正確認(rèn)證發(fā)送者,則可能拒絕請求或者提示發(fā)送者提供證書。作為第二步320,代表特定請求的門戶資源狀態(tài)的導(dǎo)航狀態(tài)被解串行化,并準(zhǔn)備用于修改或用于再次將導(dǎo)航狀態(tài)串行化到URL或其他相應(yīng)存儲(chǔ)中。導(dǎo)航狀態(tài)可以包含要在將傳輸此狀態(tài)的請求發(fā)送到門戶時(shí)執(zhí)行的操作。這在操作處理階段完成,參見執(zhí)行已編碼的操作的步驟330。這些操作可以修改可通過門戶管理的服務(wù)器側(cè)狀態(tài)、資源和/或影響響應(yīng)的生成。最終,根據(jù)對于請求有效的導(dǎo)航狀態(tài)在聚合階段中生成響應(yīng)。聚合訪問資源信息以聚合來自不同源的標(biāo)記(參見步驟340),并將組合后的輸出寫入響應(yīng),此后對請求的處理結(jié)束(步驟350)。任何組件都可以使用事件通信層380來發(fā)出或接收由事件處理器370處理的事件。具體地說,任何組件都可以發(fā)出指令以記錄其活動(dòng)(步驟385)。為了執(zhí)行它們的操作,任何包含步驟310到350的組件都可能需要訪問有關(guān)門戶資源的信息。例如,這包括有關(guān)資源訪問權(quán)限或有關(guān)特定資源屬性的信息。這通過資源訪問和管理層390完成。還可以在上述主流程的外部訪問事件通信層380以及資源訪問和管理層390兩者,例如通過EJB、命令行接口或其他未包含在請求/響應(yīng)循環(huán)(其通常形成與門戶進(jìn)行交互的基礎(chǔ))中的代碼。本領(lǐng)域的技術(shù)人員將理解,在現(xiàn)有技術(shù)中,復(fù)合應(yīng)用始終是手動(dòng)構(gòu)建的,并且必須花費(fèi)許多努力來構(gòu)建所述應(yīng)用,因?yàn)檫@需要深?yuàn)W的J2EE和門戶技能,范圍從需要代碼相關(guān)技能的程序設(shè)計(jì)部分(通過需要自己特定技能的用戶接口外觀設(shè)計(jì))直到封裝。因此,它包括諸如WAR/EAR文件之類的J2EE概念以及應(yīng)用容器格式。不利的是,這些技能通常*在整個(gè)團(tuán)隊(duì)中。因此,創(chuàng)建復(fù)合應(yīng)用通常是低效的過程。此外,人工創(chuàng)建的復(fù)合應(yīng)用可能沒有完全涵蓋操作環(huán)境中的相關(guān)實(shí)體。換言之,操作環(huán)境的復(fù)雜性使得難以完全且準(zhǔn)確地檢測重要的復(fù)合應(yīng)用。
發(fā)明內(nèi)容本發(fā)明的目標(biāo)是提供一種用于自動(dòng)配置復(fù)合門戶應(yīng)用的方法和系統(tǒng),這將減少應(yīng)用開發(fā)人員的手動(dòng)工作,同時(shí)生成對用戶更友好的門戶。簡言之,披露了一種用于在門戶環(huán)境中自動(dòng)定義和組裝復(fù)合應(yīng)用的方法和系統(tǒng)。本發(fā)明的系統(tǒng)結(jié)合了所謂的"自動(dòng)應(yīng)用組件",此組件根據(jù)操作環(huán)境的資源和配置以及系統(tǒng)使用方式來確定復(fù)合應(yīng)用。此方法的創(chuàng)新使用會(huì)產(chǎn)生一組復(fù)合應(yīng)用定義,所述定義可以被進(jìn)一步處理,例如通過結(jié)合到系統(tǒng)中的用戶接口,或通過其他自動(dòng)任務(wù)(例如自動(dòng)分級系統(tǒng))。根據(jù)本發(fā)明的基本方面,披露了一種用于在基于Web的環(huán)境中配置門戶應(yīng)用的方法,其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建復(fù)合應(yīng)用,所述方法的特征在于以下步驟a)自動(dòng)捕獲和存儲(chǔ)用戶瀏覽導(dǎo)航數(shù)據(jù),c)讀取與用戶瀏覽的門戶對應(yīng)的門戶配置數(shù)據(jù),d)根據(jù)一組預(yù)定準(zhǔn)則來自動(dòng)分析(720、740)配置數(shù)據(jù)和存儲(chǔ)的瀏覽導(dǎo)航數(shù)據(jù),e)根據(jù)所述自動(dòng)分析的結(jié)果來自動(dòng)生成配置數(shù)據(jù),f)從所述配置數(shù)據(jù)創(chuàng)建新的復(fù)合門戶應(yīng)用的表示(850),所述應(yīng)用包含通常由用戶或用戶組瀏覽的應(yīng)用部分。g)額外地,可以將新的門戶配置提供給用戶或用戶組,以便替代先前存在的門戶配置或與其一起進(jìn)行安裝。本發(fā)明的基本優(yōu)點(diǎn)是根據(jù)門戶資源的受監(jiān)視使用來自動(dòng)定義復(fù)合門戶應(yīng)用或一組復(fù)合門戶應(yīng)用。更詳細(xì)地i兌,從本發(fā)明的方法生成的復(fù)合應(yīng)用(組)包含通常為一組或多組用戶執(zhí)行一項(xiàng)或多項(xiàng)任務(wù)所需的所有這些門戶資源。生成的復(fù)合應(yīng)用可以從所述門戶導(dǎo)出到外部表示中并可以導(dǎo)入到其他門戶中,由此允許容易地提供一組或多組用戶所需的所有應(yīng)用功能。為了清楚地理解所附權(quán)利要求的含義,下面給出了術(shù)語的注解跟蹤這表示捕獲和記錄有關(guān)在系統(tǒng)中發(fā)生的活動(dòng)的信息。通常,通過事件通告活動(dòng)。跟蹤由偵聽稍后被記錄的特定事件實(shí)現(xiàn)??梢杂蓮募ぐl(fā)事件的源接收事件的偵聽方來更改事件的表示。例如,事件包含的信息可以多于跟蹤及稍后的分析用途所需的信息(例如,將傳輸有關(guān)特定用戶設(shè)置的信息,但是此特定事件的所有重要信息是用戶的身份)。雖然普通記錄只將信息寫出到日志,但是本發(fā)明的方法可以提前轉(zhuǎn)換此信息以便稍后進(jìn)4亍更容易的分才斤。事件這涉及已發(fā)生且已登記的活動(dòng)的出現(xiàn);例如,用戶記錄、查看特定資源、定制或管理這些資源。通常,復(fù)雜系統(tǒng)的運(yùn)行時(shí)組件使用事件來指示所發(fā)生活動(dòng)的特定出現(xiàn)。門戶配置數(shù)據(jù)在此,數(shù)據(jù)的表示被理解為門戶運(yùn)行以執(zhí)行其功能。這是定義門戶如何運(yùn)行及其最終顯示內(nèi)容的數(shù)據(jù)。主要元素是頁和portlet。例如,現(xiàn)有技術(shù)IBMWebSpherePortal的配置數(shù)據(jù)部分是頁、portlet、主題和外觀(以及其他人工制品)的表示,它們可以通過"XML訪問,,XML文件來顯示。圖3B中給出了一個(gè)實(shí)例。為了更加清晰,極大地簡化了此實(shí)例(因?yàn)樵嘉募⑻L)。已記錄的數(shù)據(jù)這是由跟蹤過程捕獲的數(shù)據(jù),即由用于特定事件的記錄服務(wù)或偵聽方存儲(chǔ)的信息。預(yù)定準(zhǔn)則這些是與稍后所述的本發(fā)明分析相關(guān)的信息的描述,并且可從事件或已記錄的數(shù)據(jù)中提取。此外,可以采用用戶特定的方式執(zhí)行本發(fā)明所建議的自動(dòng)分析,其中準(zhǔn)則也是由用戶專門選擇的,并且其中內(nèi)容也是由用戶專門選擇的。因此,在需要根據(jù)前面提及的用戶組和相應(yīng)用戶特定的用戶需要來提供門戶定制或門戶布局規(guī)范時(shí),編程人員的工作被充分簡化。例如,在只有企業(yè)員工可以訪問的企業(yè)門戶中,可以自動(dòng)生成不同的門戶配置,它反映了特定的需要,例如管理人員、經(jīng)濟(jì)方面、技術(shù)人員等的需要。在公共域中,可以根據(jù)年齡、性別、愛好、語言、"瀏覽行為"等來區(qū)分用戶組。例如,為了簡述本發(fā)明的特殊用例,當(dāng)用戶需要點(diǎn)擊三個(gè)不同的portlet,并JU艮蹤的用戶行為顯示他必須在四個(gè)頁(包括向上滾動(dòng)和向下滾動(dòng))之間導(dǎo)航時(shí),本發(fā)明提供的新配置可能會(huì)在同一網(wǎng)頁上彼此相鄰地設(shè)置這三個(gè)portlet。由此可以避免頁更改和滾動(dòng)。從而顯著增加了用戶舒適度。更有益的是,通常必須在Web應(yīng)用中提供高用戶舒適度的應(yīng)用工程師只需查看由本發(fā)明工具生成的新門戶配置的建議,并可以選擇此類建議和將其安裝在門戶服務(wù)器處,或者他可以接受僅作為建i義的自動(dòng)生成的配置,并且可以根據(jù)他自己的"感覺"修改此建議。在這兩種選擇中,他都節(jié)省了大量的手動(dòng)工作。優(yōu)選地,將新的門戶配置存儲(chǔ)在存檔文件中,例如包括新門戶配置的所有人工制品的WAR文件或EAR文件或PAA文件中(參見以下網(wǎng)址以荻得參考m.ibm,websphere,base.doc/info/aes/isc/iscschema.html)。此類人工制品包括頁、portlet、EJB、JSP、HTML頁、圖像(例如GIF格式)等。然后,可以導(dǎo)出和/或才艮據(jù)標(biāo)準(zhǔn)處理進(jìn)一步處理此類存檔文件,以〗更可容易地用于在門戶服務(wù)器處安裝新的門戶配置。進(jìn)一步優(yōu)選地,將所述新的門戶配置存儲(chǔ)為XML文件。進(jìn)一步優(yōu)選地,本發(fā)明的方法使用自動(dòng)分析過程,此過程以類似圖形的結(jié)構(gòu)建立門戶配置的模型。在此,圖形結(jié)構(gòu)可以是顯示網(wǎng)格的網(wǎng),或者也可以是沒有網(wǎng)格的樹。在后一種情況中,節(jié)點(diǎn)是用作導(dǎo)航點(diǎn)、用作例如頁的對象,其中葉節(jié)點(diǎn)是在導(dǎo)航過程中用作目標(biāo)的對象。在本發(fā)明中,無需進(jìn)一步區(qū)別這些葉節(jié)點(diǎn)。葉節(jié)點(diǎn)的實(shí)例是portlet、圖像,以及通常存儲(chǔ)在文件系統(tǒng)上的在門戶應(yīng)用的運(yùn)行時(shí)期間不會(huì)更改的靜態(tài)資源。本發(fā)明通過實(shí)例的方式說明,并且不受附圖形狀的限制,這些附圖是圖l示出了用于現(xiàn)有技術(shù)方法的現(xiàn)有技術(shù)Web門戶硬件和軟件環(huán)境的最基本的結(jié)構(gòu)組件,圖2示出了用于現(xiàn)有技術(shù)方法的現(xiàn)有技術(shù)Web服務(wù)器環(huán)境的最基本的結(jié)構(gòu)組件,圖3A以交互圖示出了應(yīng)用服務(wù)器與門戶服務(wù)器之間的現(xiàn)有技術(shù)處理,圖3B是來自作為現(xiàn)有技術(shù)門戶(包括頁、portlet、主題和外觀)的表示的"XML訪問"XML文件的摘錄,圖4示出了由本發(fā)明方法的優(yōu)選實(shí)施例使用的本發(fā)明Web服務(wù)器環(huán)境(包括擴(kuò)展的門戶服務(wù)器)的最基本的結(jié)構(gòu)組件,圖5是示出了本發(fā)明方法的優(yōu)選實(shí)施例使用的數(shù)據(jù)的異步捕獲過程的示意性控制流程圖,圖6是示出了本發(fā)明方法的優(yōu)選實(shí)施例使用的數(shù)據(jù)的同步捕獲過程的示意性控制流程圖,圖7是示出了由本發(fā)明方法的優(yōu)選實(shí)施例使用的將交互數(shù)據(jù)應(yīng)用于門戶配置圖的過程的示意性控制流程圖,圖8是示出了由本發(fā)明方法的優(yōu)選實(shí)施例使用的將加權(quán)數(shù)據(jù)圖轉(zhuǎn)換為復(fù)合應(yīng)用的過程的示意性控制流程圖,圖9是示出了門戶的頁和portlet設(shè)置的圖形的示意性說明,圖IO是示出了圖形節(jié)點(diǎn)的樣例數(shù)據(jù)的表,圖ll是示出了當(dāng)針對表示為"HR"的特定用戶組分區(qū)時(shí)的門戶的頁和portlet設(shè)置的圖形的示意性說明,圖12(A、B、C)是與圖9的設(shè)置對應(yīng)的樣例頁和portlet設(shè)置的示意性選定XMLi方問表示,以及圖13是來自"HR"復(fù)合應(yīng)用的復(fù)合應(yīng)用定義的摘錄。具體實(shí)施例方式圖2和圖4之間的比較清晰地顯示了使用本發(fā)明方法時(shí)環(huán)境體系結(jié)構(gòu)的差異。本發(fā)明的方法主要在門戶服務(wù)器6內(nèi)的單個(gè)或多個(gè)程序模塊中實(shí)現(xiàn)。它需要功能接口,包括到前面提及的功能組件portlet容器14、聚合組件16、訪問控制17和門戶資源管理18的所有必需的API。本發(fā)明的自動(dòng)應(yīng)用組件410(進(jìn)一步縮寫為AAC)優(yōu)選地包括三個(gè)基本功能子組件,即1)自動(dòng)數(shù)據(jù)捕獲模塊24,2)自動(dòng)分析組件26,以及3)自動(dòng)門戶配置組件28。所有這些組件都具備接口以便訪問分析數(shù)據(jù)29,包括前面提及的存儲(chǔ)歷史用戶行為的記錄數(shù)據(jù)。接下來,將說明自動(dòng)數(shù)據(jù)捕獲模塊24的優(yōu)選實(shí)施方式的某些詳細(xì)信息,如下所示現(xiàn)有技術(shù)門戶通常包括事件監(jiān)視器,它至少在用戶行為觸發(fā)了由Web應(yīng)用服務(wù)器接收和處理的Web請求時(shí)跟蹤大多數(shù)用戶行為。例如,當(dāng)接收到請求時(shí),將跟蹤鏈接上的點(diǎn)擊?,F(xiàn)有技術(shù)監(jiān)視器將維護(hù)其中存儲(chǔ)了所有此類事件的日志文件。將跟蹤針對特定網(wǎng)站、特定portlet或者到任何其他所鏈接數(shù)據(jù)對象的特殊鏈接的這些請求。本發(fā)明的方法使用此現(xiàn)有技術(shù)跟蹤過程,并訪問相應(yīng)日志文件進(jìn)行讀取訪問,以便讀取所有的相關(guān)導(dǎo)航數(shù)據(jù)。從此事件數(shù)據(jù)集合,可以提取有關(guān)用戶行為的所有相關(guān)信息以便用于本發(fā)明。例如,如果存在足夠詳細(xì)的日志數(shù)據(jù)源,則本發(fā)明的方法將處理此數(shù)據(jù),但是如果不存在此類日志數(shù)據(jù)源,則本發(fā)明的方法僅本身偵聽這些事件并將相應(yīng)導(dǎo)航數(shù)據(jù)存儲(chǔ)在其自己的數(shù)據(jù)存儲(chǔ)中。特定日志內(nèi)容可以是以下數(shù)據(jù)事件的時(shí)間、用戶的用戶ID或IP地址、地址資源,例如門戶頁、portlet、圖像、HTML頁。此外,本發(fā)明的自動(dòng)數(shù)據(jù)捕獲模塊24(無論是通過事件偵聽器同步工作還是通過分析日志異步工作)將檢查用戶ID是否有用,通過例如URL分析來分析尋址的資源等。對于本發(fā)明,數(shù)據(jù)收集過程是在現(xiàn)有技術(shù)操作處理內(nèi)還是在現(xiàn)有技術(shù)呈現(xiàn)步驟內(nèi)執(zhí)行無關(guān)緊要,只要數(shù)據(jù)被正確收集,并且可選地與用戶ID或用戶組ID(如果存在)具有正確的關(guān)系即可。通過作為事件收集的一部分再次參考圖5,將在下面更詳細(xì)地說明用戶交互的異步數(shù)據(jù)捕獲過程為了自動(dòng)生成復(fù)合應(yīng)用定義,需要收集說明與門戶及其資源的用戶交互的最初數(shù)據(jù)。當(dāng)捕獲有關(guān)用戶交互的信息時(shí),此后的基本過程是分析日志文件。因?yàn)槿罩疚募嬖谟谄渲幸东@的數(shù)據(jù)之前,所以這表示為"異步"??梢允褂梅?wù)器或其基礎(chǔ)結(jié)構(gòu)生成的任何日志文件。來自審計(jì)或站點(diǎn)分析組件的日志尤其適合。以下是來自現(xiàn)有技術(shù)的IBMWebSpherePortal站點(diǎn)分析日志的實(shí)例9.37.3.88—customer10/Apr/2002:21:33:16+0000"GET/Portlet/146/Welcome_PortletPortletPID=146&PortletMode=View&PortIetState=NormalHTTP/l.l"200-1"http:〃myserver.company,com/Page/110/Welcome"Mozilla/4.0(compatible;MSIE5.5;WindowsNT4.0)""JSESSIONID-OXDFAPVR2SXYZOIHSLVGA4Y"此站點(diǎn)分析日志使用NCSA組合的日志格式,這是NCSA公共日志格式以及三個(gè)其他字段(引用方字段、用戶代理字段和cookie字段)的組合。優(yōu)選的建議數(shù)據(jù)捕獲組件可以使用這些日志。圖5的控制流程說明了一種備選操作(即異步數(shù)據(jù)捕獲)的基本步驟控制流程在一組日志上重復(fù)(步驟510、515);對于每個(gè)日志,它重復(fù)其表項(xiàng)(步驟520)。將分析每個(gè)表項(xiàng)并提擬目關(guān)的交互準(zhǔn)則(步驟530)。此數(shù)據(jù)例如可以是交互發(fā)生的時(shí)間,或者是對資源執(zhí)行交互的用戶以及執(zhí)行的操作類型。然后例如在永久性存儲(chǔ)中(例如在數(shù)據(jù)庫中)或者僅在存儲(chǔ)器中記錄準(zhǔn)則(步驟540)。當(dāng)所有日志的所有表項(xiàng)都完全被重復(fù)時(shí),將輸出所記錄的準(zhǔn)則信息(步驟550)。數(shù)據(jù)捕獲組件還可以使用上述的事件通信層,而不是分析已寫入到日志的信息,參見圖6以及圖3。在此備選處理才莫式中,數(shù)據(jù)捕獲同步發(fā)生,即在交互出現(xiàn)時(shí)發(fā)生。組件將等待它所感興趣的事件,參見步驟610、620。如果事件發(fā)生,將接收此事件(步驟630)。事件將攜帶類似于可在日志中找到的信息。從事件信息中提擬目關(guān)的交互準(zhǔn)則(步驟640)。這些信息例如可以是交互發(fā)生的時(shí)間、對資源執(zhí)行交互的用戶以及執(zhí)行的操作類型。然后例如在永久性存儲(chǔ)(數(shù)據(jù)庫)中或者僅在存儲(chǔ)器中記錄準(zhǔn)則(步驟650)。一旦告知組件停止偵聽事件,它就輸出記錄的準(zhǔn)則信息(步驟660)。構(gòu)建數(shù)據(jù)圖門戶配置可以表示為代表資源及其關(guān)系的圖形??梢允褂铆h(huán)境的所有人工制品,例如頁、portlet、頁線、EJB、JSP等。將各個(gè)資源表示為圖形節(jié)點(diǎn),并且將資源之間的關(guān)系表示為邊緣。優(yōu)選地將邊緣或節(jié)點(diǎn)加權(quán)。節(jié)點(diǎn)權(quán)重可以包括代表資源使用頻率、定制/修改頻率等的統(tǒng)計(jì)信息。參考圖7,數(shù)據(jù)捕獲組件的輸出現(xiàn)在由圖4中所示的分析組件26處理,并且將準(zhǔn)則數(shù)據(jù)應(yīng)用到整個(gè)配置圖首先,讀取完整的門戶配置信息并根據(jù)此信息構(gòu)建數(shù)據(jù)圖(步驟710)。然后重復(fù)在數(shù)據(jù)捕獲組件中創(chuàng)建的準(zhǔn)則數(shù)據(jù)以進(jìn)行分配(步驟720)。具體地說,將每個(gè)準(zhǔn)則的信息分配給數(shù)據(jù)圖的適合元素作為權(quán)重,其中可以將加權(quán)應(yīng)用到圖形的節(jié)點(diǎn)或邊緣(步驟730、740)。一旦將所有準(zhǔn)則分配給數(shù)據(jù)圖,此組件就輸出加M的數(shù)據(jù)圖(步驟750)。轉(zhuǎn)換和輸出如上所述構(gòu)建的加權(quán)后的數(shù)據(jù)圖將形成轉(zhuǎn)換和輸出組件的輸入。參考圖8,上述門戶配置組件28將通過圖形算法轉(zhuǎn)換圖形以形成新的圖形。這些新的圖形將形成復(fù)合應(yīng)用定義的基礎(chǔ),如下所示將加權(quán)后的數(shù)據(jù)圖作為輸入之后,將應(yīng)用一組圖形算法(步驟810),從而產(chǎn)生一組轉(zhuǎn)換后的圖形。將每個(gè)圖形(參見步驟820、830)轉(zhuǎn)換為復(fù)合應(yīng)用定義(參見步驟840),例如轉(zhuǎn)換為IBMWebSpherePortal"門戶應(yīng)用存檔"(PAA)格式,然后輸出(參見步驟850)以作為轉(zhuǎn)換組件的結(jié)果。通過使用一個(gè)或多個(gè)對圖形進(jìn)行分區(qū)的算法獲得轉(zhuǎn)換輸出圖。通過將現(xiàn)有節(jié)點(diǎn)和邊緣限定為"所需的"或"非所需的"(通過將權(quán)重與閾值級別進(jìn)行比較的分級系統(tǒng))來對輸入圖分區(qū)。輸出圖將僅包含"所需的"節(jié)點(diǎn)和邊緣。可以使用不同的閾值級別重復(fù)這些步驟,以獲得與特定用例相關(guān)的不同輸出圖。在一個(gè)優(yōu)選實(shí)施例中,將使用在以下實(shí)例中列出的簡單算法。實(shí)例公司使用門戶為其員工提供內(nèi)部服務(wù)。為此,門戶管理員手動(dòng)設(shè)置門戶。他們將部署一組購買或內(nèi)部開發(fā)的portlet以便提供服務(wù)。存在以下portlet:*員工目錄portlet爭貨幣計(jì)算器portlet旅行預(yù)訂portlet*幫助臺(tái)portlet*站點(diǎn)搜索portlet*旅行費(fèi)用記賬portlet圖9示出了如何將這些portlet放置在一組頁上(另請參見圖12),以用于此信息的示例表示(采用IBMWebSpherePortal的XML訪問格式)上圖中的圖形包括兩種節(jié)點(diǎn)n!':頁()和portlet(pi')。頁與portlet之間的關(guān)系通過邊緣(e/)表示??梢詾楣?jié)點(diǎn)或邊緣分配權(quán)重,其中節(jié)點(diǎn)的權(quán)重例如可以從門戶系統(tǒng)的分析或?qū)徲?jì)組件來檢索;在此實(shí)例中,僅節(jié)點(diǎn)具有權(quán)重,并且權(quán)重W應(yīng)定義為每個(gè)用戶組的l吏用頻率(給定一組用戶組&):,W(iu')=(fgl,.."fgn)本發(fā)明的系統(tǒng)使用現(xiàn)有技術(shù)圖形評估算法來評估圖形,并基于此分析創(chuàng)建新的圖形,所迷新的圖形則代表新的復(fù)合應(yīng)用定義。在此實(shí)例中,針對不同的用戶組分析節(jié)點(diǎn)的權(quán)重顯示了某些節(jié)點(diǎn)由特定用戶組使用。例如,來自"HR"用戶組的用戶通常使用信息頁的員工目錄portlet,但是他們很少使用旅行預(yù)訂portlet或旅行費(fèi)用portlet。另一方面,"manager"用戶組中的用戶經(jīng)常使用旅^^訂和旅行費(fèi)用portlet。貨幣計(jì)算器很少使用,例如因?yàn)楣綹EU內(nèi)部運(yùn)行,其中EU內(nèi)部業(yè)務(wù)交易或旅行不需要貨幣計(jì)算。幫助臺(tái)portlet在所有用戶組中以相同程度^皮使用。圖10的表包含用于圖9中所示圖形的節(jié)點(diǎn)的樣例數(shù)據(jù)。在優(yōu)選實(shí)施例中,本發(fā)明的自動(dòng)應(yīng)用組件的轉(zhuǎn)換模塊使用以偽代碼描述的以下算法來確定輸出圖main():<table>tableseeoriginaldocumentpage15</column></row><table>endfor主循環(huán)遍歷所有用戶組,并將每個(gè)用戶組的加權(quán)后的輸入圖進(jìn)行分區(qū)。Transform(w.i.g.):<table>complextableseeoriginaldocumentpage16</column></row><table>轉(zhuǎn)換功能檢查輸入圖的根節(jié)點(diǎn)的權(quán)重是否可以接受。如果是,則將節(jié)點(diǎn)放置到輸出圖中,并通過針對由每個(gè)子節(jié)點(diǎn)定義的每個(gè)子樹遞歸調(diào)用所述轉(zhuǎn)換來分析節(jié)點(diǎn)的所有子節(jié)點(diǎn)。最后返回輸出圖。根據(jù)相應(yīng)的應(yīng)用,可以對轉(zhuǎn)換結(jié)果進(jìn)行后處理以避免圖形中出現(xiàn)無意義的節(jié)點(diǎn),例如,可能不希望輸出其上沒有portlet的頁。將此算法應(yīng)用到圖10中所示的HR組閾值為33%的數(shù)據(jù)會(huì)將對圖形進(jìn)^f亍分區(qū),如圖11中所示。所有用戶組的分區(qū)將導(dǎo)致如下所示的復(fù)合應(yīng)用建議,其中例如復(fù)合應(yīng)用HR包括門戶資源P1、P2、P3、pl、p2、p6、el、e3、e4、e5、e9等:<table>complextableseeoriginaldocumentpage16</column></row><table>CompositeApplication(Mgr)=({Pl,P2,P3,P4,P5,p2p4,p5,p6},{e2,e3,e5,e7,e8,e9,el0},.,.)生成的復(fù)合應(yīng)用被導(dǎo)出為外部表示,優(yōu)選地為例如PAA的存檔文件。圖12A/B/C中示出了"HR復(fù)合應(yīng)用,,的PAA表示的實(shí)例。為了披露更多的細(xì)節(jié),圖13A/B顯示了來自"HR復(fù)合應(yīng)用,,的復(fù)合應(yīng)用定義的摘錄。PAA文件(或復(fù)合應(yīng)用的其他外部表示)可以被導(dǎo)入其他門戶。在此,PAA可用于遠(yuǎn)程門戶,例如通過在共享文件系統(tǒng)上提供PAA或者通過電子郵件分發(fā)PAA。導(dǎo)入復(fù)合應(yīng)用的過程可以由管理員手動(dòng)執(zhí)行,也可以由計(jì)算機(jī)程序自動(dòng)執(zhí)行。概括地說,本發(fā)明的方法和系統(tǒng)允許自動(dòng)定義包含與一個(gè)用戶、一組用戶或多組用戶相關(guān)的所有門戶資源的復(fù)合應(yīng)用。這允許在多個(gè)門戶之間容易地分配用戶組特定的功能。本發(fā)明可以采取完全硬件實(shí)施例、完全軟件實(shí)施例或同時(shí)包含硬件和軟件元素的實(shí)施例的形式。在優(yōu)選實(shí)施例中,本發(fā)明以軟件來實(shí)現(xiàn),所述軟件包括但不限于固件、駐留軟件、微代碼等。此外,本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供了可以被計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合的程序代碼。出于此描述的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠包含、存儲(chǔ)、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的裝置所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)盤、隨*取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、硬磁盤和光盤。光盤的當(dāng)前實(shí)例包括光盤-只讀存儲(chǔ)器(CD-ROM)、光盤-讀/寫(CR-R/W)和腸。適合于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)通過系統(tǒng)總線直接或間接連接到存儲(chǔ)器元件的處理器。所述存儲(chǔ)器元件可以包括在程序代碼的實(shí)際執(zhí)行期間采用的本地存儲(chǔ)器、大容量存儲(chǔ)裝置以及提供至少某些程序代碼的臨時(shí)存儲(chǔ)以減少必須在執(zhí)行期間從大容量存儲(chǔ)裝置檢索代碼的次數(shù)的高速緩沖存儲(chǔ)器。輸入/輸出或1/0設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以直接或通過中間1/0控制器與系統(tǒng)相連。網(wǎng)絡(luò)適配器也可以被連接到系統(tǒng)以使所述數(shù)據(jù)處理系統(tǒng)能夠通過中間調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡只是幾種當(dāng)前可用的網(wǎng)絡(luò)適配器類型。權(quán)利要求1.一種在基于Web的門戶環(huán)境中配置應(yīng)用的方法,其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建復(fù)合門戶應(yīng)用,所述方法的特征在于以下步驟a)自動(dòng)捕獲和存儲(chǔ)用戶瀏覽導(dǎo)航數(shù)據(jù),c)讀取(710)與用戶瀏覽的門戶對應(yīng)的門戶配置數(shù)據(jù),d)根據(jù)一組預(yù)定準(zhǔn)則來自動(dòng)分析(720、740)所述配置數(shù)據(jù)和所述存儲(chǔ)的瀏覽導(dǎo)航數(shù)據(jù),e)根據(jù)所述自動(dòng)分析的結(jié)果來自動(dòng)生成(810)配置數(shù)據(jù),f)從所述配置數(shù)據(jù)創(chuàng)建(840)新的復(fù)合門戶應(yīng)用的表示(850),所述應(yīng)用包括通常由用戶或用戶組瀏覽的應(yīng)用部分。2.根據(jù)權(quán)利要求l的方法,其中所述捕獲用戶瀏覽導(dǎo)航數(shù)據(jù)的步驟包括a)自動(dòng)跟蹤(530;640)在瀏覽現(xiàn)有網(wǎng)站門戶時(shí)由用戶操作觸發(fā)的事件,以及b)在數(shù)據(jù)存儲(chǔ)中記錄(540;650)所述事件。3.根據(jù)權(quán)利要求2的方法,其中與所述事件的發(fā)生異步地執(zhí)行所述跟蹤事件的步驟a)。4.根據(jù)權(quán)利要求l的方法,其中所述捕獲用戶瀏覽導(dǎo)航數(shù)據(jù)的步驟包括W目應(yīng)日志文件中自動(dòng)讀取記錄的用戶瀏覽導(dǎo)航數(shù)據(jù)。5.根據(jù)權(quán)利要求2的方法,其中與所述事件的發(fā)生同步地執(zhí)行所述跟蹤事件的步驟a)。6.根據(jù)權(quán)利要求l的方法,其中所述門戶配置基于圖形表示,并且其中根據(jù)導(dǎo)航到圖形節(jié)點(diǎn)的頻率來完成對所述節(jié)點(diǎn)的加權(quán)。7.根據(jù)權(quán)利要求l的方法,其中所述門戶配置基于圖形表示,并且其中根據(jù)沿圖形邊緣導(dǎo)航的頻率來完成對所述邊緣的加權(quán)。8.根據(jù)權(quán)利要求l的方法,其中所述預(yù)定準(zhǔn)則包括節(jié)點(diǎn)在網(wǎng)頁上的位置、節(jié)點(diǎn)的頂部/底部排列,以及所述復(fù)合應(yīng)用的不同部分之間的距離。9.一種在基于Web的門戶環(huán)境中配置應(yīng)用的計(jì)算機(jī)系統(tǒng),其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建復(fù)合門戶應(yīng)用,所述系統(tǒng)的特征在于實(shí)現(xiàn)功能程序組件(24、26、28)以便執(zhí)行根據(jù)權(quán)利要求1的方法的步驟a)到f)。10.—種在數(shù)據(jù)處理系統(tǒng)中執(zhí)行以便在基于Web的門戶環(huán)境中配置應(yīng)用的計(jì)算機(jī)程序,其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建包括功能組件(24、26、28)的復(fù)合門戶應(yīng)用,以便在計(jì)算機(jī)上執(zhí)行所述計(jì)算機(jī)程序時(shí)執(zhí)行權(quán)利要求1的步驟a)到f)。全文摘要本發(fā)明涉及網(wǎng)絡(luò)計(jì)算領(lǐng)域,更具體地說,涉及在基于Web的環(huán)境中配置門戶應(yīng)用的方法和系統(tǒng),其中在門戶上組合多個(gè)應(yīng)用部分以構(gòu)建復(fù)合應(yīng)用。為了提供自動(dòng)配置復(fù)合門戶應(yīng)用的方法和系統(tǒng),以減少應(yīng)用開發(fā)人員的人工工作,同時(shí)生成更加用戶友好的門戶,建議執(zhí)行以下步驟a)自動(dòng)捕獲和存儲(chǔ)用戶瀏覽導(dǎo)航數(shù)據(jù),c)讀取(710)與用戶瀏覽的門戶對應(yīng)的門戶配置數(shù)據(jù),d)根據(jù)一組預(yù)定準(zhǔn)則來自動(dòng)分析(720、740)所述配置數(shù)據(jù)和所述存儲(chǔ)的瀏覽導(dǎo)航數(shù)據(jù),e)根據(jù)所述自動(dòng)分析的結(jié)果來自動(dòng)生成(810)配置數(shù)據(jù),f)從所述配置數(shù)據(jù)創(chuàng)建(840)新的復(fù)合門戶應(yīng)用的表示(850),所述應(yīng)用包括通常由用戶或用戶組瀏覽的應(yīng)用部分。文檔編號G06F9/44GK101187868SQ20071016925公開日2008年5月28日申請日期2007年11月7日優(yōu)先權(quán)日2006年11月23日發(fā)明者J·恩格豪森,J-B·若雷,T·庫斯毛爾申請人:國際商業(yè)機(jī)器公司