專利名稱::用于內容觀看器portlet的系統、方法和程序產品的制作方法
技術領域:
:本發明涉及用于內容觀看器portlet的系統、方法和計算機程序產品。更具體地說,本發明涉及用于從可能被安裝在任何期望的門戶網站中的內容觀看器portlet模板中創建定制的內容觀看器portlet的系統、方法和計算機程序產品。
背景技術:
:門戶或者門戶網站處于今天網絡技術的前沿而且是下一代的桌面。門戶網站可能具有顯示諸如新聞、搜索引擎之類的內容項的一個或者多個portlet。Portlet是能夠被安裝到其他門戶網站中的可移動的(portable)構建塊或者網絡部件。通常通過不同的內容管理系統來管理在這種portlet中顯示的內容項目。因此,開發人員每次想要創建用于門戶網站的新portlet就必須從零開始創建portlet應用程序以便連能夠接到在用于給定項目的這種內容管理系統中所管理的內容項。同樣地,開發這種portlet應用程序可能是非常復雜的、而且要耗費很多勞動。而且,開發這種portlet應用程序可能要消耗很多時間而且非常昂貴。再者,如果開發人員具有不同水平的技術組合(skillset),則可能導致用不同方法來創建portlet應用程序,從而影響這些portlet的質量。
發明內容本發明的第一方面是提供用于從內容觀看器portlet模板中創建定制的內容觀看器portlet的系統。該系統包括工作臺(workbench)和導入到該工作臺的內容觀看器portlet模板。將內容觀看器portlet模板的不變接口部件配置為連接到后臺內容管理系統并且從該后臺內容管理系統檢索所請求的數據。用具有在多個內容管理區域中與外部分類法關聯的內部計算表示的模型部件,將內容觀看器portlet模板的模型部件耦合到不變接口部件。模型部件將從后臺內容管理系統中檢索到的所請求的數據合并到數據bean的當前組中。將內容觀看器portlet模板的展示部件耦合到模型部件。將展示部件進行配置以檢索被合并到模型部件中的所請求的數據并且顯示作為一個或多個內容項而被檢索的所請求的數據。進而,在將控制器部件配置為響應于用戶請求調用要由不變接口部件和展示部件中的每一個所執行的多個方法的情況下,將內容觀看器portlet模板的內容觀看器的控制器部件耦合到不變接口部件和展示部件中的每一個,從而將內容觀看器portlet模板轉變為可以被安裝到所需要的門戶中的定制的內容觀看器portlet。最好,控制器部件確定模型部件是否具有與用戶請求相關的所請求的數據,而且如果模型部件具有這樣的所請求的數據,則控制器部件調用要由展示部件所執行的多個方法之一,以從模型部件中檢索所請求的數據,而且將作為一個或多個內容項而檢索的所請求的數據進行顯示,以及如果模型部件不具有與用戶請求相關的所請求的數據,則控制器調用要由不變接口部件執行的多個方法中的另外一個以從后臺內容管理系統中檢索所請求的數據,而且將所請求的數據存儲在模型部件中。內容觀看器portlet模板的展示部件最好包括具有多個參數的配置頁面,可以將所述多個參數進行修改以將內容觀看器portlet模板進行定制從而安裝到所期望的門戶中。更好的情況是,內容觀看器portlet模板的控制器部件包括用于對異常(exception)進行處理并以多種語言顯示錯誤信息的異常類(class),以及用于在一個或多個日志文件中顯示調試消息的日志記錄接口。在優選實施方式中,從后臺內容管理系統中檢索的所請求的數據包括子概念(sub-concept)和文件,而且不變接口部件將從后臺內容管理系統檢索來的所請求的數據轉換為數據bean的新的組并且將該數據bean的新的組存儲在模型部件中。模型部件合并該數據bean的新的組到數據bean的當前組中以存儲從后臺內容管理系統中檢索來的所請求的數據,而且其中數據bean的當前和新的組中的每一個都包括類別數據bean和文檔數據bean。最好,展示部件執行多個JavaServerPage(JSP)文件以顯示作為一個或多個內容項所檢索的所請求的數據,其中可以將內容觀看器portlet模板的展示部件的多個JSP文件中的一個或多個進行修改,從而在所期望的門戶中以特定格式顯示一個或多個內容項。進而,如果期望操作的特定模式來將內容觀看器應用程序模板開發為定制的內容觀看器應用程序,則對內容觀看器應用程序模板的控制器部件的一個或多個代碼進行修改。在優選實施方式中,后臺內容管理系統包括下面之一關系數據庫和文件系統。在本發明的另一個方面中,提供一種用于從準備好被安裝到所期望的門戶的內容觀看器portlet模板中得出定制的內容觀看器portlet的方法。該方法包括步驟將內容觀看器portlet模板導入工作臺;實施內容觀看器portlet模板的不變接口以連接到不同的后臺內容管理系統并且從該系統檢索數據;根據從不同后臺內容管理系統中檢索的數據對在內容觀看器portlet模板的模型部件中存儲的數據bean的當前組進行修改;如果需要所期望的格式來在所期望的門戶中顯示內容項,則對內容觀看器portlet模板的展示部件進行修改;以及如果對于定制的內容觀看器portlet模板需要操作的特定模式,則對內容觀看器portlet模板的控制器部件進行修改,從而定制的內容觀看器portlet準備好被安裝到所期望的門戶中。導入步驟包括提供內容觀看器portlet模板,該模板包括用于對顯示內容項的多個參數進行修改的配置頁面、用于在一個或多個日志文件中顯示調試消息的日志記錄接口、以及用于對異常進行處理和以多種語言顯示錯誤消息的異常類。實施步驟包括步驟檢索在不同后臺內容管理系統中所存儲的數據;將所檢索的數據轉換為數據bean的新的組;以及將數據bean的新的組存儲在模型部件中。在模型部件中對數據bean的當前組進行修改的步驟包括步驟將數據bean的新的組合并到數據bean的當前組中,和將數據bean的新的組存儲在模型部件中。不同內容管理系統包括下面之一關系數據庫和文件系統。在本發明的再一個方面中,提供用于從內容觀看器portlet模板中創建定制的內容觀看器portlet以安裝到所期望的門戶中的計算機程序產品。該計算機程序產品包括計算機可讀介質;第一程序指令,用于實施內容觀看器portlet模板的不變接口部件以從后臺內容管理系統中檢索數據;第二程序指令,用于對內容觀看器portlet模板的模型部件中所存儲的數據bean的當前組進行修改,以合并從后臺內容管理系統中檢索到的數據;第三程序指令,如果當將定制的內容觀看器portlet安裝在所期望的門戶中時希望特定格式來在所期望的門戶中顯示內容項,則第三程序指令修改內容觀看器portlet模板的展示部件。該計算機程序產品還包括第四程序指令,如果當把定制的內容觀看器portlet安裝到所期望的門戶時希望操作的特定模式,則第四程序指令修改內容觀看器portlet模板的控制器部件。最好,將第一、第二、第三和第四程序指令存儲在介質上。最好,第一程序指令包括用于將內容觀看器portlet模板導入工作臺以創建定制的內容觀看器portlet的指令。而且,第一程序指令包括用于將數據轉換為數據bean的新的組并且將數據bean的新的組存儲在模型部件中的指令。而且,第二程序指令包括用于將數據bean的新的組合并到數據bean的當前組以存儲在模型部件中的指令。最好,后臺內容管理系統包括下面之一關系數據庫和文件系統。合并在說明書中并且形成說明書的一部分的附圖與說明書一起解釋本發明的實施方式,并且起到解釋本發明的原理的作用,其中圖1示出了根據本發明的實施方式的內容觀看器portlet的示意框圖;圖2示出了根據本發明的實施方式,從被安裝到門戶網站的內容觀看器portlet模板中創建一個或多個定制的內容觀看器portlet的示意框圖;圖3示出了根據本發明的實施方式的內容觀看器portlet模板的示意框圖;圖4示出了根據本發明的實施方式的內容管理系統的分類樹狀結構的示意框圖;圖5示出了根據本發明的實施方式,與在內容管理系統中所使用的分類樹狀結構相關的內容觀看器portlet的模型部件的內部計算表示的另一種構成的示意框圖;圖6示出了根據本發明的實施方式,內容觀看器portlet的不變接口部件可以連接至的不同類型的內容管理系統的示意框圖;圖7示出了根據本發明的實施方式,用于連接到內容管理系統的內容觀看器portlet的不變接口部件的不同元件的框圖;圖8示出了根據本發明的實施方式,帶有通過內容觀看器portlet的展示部件所顯示的內容項的顯示頁面的示意框圖;和圖9示出了根據本發明的實施方式,將內容觀看器portlet模板開發為定制的內容觀看器portlet的方法的流程圖。具體實施例方式對本領域的普通技術人員很明顯,在不偏離本發明的精神和范圍的情況下,可以對本發明進行各種修改和變形。因此,本發明試圖覆蓋在所附權利要求及其等效物的范圍內所提供的本發明的修改和變形。現在將詳細地參照本發明的在一種實施方式中,本發明提供用于從內容觀看器portlet模板中創建定制的內容觀看器portlet,從而將內容觀看器portlet模板轉變為被設計為安裝到所期望的門戶網站中的定制內容觀看器portlet的系統。該系統包括工作臺和被導入到該工作臺的內容觀看器portlet模板。最好,工作臺是用于使用內容觀看器portlet模板來創建、調試和建立內容觀看器portlet的計算機開發工具。在優選實施方式中,內容觀看器portlet模板包括不變接口部件、模型部件、展示部件和控制器部件。將內容觀看器portlet模板的控制器部件耦合到不變接口部件和展示部件,而且將內容觀看器portlet模板的模型部件耦合到不變接口部件。最好,將控制器部件配置為接收用戶請求,并且配置為響應于用戶請求來調用要由不變接口部件或者展示部件所執行的多個方法或者可執行代碼。在優選實施方式中,將內容觀看器portlet模板的不變接口部件配置為連接到后臺內容管理系統并且從后臺內容管理系統檢索所請求的數據。最好,內容觀看器portlet模板的模型部件具有與多個內容管理區域中的外部分類法相關的內部計算表示。更好的情況是,在模型部件中的內部計算表示包括數據bean的當前組,從而模型部件能夠將從后臺內容管理系統中由不變接口部件檢索到的所請求的數據合并到數據bean的當前組中。最好,模型部件將數據bean的新的組合并到數據bean的當前組中,從而將從后臺內容管理系統中檢索到的所請求的數據存儲在模型部件內。而且,將耦合到模型部件的內容觀看器portlet模板的展示部件進行配置,以響應于用戶請求來檢索已經被合并到模型部件中的所請求的數據,而且將展示部件進行配置以在安裝的時候在所期望的門戶網站中顯示作為一個或多個內容項而檢索到的所請求的數據。因此,內容觀看器portlet模板的獨立部件的配置允許被設計來安裝在所期望的門戶網站中的定制的內容觀看器portlet的創建,并且可以連接到所期望的后臺內容管理系統(CMS)。最好,內容觀看器portlet模板還包括用于對異常進行處理并且以多種語言顯示錯誤消息的異常類,以及用于在一個或多個日志文件中顯示調試消息的日志記錄接口。在優選實施方式中,內容觀看器portlet模板的展示部件還包括具有多個參數的配置頁面,可以將所述多個參數進行修改以將內容觀看器portlet模板定制為用于安裝到所期望的門戶中。最好,展示部件包括多個JavaServerPage(JAP)文件,從而展示部件執行多個JavaServerPage(JAP)文件來顯示作為一個或多個內容項而檢索到的所請求的數據。更好的情況是,可以將內容觀看器portlet模板的展示部件的多個JSP文件中的任何一個或多個進行修改,以在所期望的門戶中以特定格式顯示一個或多個內容項。而且,如果需要操作的特定模式來將內容觀看器應用程序模板開發為定制的內容觀看器應用程序,則可以修改內容觀看器應用程序模板的控制器部件的一個或多個代碼。如在這里所使用的,術語“內容管理系統”是指用于管理內容的后臺軟件產品。而且,術語“portlet”是指在門戶網站的區域內所顯示的信息或者內容項。更具體地說,portlet是門戶網站的部件,而且是在門戶服務器上運行的較小的網絡應用程序。因此,門戶網站可以不具有或者具有一個或許多這種portlet。如果門戶具有多于一個的portle,則根據商業需要,這些portlet可以連接到相同的內容管理系統,也可以連接到不同的內容管理系統。術語“內容觀看器portlet”或者“定制的內容觀看器portlet”用于指示從內容觀看器portlet模板中得出、開發或者創建的定制的內容觀看器portlet,其被設計來幫助安裝到門戶網站中以在portlet中顯示內容。具體地說,需要內容觀看器portlet來從后臺內容管理系統中訪問內容,并且在門戶內的portlet中顯示內容。而且,這里使用術語“內容觀看器portlet模板”或者“可定制的內容觀看器portlet模板”來指示用于當創建新portlet時得出、創建或者開發被準備好安裝到所期望的門戶網站的定制的內容觀看器portlet的通用的或者可定制的內容觀看器portlet模板。此外,術語“所期望的門戶”或者“所期望的門戶站”或者“所期望的門戶網站”用于指示連接到特定后臺內容管理系統并且位于特定門戶服務器(最好是諸如可以通過商業途徑從國際商用機器公司(IBM)得到的WebSphere門戶服務器之類的商業上可用的門戶服務器)上的特定門戶網站。而且,如在這里所使用的,術語“所請求的數據”用于指示在門戶網站中由用戶所請求的數據。而且,如在這里所使用的,術語“類別數據bean”用于指示包括與內容管理系統中的類別對應的信息或者數據的JavaBean,而術語“文檔數據bean”用于指示包含與內容管理系統中的一個或多個類別相關聯的文檔對應的信息和數據的JavaBean。最后,如在這里所使用的,術語“數據bean的當前組”指示在模型部件中已經存在的數據bean,而術語“數據bean的新的組”指示從內容管理系統中檢索到的并且存儲在模型部件中的數據。現在參照圖1。圖1示出了由應用程序服務器102、門戶服務器104和門戶網站106組成的內容觀看器portlet系統或者基礎設施100。門戶網站106具有用附圖標記108指示的內容觀看器portlet1、用附圖標記110指示的內容觀看器portlet2、一直到用附圖標記112指示的內容觀看器portletM。根據所請求的內容項,可以將用戶請求從網絡客戶端118傳送到內容觀看器portlet1、內容觀看器portlet2或者內容觀看器portletM的控制器部件。而且,可以將對應的用戶應答從內容觀看器portlet1、內容觀看器portlet2或者內容觀看器portletM的展示部件進行傳送。如圖1中所示,可以將內容觀看器portlet1和內容觀看器portlet2都配置為連接到由附圖標記114所指示的內容管理系統(CMS1),而將內容觀看器portletM配置為連接到由附圖標記116所指示的內容管理系統(CMS2)。具體地說,內容觀看器portlet1、內容觀看器portlet2或內容觀看器portletM的不變接口部件與相應內容管理系統CMS1和/或CMS2進行對接或者連接。參照圖1中的以附圖標記108指示的內容觀看器portlet1,控制器部件108a耦合或者鏈接到展示部件108b和不變接口部件108c。展示部件108b耦合到模型部件108d。而且,不變接口部件108c耦合到模型部件108d。下面將關于圖3對這四個部件之間的關系進行解釋。然而,轉到圖2,圖2示出了用于從安裝到門戶網站的內容觀看器portlet模板中創建一個或多個定制的內容觀看器portlet的系統200。具體地說,想要創建內容觀看器portlet的開發人員從導入到工作臺204的內容觀看器portlet模板202開始。開發人員開發新代碼和/或修改內容觀看器portlet模板的現有代碼,從而根據開發人員想要創建的內容觀看器portlet的具體要求可以從內容觀看器portlet模板中創建一個或多個定制的內容觀看器portlet。如圖2中所示,開發人員已經創建了三個內容觀看器portlet,即由附圖標記206指示的內容觀看器portlet1、由附圖標記208指示的內容觀看器portlet2和由附圖標記210指示的內容觀看器portlet3。在開發人員已經創建了內容觀看器portlet206、208和210之后,可以將內容觀看器portlet作為(由附圖標記214、216和218指示的)portlet安裝到由附圖表解212指示的、位于(在圖2中未示出的)門戶服務器上的門戶網站中。轉到圖3,圖3示出了內容觀看器portlet模板300。如圖3所示,內容觀看器portlet模板300包括控制器部件302,其直接耦合或者鏈接到不變接口部件304和展示部件308兩者。而且,展示部件308耦合到模型部件306,而不變接口部件304耦合到模型部件306。當在portlet中作出關于所請求的數據的用戶請求時(通過到來箭頭301示出),控制器部件302通過展示部件308確定是否可以獲得所請求的數據或者所請求的數據是否已經存儲在模型部件306中了。具體地說,控制器部件302調用要由展示部件308執行的多個方法或者程序代碼之一,以確定模型部件306是否已經存儲了所請求的數據,而且如果是這樣的話,從模板部件306中檢索所請求的數據。而且,展示部件308通過將從模型部件306中檢索到的所請求的數據作為一個或多個內容項進行顯示來進行響應(由向外箭頭309顯示)。相反地,如果控制器部件302通過展示部件308確定模型部件306不包括與用戶請求有關的所請求的數據,則控制器部件302調用要由不變接口部件304執行的多個方法或者程序代碼中的另一個,從而能夠連接到后臺內容管理系統(在圖3中未示出)并且從該系統中檢索與所請求的數據有關的信息(如雙箭頭310所示)。不變接口部件304檢索用于所請求的數據的適當信息并且將所請求的數據存儲在模型部件306中。如上所述,模型部件具有與多個內容管理區域中的外部分類法關聯的內部計算表示。具體地說,分類法表示用以將信息轉換為被組織好并且直觀的分類方式。通常,將分類法表示為諸如圖4中所示的分類樹狀結構400之類的樹狀結構。內容管理系統具有分類樹的實現以將不同的想法進行分類并且對內容項進行組織,從而可以從內容管理系統對信息進行訪問。類似地,在現實世界中的概念與分類樹中的類別對應,其通過主或者父節點表示。而且,可以將給定概念精練或者進一步劃分為子概念。將源于概念的每個子概念表示為子節點并且在分類樹中稱為子類別。進而,根據這些概念將內容管理系統中的內容項進行分類并且稱為分類樹中的文檔,而且其中文檔于分類樹中的一個或多個類別關聯。因此,每個類別數據bean是分類樹的類別的計算表示和現實世界中的概念,而文檔數據bean是分類樹的文檔的計算表示和現實世界中的文件。在內容管理系統中,將每個文檔當作內容項,而且將文檔的集合稱為多個內容項。參照圖4,分類樹的節點402表示現實世界中的概念,其分類樹400中將其稱為類別1。進而,如圖4中所示,進一步將類別1分割為子類別,即類別11(以附圖標記404表示)、類別12(以附圖標記410表示)和類別121(以附圖標記416表示)。將用于類別11(以附圖標記404表示)的內容項稱為文檔,即文檔11-1(以附圖標記406表示)和文檔11-2(以附圖標記408表示)。類似地,用于類別12(以附圖標記410表示)的內容項是文檔12-1(以附圖標記412表示)和文檔12-2(以附圖標記414表示)。而且,用于類別121(以附圖標記416表示)的內容項是文檔121-1(以附圖標記418表示)和文檔121-2(以附圖標記420表示)。如圖4中所示,類別11(以附圖標記404表示)和類別12(以附圖標記410表示)是類別1(以附圖標記402表示)的子節點,而類別121(以附圖標記416表示)是類別12(以附圖標記410表示)的子節點。而且,文檔11-1(以附圖標記406表示)和文檔11-2(以附圖標記408表示)是與類別11(以附圖標記404表示)關聯的文檔,而文檔12-1(以附圖標記412表示)和文檔12-2(以附圖標記414表示)是與類別12(以附圖標記410表示)關聯的文檔。因此,當不變接口部件從內容管理系統中檢索數據時,不變接口部件就正在檢索類別數據和文檔數據。然后,不變接口部件將類別數據轉換為類別數據bean,而且將文檔數據轉換為類別數據bean。數據bean就是所存儲在其中的數據而且這些數據bean形成模型部件的元件。具體地說,將從內容管理系統檢索到的類別數據bean和文檔數據bean(稱為數據bean的新的組)存儲在模型部件中。在優選實施方式中,模型部件具有由數據bean的當前組所組成的內部計算表示,因此促使將新數據bean合并到在模型部件中所存儲的當前數據bean中。類似地,模型部件能夠合并數據bean的新的的組,其表示由不變接口部件從后臺內容管理系統檢索到數據bean的當前組的所請求的數據,而且能夠存儲相應的數據bean。圖5示出了與內容管理系統中所使用的分類樹狀結構關聯的內容觀看器portlet的模型部件的內部計算表示的另一種構成。模型部件持有在模型部件中所存儲的所有類別的列表。類似地,內容觀看器portlet模板的模型部件持有與模型部件中所存儲的每個類別關聯的所有文檔的列表。具體地說,如圖5中所示,內容觀看器portlet模板的模型部件持有以附圖標記502表示的稱為CategoryList的內部數據結構,以將分類樹狀結構映射到現實世界中。CategoryList502是Java編程語言中的List類。而且,列表CategoryList502的每個元件是Category類504。因此,如圖5中所示,列表CategoryList502可以具有零個或者多個Category實例504。而且,每個Category類504持有DocumentList506,其也是JavaList類。列表DocumentList506的元件是Document(文檔)類508。列表DocumentList506可以具有零個或者多個Document實例508。CategoryList和DocumentList還是模型部件的元件。因此,CategoryList鏈接不同的類別數據bean作為列表,該CategoryList的每個元件是類別數據bean。類似地,DocumentList鏈接不同的文檔數據bean作為列表,該DocumentList的每個元件是文檔數據bean。這些Category和Document類是內容觀看器portlet模板的模型部件中的相應的類別和文檔數據bean,其分別表示在分類樹狀結構中所表示的內容或者文件以及概念或者子概念。具體地說,模型部件包括CategoryList、類別數據bean、DocumentList和文檔數據bean。因此,不同的內容管理系統可以不同地實施分類法。例如,有些內容管理系統使用關系數據庫來存儲信息,而另一些應用文件系統。如圖6中所示,將內容觀看器portlet模板600的不變接口部件604配置為連接到關系數據614或者文件系統616,而且檢索在相應內容管理系統614或者616上所存儲的信息。因此,雖然不同的應用程序和不同的項目可以對于給定后臺內容關聯系統不同地構成分類樹的內容,但是用于給定后臺內容關聯系統的分類樹的結構保持相同。這樣的意義在于可以將內容觀看器portlet模板配置或者設計為根據具體項目與任何數量的不同后臺內容管理系統連接。因此,只要內容觀看器portlet模板具有在一個或多個內容管理區域中直接映射分類法的內部計算表示,開發者就可以對于其他后臺內容管理系統使用和定制portlet模板。在優選實施方式中,將不變接口部件實現為包括一個或多個Java類的Java封包,從而可以容易地修改不變接口部件的代碼以連接到不同的后臺內容管理系統,其中后臺內容管理系統可以是關系數據庫內容管理系統或者文件內容管理系統。參照圖7,當對內容觀看器portlet模板的不變接口部件進行配置以連接到關系數據庫時,Java封包700包括三個Java類,即CategoryListBroker702、AbstractDBBroker704和CategoryListDBBroker708。CategoryListBroker702是頂層抽象類。AbstractDBBroker704也是抽象類,但是其擴展CategoryListBroker702。而且,CategoryListDBBroker708隨后擴展AbstractDBBroker704。CategoryListDBBroker708具有方法,用以連接到關系數據、從一個或多個數據庫表中檢索文件和概念的數據,以及將它們存儲在模型部件中的相應Category(類別)和Document數據bean中。處于不變接口部件的抽象層的類CategoryListBroker檢索在關系數據庫或者文件系統中所存儲的與類別(概念和子概念)和文檔相關的信息。由于文檔附連到類別,所以當檢索關于類別的信息時,也檢索作為類別的一部分的文檔的信息。類似地,如果后臺內容管理系統使用文件系統,則創建也擴展CategoryListBroker702的另一種抽象類AbstractFileBroker706。此外,創建CategoryListFileBroker710,其擴展AbstractFileBroker706。AbstractFileBroker和CategoryListBroker類執行分別與AbstractDBBroker和CategoryListDBBroker相同的功能,但相對于文件系統而不是關系數據庫。雖然仍然是抽象層,但是AbstractDBBroker層是比CategoryListBroker更加接近的一個步驟,這是由于其與數據庫對接,而CategoryListDBBroker包含實施接口的代碼。CategoryListDBBroker(用于關系數據庫)和CategoryListFileBroker(用于文件系統)中的每一個都包括方法(可執行代碼),用以連接到相應內容關系系統和(從類別和文檔中)檢索數據以及將數據分別轉換和存儲在類別和文檔數據bean中。圖8示出了帶有內容觀看器portlet的展示部件所顯示的內容項的顯示頁面。一旦不變接口部件已經檢索到了內容而且將它們存儲到模型部件的數據bean中,則展示部件就可以從數據bean中得到數據,然后顯示內容項。如圖8中所示,雖然對顯示內容項的設計根據不同的門戶網站而不同,但是在頁面輪廓中,將子概念表示為主題,而每個主題后面跟有標題行,而且該標題可以包括內容標題、概括文字等。具體地說,將文檔存儲在模型部件的文檔數據bean中作為諸如文檔標題、文檔作者、文檔主體、文檔注腳、文檔日期等之類的許多較小的元件。執行展示部件中的JSP程序以元件的形式從文檔數據bean中檢索文檔數據,然后展示部件將這些元件放在一起作為文檔并且通過產生展示頁面來顯示文檔。內容觀看器portlet模板提供默認格式來顯示內容項。具體地說,內容觀看器模板的展示部件包括許多最好是JSP文件的文件。JSP文件是包括JSP編程語言陳述的文件,并且用于產生展示頁面。具體地說,如果由JPS文件產生展示頁面,則將其稱為JSP頁面。如圖8中所示,portlet的顯示頁面800具有對于圖5的內部數據結構CategoryList502的一一對應。具體地說,例如在顯示頁面中的Topic1(由附圖標記804指示)的主題來自Category類504,而每個標題行(由附圖標記806指示)來自Document類508。因此從圖5的這個CategoryList502中顯示內容項到portlet的顯示頁面800是非常直觀的。因此,如果開發人員偏好不同的格式,則該開發人員可以對展示部件的JSP文件的任何一個或多個進行修改以在portlet中用特定的格式顯示內容項。如果不希望改變格式,則在內容觀看器portlet模板中將JSP文件保持原樣。修改一個或多個JSP文件的任務相對簡單并且是本領域公知的。而且,如上所述,內容觀看器portlet模板的展示部件包括具有多個參數的配置頁面,可以將所述參數進行修改以對內容觀看器portlet模板進行定制來安裝到所期望的門戶中。配置頁面也是JSP頁面。具體地說,用于配置頁面的JSP文件處于View(展示)部件中。配置頁面允許開發人員設置參數,從而內容觀看器portlet可以根據由開發人員所陳述的特定參數進行操作。而且,如果對于將內容觀看器應用程序模板開發為定制的內容觀看器應用程序需要操作的特定模式,則可以修改內容觀看器應用程序模板的控制器部件的一個或多個代碼。如前所述,內容觀看器portlet模板的控制器部件還包括用于處理異常和以多種語言顯示錯誤消息的異常類、以及用于在一個或多個日志文件中顯示調試消息的日志記錄接口。異常類不是配置頁面的一部分,而是控制器部件的一部分。當計算機系統經歷問題時,例如當網絡出現故障、硬盤損壞時,異常類陳述內容觀看器portlet在這樣的情況中將要進行的步驟。而且,日志記錄接口還是控制器部件的一部分。具體地說,日志記錄是顯示消息以通知開發人員在內容觀看器portlet中所正在進行的工作時間、位置、內容并且提供結果的方式,從而可以5將關于內容觀看器portlet的開發詳情保持告知給開發人員。在另一個實施方式中,本發明提供方法用于從內容觀看器portlet模板中得到定制的內容觀看器portlet,從而該定制的內容觀看器portlet準備好安裝到所期望的門戶網站中。該方法包括步驟提供內容觀看器portlet模板和將該內容觀看器portlet模板導入到工作臺。而且,該方法還包括實施內容觀看器portlet模板的不變接口部件以連接到不同的后臺內容管理系統并從其中檢索數據,以及將內容顯示在所期望的門戶網站中。該方法還包括步驟用以根據從不同的后臺內容管理系統中檢索到的數據來對內容觀看器portlet模板的模塊部件中存儲的數據bean的當前組進行修改。更好的情況是,所述實施步驟包括步驟用以檢索在不同后臺內容管理系統中所存儲的數據、將所檢索的數據轉換為數據bean的新的組和將數據bean的新的組存儲在模型部件中。在一個實施方式中,在模型部件中對數據bean的當前組進行修改的步驟包括用于將數據bean的新的組合并到數據bean的當前組中以及將數據bean的新的組存儲在模型部件中的步驟。而且,該方法還包括如果需要所期望的格式用于在所期望的門戶或者門戶網站中顯示內容項,則對內容觀看器portlet模板的展示部件進行修改,而且如果需要操作的特定模式用于定制的內容觀看器portlet,則修改內容觀看器portlet模板的控制器部件,從而定制的內容觀看器portlet準備好被安裝到所期望的門戶中。最好,內容觀看器portlet模板還包括配置頁面以對多個參數進行修改來以不同的格式顯示內容項。更好的情況是,被導入到工作臺的內容觀看器portlet模板包括日志記錄接口,用于將調試消息顯示在一個或多個日志文件中,以及異常類,用于處理異常和以多種語言顯示錯誤消息。在一個實施方式中,不同的后臺內容管理系統包括關系數據庫或者文件系統。如上所述,每次要在門戶網站中創建新的portlet以顯示內容時,開發人員都必須創建這樣的內容觀看器portlet,從而內容觀看器portlet能夠連接到內容管理系統以從其中檢索內容,而且將這些內容作為網頁進行顯示。為了開發這樣的內容觀看器portlet,開發人員需要知道由內容管理系統所提供的接口,從而開發人員知道如何連接到內容管理系統和如何從其中檢索內容。可以由開發人員對內容觀看器portlet模板進行定制,從而定制的內容觀看器portlet可以連接到不同的內容管理系統,而且能夠以滿足特定商業需求的不同格式顯示內容。因此,內容觀看器portlet模板有助于將被安裝到門戶網站中的這種內容觀看器portlet的開發。轉到圖9,附圖標記900表示描述了用于從內容觀看器portlet模板中得到定制的內容觀看器portlet的方法的流程圖。該方法從902處開始,portlet開發人員或者portlet設計者確定是否該開發人員想要設計、開發或者創建用于門戶網站的新的內容觀看器portlet,如決定步驟904所示。如果開發人員不計劃創建新的portlet,則過程在步驟906處結束。然而,如果開發人員想要創建新的portlet,則開發人員在步驟908將內容觀看器portlet模板導入到工作臺以對內容觀看器模板進行定制。工作臺是開發人員用來創建、調試和構建portlet的計算機工具。在這種情況下,工作臺允許開發人員導入內容觀看器portlet模板,并且從該模板中開發定制的內容觀看器portlet。具體地說,將內容觀看器portlet模板的源代碼導入到最好是開發工具的工作臺。該方法還包括確定新的portlet是否將要連接到不同的后臺內容管理系統,如決定步驟910所示。如果開發人員在決定步驟910確定新portlet將不連接到不同的后臺內容管理系統,則開發人員在步驟914決定是否可以接受用于顯示在內容觀看器portlet模板中所陳述的內容項目的標準格式。然而,如果開發人員確定新portlet將連接到不同的后臺內容管理系統,則開發人員在步驟912中修改內容觀看器portlet模板的不變接口部件,從而將不變接口部件配置為連接到不同的后臺內容管理系統并且從其中檢索數據。具體地說,不變接口部件在步驟916連接到不同的后臺內容管理系統并且從其中檢索類別數據和文檔數據,而且在步驟918中將類別數據和文檔數據分別轉換為在模型部件中存儲的新類別數據bean和新文檔數據bean。具體地說,在步驟920,內容觀看器portlet模板的模型部件通過將新類型數據bean和新文檔數據bean分別合并到現存或者當前的類別數據bean和當前的文檔數據bean中,來存儲新的類別和新的文檔數據bean。因此,在開發人員已經在決定步驟910中確定新的portlet將不連接到不同的后臺內容管理系統之后,或者在開發人員已經在步驟920中修改了所導入的內容觀看器portlet模板的不變接口部件之后,開發人員隨后在步驟914中決定是否可以接受用于顯示在內容觀看器portlet模板中所陳述的內容項的標準格式。如果可以接受該標準格式,則開發人員在步驟922中修改內容觀看器portlet模板的展示部件以對內容觀看器portlet模板進行配置,從而以特定的所期望的格式顯示內容。如果在決定步驟914中可以接受在內容觀看器portlet模板中所提供的標準格式,或者在開發人員已經修改了內容觀看器portlet模板的展示部件之后,開發人員隨后在決定步驟924中決定是否可以接受在內容觀看器portlet模板的控制器部件中所提供的操作的標準模式。如果可以接受該操作的標準模式,則過程在步驟928結束。然而,如果確定不可以接受該操作的標準模式,則開發人員在步驟926中修改內容觀看器portlet模板的控制器部件以實現操作的期望模式,其在步驟928處結束過程。在本發明的另一個實施方式中,提供計算機程序產品,用于從定制的內容觀看器portlet模板中創建定制的內容觀看器portlet以安裝到所期望的門戶網站中。該計算機程序產品包括計算機可讀或者計算機可用介質第一程序指令,用于實施內容觀看器portlet模板的不變接口部件以從后臺內容管理系統中檢索數據;第二程序指令,用于對內容觀看器portlet模板的模型部件中所存儲的數據bean的當前組進行修改以合并從后臺內容管理系統中檢索到的數據;和第三程序指令,如果當把定制的內容觀看器portlet安裝在所期望的門戶網站中時需要特定的格式以在所期望的門戶網站中顯示內容項,則第三程序指令對內容觀看器portlet模板的展示部件進行修改。在另一個實施方式中,計算機程序產品還包括第四程序指令,如果當被安裝在所期望的網站中時對于定制的內容觀看器portlet需要操作的特定模式,則第四程序指令修改內容觀看器portlet模板的控制器部件。最好,將第一、第二、第三和第四程序指令的每一個都存儲在計算機可讀介質上。最好,在一個實施方式中,第一程序指令包括指令用于將內容觀看器portlet模板導入到工作臺以創建定制的內容觀看器portlet。更優選地,第一程序指令還包括指令用于將數據轉換為數據bean的新的組而且將數據bean的新的組存儲在模型部件中。而且,第二程序指令最好包括指令用于將數據bean的新的組合并到數據bean的當前組以存儲在模型部件中。在優選實施方式中,定制的內容觀看器portlet可以連接到的并且從其檢索信息的后臺內容管理系統是關系數據庫或者文字系統。最好,計算機程序產品是從計算機可用或者計算機可讀介質可以訪問的格式,其提供程序代碼或者指令結合或者由計算機或者任何指令執行系統使用。為了本說明書的目的,計算機可讀或者計算機可用介質可以是能夠包含、存儲、通信、傳播、或者傳輸結合或者由指令執行系統、設備或裝置使用的代碼或者指令的任何設備。最好,該介質可以包括電子、磁、光、電磁、紅外或者半導體系統(或者設備或者裝置)或者傳播介質。具體地說,計算機可讀介質可以包括半導體或者固態存儲器、磁帶、可移動計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬盤和光盤。而且,光盤的例子包括致密盤-只讀存儲器(CD-ROM)、致密盤-讀/寫(CD-R/W)和數字多功能/視頻盤(DVD)。已經為了說明和描述的目的呈現了本發明的特定實施方式的上面描述。它們不試圖將本發明窮盡或者限制到所公開的精確形式,而且通過上述教導,顯而易見地,許多修改和變形都是可能的。選擇和描述了這些實施方式從而以較好的方式解釋本發明的原理及其實際應用,以便本領域的普通技術人員能夠較好地利用本發明和帶有適合于所考慮的特定使用的各種修改的各種實施方式。試圖在所附的權利要求和它們的等效物中定義本發明的范圍。權利要求1.一種用于從內容觀看器portlet模板創建定制的內容觀看器portlet的系統,所述系統包括工作臺;導入到該工作臺的內容觀看器portlet模板;所述內容觀看器portlet模板的不變接口部件,其被配置為連接到后臺內容管理系統并且從該后臺內容管理系統檢索所請求的數據;所述內容觀看器portlet模板的模型部件,其耦合到所述不變接口部件,所述模型部件具有在多個內容管理區域中與外部分類法關聯的內部計算表示,其中所述模型部件將從后臺內容管理系統中檢索到的所請求的數據合并到數據bean的當前組中;所述內容觀看器portlet模板的展示部件,其耦合到模型部件,將所述展示部件進行配置以檢索被合并到模型部件中的所請求的數據并且顯示作為一個或多個內容項而被檢索的所請求的數據;以及所述內容觀看器portlet模板的控制器部件,其耦合到所述不變接口部件和所述展示部件中的每一個,將所述控制器部件配置為響應于用戶請求來調用要由所述不變接口部件和所述展示部件中的每一個所執行的多個方法,使得將所述內容觀看器portlet模板轉變為可以被安裝到所需要的門戶中的所述定制的內容觀看器portlet。2.根據權利要求1所述的系統,其中,所述控制器部件確定所述模型部件是否具有與所述用戶請求相關的所述所請求的數據,而且如果所述模型部件具有所述所請求的數據,則所述控制器部件調用要由所述展示部件所執行的所述多個方法之一,以從所述模型部件中檢索所述所請求的數據,并且將作為一個或多個內容項而檢索的所述所請求的數據進行顯示,而如果所述模型部件不具有與所述用戶請求相關的所述所請求的數據,則所述控制器調用要由所述不變接口部件執行的所述多個方法中的另外一個,以從所述后臺內容管理系統中檢索所述所請求的數據,并且將所述所請求的數據存儲在所述模型部件中。3.根據權利要求1所述的系統,其中,所述內容觀看器portlet模板的所述展示部件還包括具有多個參數的配置頁面,可以將所述多個參數進行修改以將所述內容觀看器portlet模板進行定制從而安裝到所述的所期望的門戶中。4.根據權利要求1所述的系統,其中,所述內容觀看器portlet模板的所述控制器部件還包括用于對異常進行處理并以多種語言顯示錯誤信息的異常類,以及用于在一個或多個日志文件中顯示調試消息的日志記錄接口。5.根據權利要求2所述的系統,其中,從所述后臺內容管理系統中檢索的所述所請求的數據包括概念或者子概念以及文件,并且所述不變接口部件將從所述后臺內容管理系統檢索來的、所述所請求的數據轉換為數據bean的新的組,并將所述數據bean的新的組存儲在所述模型部件中。6.根據權利要求2所述的系統,其中,所述模型部件將所述數據bean的新的組合并到所述數據bean的當前組中以存儲從所述后臺內容管理系統中檢索來的、所述所請求的數據,并且所述數據bean的當前和新的組中的每一個都包括類別數據bean和文檔數據bean。7.根據權利要求2所述的系統,其中,所述展示部件執行多個JavaServerPage(JSP)文件以顯示作為一個或多個內容項的、所檢索到的所述所請求的數據,并且可以將所述內容觀看器portlet模板的所述展示部件的所述多個JSP文件中的一個或多個進行修改,以在所述的所期望的門戶中以特定格式顯示所述一個或多個內容項。8.根據權利要求2所述的系統,其中,如果需要操作的特定模式來將所述內容觀看器應用程序模板開發為所述定制的內容觀看器應用程序,則對所述內容觀看器應用程序模板的所述控制器部件的一個或多個代碼進行修改。9.根據權利要求7所述的系統,其中,所述后臺內容管理系統包括下面之一關系數據庫和文件系統。10.一種用于從準備好被安裝到所期望的門戶的內容觀看器portlet模板得出定制的內容觀看器portlet的方法,所述方法包括步驟將內容觀看器portlet模板導入工作臺;實施所述內容觀看器portlet模板的不變接口以連接到不同的后臺內容管理系統并且從其中檢索數據;根據從所述不同后臺內容管理系統中檢索到的所述數據對在所述內容觀看器portlet模板的模型部件中存儲的數據bean的當前組進行修改;如果需要期望的格式來在所述的所期望的門戶中顯示內容項,則對所述內容觀看器portlet模板的展示部件進行修改;以及如果對于所述定制的內容觀看器portlet模板需要操作的特定模式,則對所述內容觀看器portlet模板的控制器部件進行修改,以使得所述定制的內容觀看器portlet準備好被安裝到所述期望的門戶中。11.根據權利要求10所述的方法,其中,所述導入步驟包括提供內容觀看器portlet模板,該模板包括用于對顯示所述內容項的多個參數進行修改的配置頁面、用于在一個或多個日志文件中顯示調試消息的日志記錄接口、以及用于對異常進行處理和以多種語言顯示錯誤消息的異常類。12.根據權利要求10所述的方法,其中,所述實施步驟包括步驟檢索在所述不同后臺內容管理系統中所存儲的所述數據;將所述所檢索的數據轉換為數據bean的新的組;以及將所述數據bean的新的組存儲在所述模型部件中。13.根據權利要求12所述的方法,其中,在所述模型部件中對數據bean的當前組進行修改的所述步驟包括步驟將所述數據bean的新的組合并到所述數據bean的當前組中,和將所述數據bean的新的組存儲在所述模型部件中。14.根據權利要求12所述的方法,其中,所述不同內容管理系統包括下面之一關系數據庫和文件系統。15.一種用于從內容觀看器portlet模板中創建定制的內容觀看器portlet以安裝到所期望的門戶中的計算機程序產品,所述計算機程序產品包括計算機可讀介質,其上具有程序指令用于執行權利要求10到14之中任何一項所述的方法。全文摘要本發明提供了用于從內容觀看器portlet模板中創建定制的內容觀看器portlet的系統、方法和程序。該系統包括導入到工作臺的內容觀看器portlet模板。內容觀看器portlet模板包括不變接口部件、模型部件、展示部件和控制器部件。將不變接口部件配置為連接到內容管理系統并且從其檢索數據,而且將所檢索到的數據存儲在模型部件中。將展示部件配置為從模型部件中檢索數據而且將該數據顯示為內容項。將控制器部件配置為響應于用戶請求來調用要由不變接口部件和展示部件執行的方法,從而將內容觀看器portlet模板轉變為可以被安裝到期望的門戶中的定制的內容觀看器portlet。文檔編號G06F17/30GK1940938SQ20061015920公開日2007年4月4日申請日期2006年9月22日優先權日2005年9月22日發明者格雷戈里·L·貝克,唐納德·S·貝爾,宮一興申請人:國際商業機器公司