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