專(zhuān)利名稱(chēng):一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法。
背景技術(shù):
目前,互聯(lián)網(wǎng)應(yīng)用技術(shù)已經(jīng)從簡(jiǎn)單的信息瀏覽發(fā)展到了復(fù)雜的分布式應(yīng)用。Web服務(wù)的出現(xiàn)加速了現(xiàn)有各種復(fù)雜的分布式應(yīng)用的集成。Web服務(wù)與傳統(tǒng)的分布式組件技術(shù)相比具有更好的封裝性,高度的可集成性以及更好的開(kāi)放性和互操作性,有著廣泛的應(yīng)用前景。但是,由于Web服務(wù)本身不包含展現(xiàn)給用戶的頁(yè)面,用戶根本無(wú)法理解它返回的XML數(shù)據(jù),所以,需要給其提供使得用戶能夠順利訪問(wèn)其的頁(yè)面。在互聯(lián)網(wǎng)環(huán)境下,信息門(mén)戶(Portal)技術(shù)就是向用戶提供訪問(wèn)多種類(lèi)型信息的單一入口,用于從廣域網(wǎng)/局域網(wǎng)上分散的數(shù)據(jù)源集成服務(wù)或應(yīng)用,并且提供個(gè)性化定制和單點(diǎn)登錄機(jī)制來(lái)更友好的將軟件服務(wù)提供給用戶使用。信息門(mén)戶的實(shí)現(xiàn)又是以門(mén)戶組件(Portlet)為基本組成單元,通過(guò)門(mén)戶組件的實(shí)現(xiàn)體提供用戶界面,完成專(zhuān)門(mén)的編程工作展現(xiàn)Web服務(wù),門(mén)戶組件是一種可插式的頁(yè)面組件,它與服務(wù)器端小程序(Servlet)類(lèi)似。
將信息門(mén)戶作為一個(gè)內(nèi)容聚集的平臺(tái),用此平臺(tái)來(lái)統(tǒng)一訪問(wèn)和展現(xiàn)Web服務(wù),此工作模式正是在上述背景下出現(xiàn)的一種工作模式。為了將Web服務(wù)返回的XML數(shù)據(jù)轉(zhuǎn)換成用戶可以直接查看和理解的信息,需要在信息門(mén)戶中的各個(gè)門(mén)戶組件的實(shí)現(xiàn)體里面提供用戶界面,進(jìn)行專(zhuān)門(mén)的編程工作來(lái)展現(xiàn)Web服務(wù)。一種比較簡(jiǎn)單的方式就是在信息門(mén)戶中針對(duì)各個(gè)Web服務(wù)進(jìn)行特定的編碼來(lái)創(chuàng)建用戶界面。在實(shí)際應(yīng)用中,這種方式會(huì)帶來(lái)應(yīng)用周期長(zhǎng),重復(fù)編碼多,數(shù)據(jù)和展現(xiàn)混雜,Web服務(wù)客戶端和服務(wù)端緊耦合現(xiàn)象等問(wèn)題。另外一種解決Web服務(wù)展現(xiàn)的方式就是通過(guò)遠(yuǎn)程門(mén)戶組件的Web服務(wù)(WSRP)規(guī)范所提出的展現(xiàn)方式,創(chuàng)建Web服務(wù)的用戶界面,其原理就是對(duì)門(mén)戶組件進(jìn)行Web服務(wù)的封裝,在Web服務(wù)端完成所要展現(xiàn)的內(nèi)容的開(kāi)發(fā),生成頁(yè)面片段返回給信息門(mén)戶供其直接使用即可。遠(yuǎn)程門(mén)戶組件的方式增加了Web服務(wù)端的工作量和調(diào)用過(guò)程中傳輸?shù)臄?shù)據(jù)量,而且需要所使用的信息門(mén)戶和Web服務(wù)容器都能對(duì)遠(yuǎn)程門(mén)戶組件的Web服務(wù)(WSRP)規(guī)范提供支持,制約了它的發(fā)展和應(yīng)用。
發(fā)明內(nèi)容
鑒于上述用信息門(mén)戶作為一個(gè)內(nèi)容聚集的平臺(tái)來(lái)統(tǒng)一訪問(wèn)和展現(xiàn)Web服務(wù)的需要,本發(fā)明的主要目的是提供一種新型且符合門(mén)戶組件規(guī)范1.0版本要求的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,該方法包括以下步驟第一步根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件;第二步利用SOAP附件機(jī)制調(diào)用Web服務(wù),解析Web服務(wù)返回的帶有附件的SOAP報(bào)文,得到所要的XML文檔;第三步利用XML文檔轉(zhuǎn)換機(jī)制將XML文檔生成用戶界面。
圖1為表示本發(fā)明面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法的步驟流程2為本發(fā)明門(mén)戶組件具體內(nèi)容示意3為本發(fā)明門(mén)戶組件工作流程4為本發(fā)明利用XSLT處理器轉(zhuǎn)換XML過(guò)程示意5為本發(fā)明門(mén)戶組件工作過(guò)程示意6為本發(fā)明門(mén)戶組件完整生命周期支撐模塊的內(nèi)容和工作原理示意圖具體實(shí)施方式
在闡述本發(fā)明面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法之前,先介紹一下現(xiàn)階段關(guān)于門(mén)戶組件技術(shù)的主流技術(shù)規(guī)范?,F(xiàn)階段業(yè)界主流的門(mén)戶組件規(guī)范是Java標(biāo)準(zhǔn)定制組織(Java Community Process,JCP)提出的Java規(guī)范請(qǐng)求168號(hào)門(mén)戶組件規(guī)范1.0版本。在此規(guī)范提出的信息門(mén)戶體系架構(gòu)中主要牽涉到以下三個(gè)主要的基本概念①信息門(mén)戶(Portal)信息門(mén)戶是一個(gè)Web應(yīng)用程序,它通常提供不同來(lái)源的個(gè)性化、單點(diǎn)登錄的內(nèi)容集合。
②門(mén)戶組件容器(Portlet容器)門(mén)戶組件容器給門(mén)戶組件提供所需的運(yùn)行時(shí)環(huán)境,并且管理它們的生命周期。
③門(mén)戶組件(Portlet)門(mén)戶組件為可插式的客戶界面組件,可產(chǎn)生各種標(biāo)記(HTML、XHTML、WML)片段并且統(tǒng)一提供給信息門(mén)戶。門(mén)戶組件是信息門(mén)戶的組成單元,一個(gè)信息門(mén)戶是由其所包含的一系列門(mén)戶組件所構(gòu)成的。
Java規(guī)范請(qǐng)求168號(hào)門(mén)戶組件規(guī)范1.0版本主要對(duì)于門(mén)戶組件的接口進(jìn)行了規(guī)范,各信息門(mén)戶提供商可根據(jù)自己的需要實(shí)現(xiàn)規(guī)范,提供一個(gè)門(mén)戶組件容器,或也可以選擇購(gòu)買(mǎi)其他提供商的門(mén)戶組件容器,信息門(mén)戶提供商則根據(jù)門(mén)戶組件容器提供的調(diào)用接口執(zhí)行對(duì)應(yīng)的門(mén)戶組件。門(mén)戶組件規(guī)范包含定義了作為門(mén)戶組件運(yùn)行環(huán)境的門(mén)戶組件容器;定義了門(mén)戶組件容器和門(mén)戶組件之間的接口;提供了門(mén)戶組件存儲(chǔ)持久性和非持久性數(shù)據(jù)的機(jī)制;提供了門(mén)戶組件包含服務(wù)器端小程序(Servlet)和JSP的機(jī)制;定義了門(mén)戶組件打包,方便部署;保證了門(mén)戶組件在符合門(mén)戶組件規(guī)范的門(mén)戶中的移植等內(nèi)容。
本發(fā)明就是根據(jù)上述Java標(biāo)準(zhǔn)定制組織提出的Java規(guī)范請(qǐng)求168號(hào)門(mén)戶組件規(guī)范1.0版本,設(shè)計(jì)面向Web服務(wù)的門(mén)戶組件。
本發(fā)明的實(shí)現(xiàn)方法主要應(yīng)用于網(wǎng)絡(luò)環(huán)境的系統(tǒng)軟件核心技術(shù)及運(yùn)行平臺(tái)中的信息門(mén)戶系統(tǒng)中的面向Web服務(wù)的門(mén)戶組件的開(kāi)發(fā)。
一、門(mén)戶組件的開(kāi)發(fā)本發(fā)明通過(guò)采用門(mén)戶組件技術(shù)、利用SOAP附件機(jī)制調(diào)用Web服務(wù)技術(shù)和利用XML文檔轉(zhuǎn)換機(jī)制來(lái)生成用戶界面完成面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn),具體的實(shí)現(xiàn)方法是,如圖1所示第一步根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件本發(fā)明根據(jù)門(mén)戶組件規(guī)范1.0版本、采用模型--試圖--控制的設(shè)計(jì)模式構(gòu)建門(mén)戶組件。如圖2所示,該門(mén)戶組件由門(mén)戶組件頁(yè)面文件、門(mén)戶組件執(zhí)行文件和門(mén)戶組件配置文件構(gòu)成。
根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件的步驟如下①按照此門(mén)戶組件展現(xiàn)內(nèi)容編寫(xiě)html文件作為頁(yè)面文件;②編寫(xiě)門(mén)戶組件執(zhí)行文件定義門(mén)戶組件參數(shù);③編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doView操作;④判斷此門(mén)戶組件是否支持EDIT模式;如果支持,則編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doEdit操作,否則,跳到下一步;⑤判斷此門(mén)戶組件是否支持HELP模式;如果支持,則編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doHelp操作,否則,跳到下一步;⑥編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)procession操作;⑦編寫(xiě)門(mén)戶組件配置文件。
通過(guò)以上步驟,可以開(kāi)發(fā)一個(gè)符合門(mén)戶組件規(guī)范1.0版本的門(mén)戶組件。
第二步利用SOAP附件機(jī)制調(diào)用Web服務(wù)構(gòu)建完成的門(mén)戶組件利用SOAP附件機(jī)制調(diào)用Web服務(wù),這是此門(mén)戶組件工作的核心過(guò)程。用戶在門(mén)戶組件頁(yè)面文件生成的界面上輸入自己的請(qǐng)求信息,然后所有的用戶請(qǐng)求被封裝為標(biāo)準(zhǔn)格式的XML文檔,并且將此XML文檔作為調(diào)用Web服務(wù)的參數(shù)(SOAP報(bào)文的附件)發(fā)送給Web服務(wù),并從Web服務(wù)處得到結(jié)果(也是一個(gè)作為SOAP報(bào)文附件的XML文檔)。如圖1、圖3所示,上述具體過(guò)程如下1、獲取用戶輸入的請(qǐng)求信息,參考門(mén)戶組件對(duì)應(yīng)的Web服務(wù)的輸入請(qǐng)求的格式文檔,構(gòu)造請(qǐng)求的XML文檔,作為調(diào)用Web服務(wù)的輸入?yún)?shù),并且本地存儲(chǔ);2、構(gòu)造SOAP報(bào)文,將XML文件作為SOAP報(bào)文的附件;
3、訪問(wèn)本門(mén)戶組件的配置文件,得到本門(mén)戶組件對(duì)應(yīng)的Web服務(wù)的地址信息,調(diào)用已經(jīng)指定好的Web服務(wù),即發(fā)送SOAP報(bào)文;4、得到返回的帶有附件的SOAP報(bào)文,將其附件解析出來(lái),得到所要的XML文檔。
第三步利用XML文檔轉(zhuǎn)換機(jī)制生成用戶界面如圖1、圖4所示,具體過(guò)程如下1、門(mén)戶組件在得到Web服務(wù)返回的結(jié)果XML文檔之后,依據(jù)配置文件中的XSLT樣式表文件位置信息,得到此XML文檔對(duì)應(yīng)的XSLT樣式表文件;2、將XML文檔和XSLT樣式表文件送入此門(mén)戶組件模型模塊內(nèi)嵌的XSLT處理器,利用XML文檔轉(zhuǎn)換機(jī)制,經(jīng)過(guò)轉(zhuǎn)換處理之后得到相應(yīng)的用戶界面文件(類(lèi)似HTML文件),生成用戶界面,即此門(mén)戶組件的界面文件的一個(gè)片段,也就是用戶所見(jiàn)的輸出內(nèi)容。
利用本發(fā)明公開(kāi)的面向Web服務(wù)的門(mén)戶組件調(diào)用和處理Web服務(wù)的具體的過(guò)程如圖5所示A、在門(mén)戶組件初始化階段訪問(wèn)Web服務(wù),獲取其展現(xiàn)邏輯文件并且依據(jù)此展現(xiàn)邏輯文件生成Web服務(wù)的輸入頁(yè)面;B、用戶在門(mén)戶組件的輸入頁(yè)面填寫(xiě)并且提交用戶請(qǐng)求;C、門(mén)戶組件初步處理用戶請(qǐng)求,構(gòu)造Web服務(wù)的請(qǐng)求消息SOAP報(bào)文,并調(diào)用Web服務(wù);D、得到Web服務(wù)的響應(yīng)消息,提取SOAP報(bào)文中的Web服務(wù)處理結(jié)果數(shù)據(jù)即XML文檔;E、依據(jù)XML文檔生成Web服務(wù)的輸出頁(yè)面呈現(xiàn)給用戶。
二、門(mén)戶組件的組成定義此類(lèi)門(mén)戶組件由門(mén)戶組件頁(yè)面文件、門(mén)戶組件執(zhí)行文件和門(mén)戶組件配置文件構(gòu)成。門(mén)戶組件頁(yè)面文件主要負(fù)責(zé)展現(xiàn)門(mén)戶組件的內(nèi)容和與用戶交互的界面,體現(xiàn)為一系列由門(mén)戶組件執(zhí)行文件自動(dòng)生成的用戶輸入輸出頁(yè)面文件,類(lèi)似HTML文件;門(mén)戶組件執(zhí)行文件主要負(fù)責(zé)門(mén)戶組件所要完成的各類(lèi)操作,主要體現(xiàn)為一系列執(zhí)行此類(lèi)門(mén)戶所要完成操作的JAVA程序,其主要完成對(duì)相應(yīng)的Web服務(wù)的調(diào)用和根據(jù)Web服務(wù)返回的結(jié)果生成相應(yīng)的用戶界面的過(guò)程;門(mén)戶組件配置文件是記錄門(mén)戶組件特定信息的文件,以此來(lái)實(shí)現(xiàn)對(duì)于門(mén)戶組件的頁(yè)面文件和執(zhí)行文件的相關(guān)聯(lián),以及對(duì)其它門(mén)戶組件私有信息如名稱(chēng)、簡(jiǎn)稱(chēng)和日期信息等等的記錄。
門(mén)戶組件的核心部分就是門(mén)戶組件執(zhí)行文件,它的核心功能就是將輸入輸出的參數(shù)(XML文檔)在共享的數(shù)據(jù)結(jié)構(gòu)中傳遞,以及調(diào)用Web服務(wù)。此執(zhí)行文件要實(shí)現(xiàn)規(guī)范中提出的門(mén)戶組件接口,編程實(shí)現(xiàn)以下的內(nèi)容1、門(mén)戶組件參數(shù)①$renderRequest、②$renderResponse、③$portletConfig、④$actionURL、⑤$renderURL、⑥$namespace,這些參數(shù)分別對(duì)應(yīng)了對(duì)于此門(mén)戶組件的請(qǐng)求和響應(yīng),以及一些門(mén)戶組件私有的身份信息。
2、如下的門(mén)戶組件模式①VIEW模式門(mén)戶組件的內(nèi)容顯示模式;②EDIT模式門(mén)戶組件相關(guān)設(shè)置的編輯模式;③HELP模式尋求門(mén)戶組件相關(guān)幫助的幫助模式。
3、針對(duì)上述門(mén)戶組件模式,門(mén)戶組件的操作①doView操作顯示顯示門(mén)戶組件缺省視圖缺省的瀏覽視圖;②doEdit操作如果支持編輯視圖的話,顯示門(mén)戶組件編輯視圖;③doHelp操作如果支持幫助視圖的話,顯示門(mén)戶組件幫助視圖;④processAction操作對(duì)于任何視圖模式,在門(mén)戶組件頁(yè)面文件向執(zhí)行文件提交請(qǐng)求時(shí)觸發(fā)的操作。
4、門(mén)戶組件的窗口狀態(tài)①NORMAL狀態(tài)還原門(mén)戶組件窗口;②MAXIMIZED狀態(tài)最大化門(mén)戶組件窗口;③MINMIZED狀態(tài)最小化門(mén)戶組件窗口。
在不同的門(mén)戶組件模式和窗口狀態(tài)的組合下此門(mén)戶組件的實(shí)現(xiàn)模塊可執(zhí)行的操作如下表所列 通過(guò)實(shí)現(xiàn)了上述門(mén)戶組件的各個(gè)部分,也就是門(mén)戶組件頁(yè)面文件、門(mén)戶組件執(zhí)行文件和門(mén)戶組件配置文件這三類(lèi)文件,就可以生成一個(gè)可以用來(lái)利用SOAP附件機(jī)制調(diào)用Web服務(wù)、利用XML文檔轉(zhuǎn)換機(jī)制生成用戶界面的門(mén)戶組件。
基于以上內(nèi)容,本發(fā)明還對(duì)要訪問(wèn)的Web服務(wù)展現(xiàn)界面的資源進(jìn)行劃分,并對(duì)面向Web服務(wù)的門(mén)戶組件的生命周期的各階段進(jìn)行支持。
三、對(duì)于Web服務(wù)展現(xiàn)界面的資源劃分Web服務(wù)按照傳統(tǒng)的定義本身是不包含展現(xiàn)界面的,其傳遞的只是標(biāo)準(zhǔn)的XML文檔,本身在沒(méi)有響應(yīng)規(guī)則的解釋之下是無(wú)法提供給用戶查看的,所以,我們需要對(duì)Web服務(wù)所包含的資源進(jìn)行擴(kuò)充,在一個(gè)Web服務(wù)所包含的內(nèi)容之中加入其展現(xiàn)界面的內(nèi)容。
Web服務(wù)展現(xiàn)界面的資源以一系列格式標(biāo)準(zhǔn)文件的形式,在Web服務(wù)里面存放并且可由Web服務(wù)向其調(diào)用者提供。根據(jù)上述的工作過(guò)程,展現(xiàn)界面主要使用在兩個(gè)階段用戶在調(diào)用Web服務(wù)之前在門(mén)戶組件的頁(yè)面文件上填寫(xiě)并且提交用戶請(qǐng)求和用戶在門(mén)戶組件的頁(yè)面文件上查看Web服務(wù)的返回結(jié)果。展現(xiàn)界面上要展現(xiàn)的內(nèi)容就是作為Web服務(wù)輸入輸出的XML文檔,但是我們需要為其添加上包括展現(xiàn)內(nèi)容的XSLT樣式表。根據(jù)以上的分析,Web服務(wù)展現(xiàn)界面的內(nèi)容包括輸入格式和輸出格式輸入格式包括要求填入業(yè)務(wù)數(shù)據(jù)的XML文檔和輸入處理格式的輸入XSLT樣式表文件;輸出格式包括返回結(jié)果XML文檔和輸出處理格式的輸出XSLT樣式表文件。
格式標(biāo)準(zhǔn)文件從來(lái)源和內(nèi)容的角度可以劃分為1、格式標(biāo)準(zhǔn)文件從來(lái)源來(lái)說(shuō)分為輸入文件和輸出文件;2、格式標(biāo)準(zhǔn)文件從內(nèi)容來(lái)說(shuō)分為數(shù)據(jù)文件和樣式文件。
格式標(biāo)準(zhǔn)文件的劃分如下表所示 四、對(duì)于面向Web服務(wù)的門(mén)戶組件的生命周期的各階段的支持門(mén)戶組件完整生命周期包括以下各個(gè)階段門(mén)戶組件的開(kāi)發(fā)、門(mén)戶組件的部署、門(mén)戶組件的運(yùn)行、門(mén)戶組件的維護(hù)。上述的這四個(gè)過(guò)程構(gòu)成了一個(gè)門(mén)戶組件完整的生命周期,可以對(duì)門(mén)戶組件進(jìn)行全面的和全方位的支持。
門(mén)戶組件的開(kāi)發(fā)就是門(mén)戶組件的生成模塊根據(jù)用戶的選擇和輸入信息生成一個(gè)門(mén)戶組件部署單元的過(guò)程。此過(guò)程的最終結(jié)果就是一個(gè)可被發(fā)布的門(mén)戶組件部署單元。信息門(mén)戶提供給用戶訪問(wèn)服務(wù)發(fā)布與發(fā)現(xiàn)(UDDI)服務(wù)器的界面,依據(jù)用戶的選擇和輸入信息來(lái)得到所需要訪問(wèn)的Web服務(wù)的相關(guān)信息;再通過(guò)訪問(wèn)上述選定的Web服務(wù),調(diào)用Web服務(wù)提供的方法來(lái)獲取此門(mén)戶組件的數(shù)據(jù)和格式文件;再依據(jù)和用戶的交互信息和格式文件生成一個(gè)門(mén)戶組件所需要的各類(lèi)資源,包括上述所定義的門(mén)戶組件模型層、視圖層以及記錄門(mén)戶組件相關(guān)信息的配置文件等等;最后將上述門(mén)戶組件資源打包為一個(gè)門(mén)戶組件的部署單元。
門(mén)戶組件的部署就是將一個(gè)門(mén)戶組件部署單元所定義的門(mén)戶組件在信息門(mén)戶中進(jìn)行發(fā)布和注冊(cè),使得信息門(mén)戶的用戶可以訂制和使用此門(mén)戶組件的過(guò)程。部署過(guò)程首先將門(mén)戶組件部署單元進(jìn)行解壓;將其中的門(mén)戶組件資源做正確的配置;并且還要在信息門(mén)戶的注冊(cè)表中對(duì)于此門(mén)戶組件進(jìn)行注冊(cè),以提供給信息門(mén)戶的用戶來(lái)訂制和使用。
門(mén)戶組件的運(yùn)行主要是對(duì)各個(gè)門(mén)戶組件的各個(gè)實(shí)例進(jìn)行提供運(yùn)行時(shí)的支持和管理,主要是對(duì)Java規(guī)范請(qǐng)求168號(hào)門(mén)戶組件規(guī)范1.0版本所提出的門(mén)戶組件運(yùn)行時(shí)的基本功能的支持,包括對(duì)于一個(gè)標(biāo)準(zhǔn)的Portlet的3種Portlet模式(VIEW、EDIT和HELP),3種Portlet操作(doView、doEdit、doHelp和processAction)和4種Portlet的windows狀態(tài)(NORMAL、MAXIMIZED和MINMIZED)的支持。
門(mén)戶組件的維護(hù)就是對(duì)于門(mén)戶組件的信息進(jìn)行修改以及當(dāng)相應(yīng)的門(mén)戶組件的資源發(fā)生更改,對(duì)于此門(mén)戶組件重新進(jìn)行自動(dòng)化的開(kāi)發(fā)和部署以將依據(jù)新的資源而重新生成的新的門(mén)戶組件提供給信息門(mén)戶的用戶使用的過(guò)程。門(mén)戶組件的維護(hù)過(guò)程對(duì)于信息門(mén)戶用戶而言都是透明的。
對(duì)門(mén)戶組件完整生命周期的支撐模塊的內(nèi)容和簡(jiǎn)單工作原理如圖6所示。
本發(fā)明提出的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法具有以下特點(diǎn)1、符合Java標(biāo)準(zhǔn)定制組織提出的Java規(guī)范168號(hào)請(qǐng)求門(mén)戶組件規(guī)范1.0版本,符合業(yè)界的主流門(mén)戶組件規(guī)范,便于本發(fā)明與其它符合上述門(mén)戶組件規(guī)范的信息門(mén)戶集成使用,為本發(fā)明提供了廣闊的使用空間。
2、本發(fā)明構(gòu)建的門(mén)戶組件采用模型-試圖-控制的設(shè)計(jì)模式,具有很好的清晰的層次性、良好強(qiáng)壯性和彈性以及易于維護(hù)性。
3、本發(fā)明提供了便捷的、透明的在信息門(mén)戶中訪問(wèn)和展現(xiàn)符合此類(lèi)門(mén)戶組件擴(kuò)充規(guī)范的Web服務(wù);同時(shí)也對(duì)此類(lèi)Web服務(wù)的開(kāi)發(fā)提供模板和類(lèi)庫(kù)的支持。
4、提供對(duì)此門(mén)戶組件完整的生命周期開(kāi)發(fā)的支持,使得使用此門(mén)戶組件的信息門(mén)戶平臺(tái)可以方便快捷的維護(hù)此類(lèi)門(mén)戶組件完整的生命周期。便于信息門(mén)戶平臺(tái)管理人員的開(kāi)發(fā)、部署、配置、使用和維護(hù)此類(lèi)門(mén)戶組件。
權(quán)利要求
1.一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,該方法包括以下步驟第一步根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件;第二步利用SOAP附件機(jī)制調(diào)用Web服務(wù),解析Web服務(wù)返回的帶有附件的SOAP報(bào)文,得到所要的XML文檔;第三步利用XML文檔轉(zhuǎn)換機(jī)制將XML文檔生成用戶界面。
2.根據(jù)權(quán)利要求1所述的一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,其特征在于所述的門(mén)戶組件由門(mén)戶組件頁(yè)面文件、門(mén)戶組件執(zhí)行文件和門(mén)戶組件配置文件構(gòu)成;所述門(mén)戶組件頁(yè)面文件主要負(fù)責(zé)展現(xiàn)門(mén)戶組件的內(nèi)容和與用戶交互的界面,體現(xiàn)為一系列由門(mén)戶組件執(zhí)行文件自動(dòng)生成的用戶輸入輸出頁(yè)面文件;所述門(mén)戶組件執(zhí)行文件主要負(fù)責(zé)門(mén)戶組件所要完成的各類(lèi)操作,為一系列執(zhí)行此類(lèi)門(mén)戶所要完成操作的JAVA程序,其主要完成對(duì)相應(yīng)的Web服務(wù)的調(diào)用和根據(jù)Web服務(wù)返回的結(jié)果生成相應(yīng)的用戶界面的過(guò)程;所述門(mén)戶組件配置文件是記錄門(mén)戶組件特定信息的文件,以此來(lái)實(shí)現(xiàn)對(duì)于門(mén)戶組件的頁(yè)面文件和執(zhí)行文件的相關(guān)聯(lián),以及對(duì)其它門(mén)戶組件私有信息如名稱(chēng)、簡(jiǎn)稱(chēng)和日期信息等等的記錄。
3.根據(jù)權(quán)利要求2所述的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,其特征在于所述根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件的步驟如下(1)、按照此門(mén)戶組件展現(xiàn)內(nèi)容編寫(xiě)html文件作為頁(yè)面文件;(2)、編寫(xiě)門(mén)戶組件執(zhí)行文件定義門(mén)戶組件參數(shù);(3)、編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doView操作;(4)、判斷此門(mén)戶組件是否支持EDIT模式;如果支持,則編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doEdit操作,否則,跳到下一步;(5)、判斷此門(mén)戶組件是否支持HELP模式;如果支持,則編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)doHelp操作,否則,跳到下一步;(6)、編寫(xiě)門(mén)戶組件執(zhí)行文件實(shí)現(xiàn)procession操作;(7)、編寫(xiě)門(mén)戶組件配置文件。
4.根據(jù)權(quán)利要求3所述的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,其特征在于所述第二步具體包括以下步驟(1)、獲取用戶輸入的請(qǐng)求信息,參考門(mén)戶組件格式文檔XSLT樣式表文件,構(gòu)造請(qǐng)求的XML文檔,作為調(diào)用Web服務(wù)的輸入?yún)?shù),并且本地存儲(chǔ);(2)、構(gòu)造SOAP報(bào)文,將XML文件作為SOAP報(bào)文的附件;(3)、訪問(wèn)本門(mén)戶組件的配置文件,得到本門(mén)戶組件對(duì)應(yīng)的Web服務(wù)的地址信息,調(diào)用已經(jīng)指定好的Web服務(wù),即發(fā)送SOAP報(bào)文;(4)、得到返回的帶有附件的SOAP報(bào)文,將其附件解析出來(lái),得到所要的XML文檔。
5.根據(jù)權(quán)利要求4所述的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,其特征在于所述第三步具體包括以下步驟(1)、門(mén)戶組件在得到Web服務(wù)返回的結(jié)果XML文檔之后,依據(jù)配置文件中的XSLT樣式表文件位置信息,得到此XML文檔對(duì)應(yīng)的XSLT樣式表文件;(2)、將XML文檔和XSLT樣式表文件送入此門(mén)戶組件模型模塊內(nèi)嵌的XSLT處理器,利用XML文檔轉(zhuǎn)換機(jī)制,經(jīng)過(guò)轉(zhuǎn)換處理之后得到相應(yīng)的用戶界面文件,生成用戶界面。
全文摘要
本發(fā)明公開(kāi)了一種面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法,該方法包括以下步驟1、根據(jù)門(mén)戶組件規(guī)范1.0版本構(gòu)建門(mén)戶組件;2、利用SOAP附件機(jī)制調(diào)用Web服務(wù),解析Web服務(wù)返回的帶有附件的SOAP報(bào)文,得到所要的XML文檔;3、利用XML文檔轉(zhuǎn)換機(jī)制生成用戶界面。本發(fā)明提出的面向Web服務(wù)的門(mén)戶組件的實(shí)現(xiàn)方法符合Java標(biāo)準(zhǔn)定制組織提出的Java規(guī)范168號(hào)請(qǐng)求門(mén)戶組件規(guī)范1.0版本,符合業(yè)界的主流門(mén)戶組件規(guī)范,便于本發(fā)明與其它符合上述門(mén)戶組件規(guī)范的信息門(mén)戶集成使用,為本發(fā)明提供了廣闊的使用空間。
文檔編號(hào)G06F17/30GK1956445SQ200510114688
公開(kāi)日2007年5月2日 申請(qǐng)日期2005年10月28日 優(yōu)先權(quán)日2005年10月28日
發(fā)明者葛聲, 孫璐, 王貝貝, 劉美榮, 朱怡涵, 曾晉 申請(qǐng)人:北京航空航天大學(xué)