專利名稱:遠程門戶組件的Web服務(wù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web服務(wù)技術(shù)。
背景技術(shù):
目前,以互聯(lián)網(wǎng)為代表的計算機網(wǎng)絡(luò)技術(shù)得到了迅猛發(fā)展,已經(jīng)從簡單的信息瀏覽發(fā)展到復(fù)雜的分布式應(yīng)用,Web服務(wù)的出現(xiàn)加速了現(xiàn)有應(yīng)用的集成,方便了企業(yè)與企業(yè)之間的互操作。雖然,Web服務(wù)解決了企業(yè)與企業(yè)之間的互操作問題,但是,它本身并不能提供任何用戶交互或表示功能,因此還需要中間應(yīng)用程序來提供用戶界面。這就需要為每個Web服務(wù)進行特定的編碼來展現(xiàn),在實際應(yīng)用中,就會帶來應(yīng)用周期長,重復(fù)編碼等問題,并不適應(yīng)動態(tài)電子商務(wù)應(yīng)用的需求。
出現(xiàn)這種問題主要是因為在當(dāng)前的Web服務(wù)應(yīng)用模式下,缺乏一種有效的方式將遠程內(nèi)容和應(yīng)用整合成面向最終用戶的Web服務(wù)。在Web服務(wù)的展現(xiàn)方面,近年來已經(jīng)取得了一些研究成果,如Takeshi等人提出了一種基于Web表單的Web服務(wù)界面表示方法,而WSUI(Web Service User Interface)通過一個Schema來描述出專門的Web服務(wù)用戶層,并使用XSLT樣式單來構(gòu)建用戶界面,限定了界面元素,缺乏靈活性。而WSIA(Web Services for InteractiveApplications)依賴于W3C的XForm的表現(xiàn)技術(shù)和語義網(wǎng)技術(shù)來構(gòu)建Web服務(wù)界面,實現(xiàn)過于復(fù)雜。只有WSRP(Web Services for Remote Portlets)使用已經(jīng)成熟的Portlets技術(shù)的展現(xiàn)能力實現(xiàn)了Web服務(wù)的用戶界面,并且實現(xiàn)了不同平臺上的門戶組件的共享。
門戶是對應(yīng)用的單一集成訪問點,它可以集成不同來源的信息和應(yīng)用,為用戶提供完整的應(yīng)用視圖。門戶的構(gòu)建基于一系列的門戶組件。門戶組件是一種門戶服務(wù)器的組件,它實現(xiàn)業(yè)務(wù)功能,產(chǎn)生面向用戶的可視化的標(biāo)記片段(如HTML標(biāo)記片斷),這些標(biāo)記片段經(jīng)過門戶組件整合模塊的整合,成為最終用戶界面。
WSRP(Web Services for Remote Portlets)是OASIS組織在2003年9月提出的一項開放標(biāo)準(zhǔn),其中文含義是遠程門戶組件的Web服務(wù)。它位于Web服務(wù)協(xié)議棧的最頂層。WSRP利用已有的Web服務(wù)標(biāo)準(zhǔn),使用WSDL定義了一個Web服務(wù)接口描述,使用標(biāo)準(zhǔn)的Web服務(wù)接口包裝遠程門戶組件,這些接口獨立于具體的應(yīng)用,只描述了如何獲取使用遠程門戶組件,保證了調(diào)用者如何和遠程門戶組件交互,而不規(guī)定組件的具體實現(xiàn),因此具有良好的互操作性,使得WSRP服務(wù)具有可視化、面向用戶、即插即用的重要特點,極大的方便Web應(yīng)用程序的快速集成。
但是,如何實現(xiàn)WSRP接口,利用規(guī)范的開放標(biāo)準(zhǔn),實現(xiàn)信息共享和真正的互操作,如何提供一種基礎(chǔ)結(jié)構(gòu)能夠容納不同接口的遠程門戶組件仍是當(dāng)前WSRP應(yīng)用中的重要問題。已有的系統(tǒng)大多基于對現(xiàn)有門戶平臺的改造實現(xiàn)門戶組件的遠程使用,而不是針對遠程門戶組件的。
發(fā)明內(nèi)容
鑒于上述原因,本發(fā)明的目的是提供一種遠程門戶組件的Web服務(wù)處理系統(tǒng)(以下簡稱WSRP處理系統(tǒng)),該WSRP處理系統(tǒng)可以容納和管理遠程門戶組件,提供生產(chǎn)者的基礎(chǔ)結(jié)構(gòu),對外暴露出WSRP規(guī)范定義的Web服務(wù)端口,向消費者提供可視化的遠程門戶組件,同時向消費者提供一套有效的工具,以方便消費者使用遠程門戶組件。
為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案一種遠程門戶組件的Web服務(wù)處理系統(tǒng),它由WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)、通用的WSRP消費者代理和信息門戶中的遠程組件管理模塊三大部分組成;所述WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)是本系統(tǒng)的核心部分,它實現(xiàn)了WSRP規(guī)范中定義的Web服務(wù)接口;處理遠程門戶組件運行環(huán)境的共性需求;支持多種不同門戶組件實現(xiàn);以及動態(tài)地部署和反部署門戶組件;所述通用WSRP消費者代理主要是代理完成消費一個WSRP服務(wù)所需要完成的共性處理以及SOAP客戶端的工作;任何消費者都可以方便的通過消費者代理、WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)獲取遠程門戶組件的標(biāo)記;所述遠程組件管理模塊主要完成測試、檢驗和管理系統(tǒng)的運行。
所述WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)包括Web服務(wù)接口層、WSRP引擎處理層、服務(wù)調(diào)用層和門戶組件部署配置管理器四部分;Web服務(wù)接口層為一個Java平臺的Web服務(wù)實現(xiàn),用于接收消費者的SOAP請求,分析其語義,使用RMI調(diào)用下層的WSRP引擎來得到返回結(jié)果,并重新序列化成SOAP消息返回給消費者;WSRP引擎處理層主要完成WSRP服務(wù)的統(tǒng)一處理;所述服務(wù)調(diào)用層主要完成對多種門戶組件的集成;所述門戶組件部署配置管理器動態(tài)地監(jiān)控系統(tǒng)的運行情況,并且動態(tài)的部署、反部署門戶組件。
所述Web服務(wù)接口層包括消費者注冊接口、得到服務(wù)描述接口、遠程組件的定制和配置接口和得到標(biāo)記片段和處理用戶交互接口;所述消費者注冊接口消費者向生產(chǎn)者注冊,形成一種契約關(guān)系,得到一個唯一的注冊句柄作為訪問遠程門戶組件的依據(jù)和身份標(biāo)識;得到服務(wù)描述接口消費者動態(tài)的獲取生產(chǎn)者提供的服務(wù)內(nèi)容和組件變動情況,及時獲取動態(tài)的服務(wù)描述,應(yīng)用新的組件;遠程組件的定制和配置接口消費者可以向生產(chǎn)者要求新的可配置的組件實例,并配置這些組件的屬性,使得同一門戶組件在不同的消費者處顯示不同的外觀和內(nèi)容;得到標(biāo)記片段和處理用戶交互接口消費者通過該Web服務(wù)接口可以動態(tài)得到遠程門戶組件的標(biāo)記片斷,并與之交互,體現(xiàn)了WSRP服務(wù)的可視化和交互性。
所述WSRP引擎處理層由注冊管理器、描述處理器、會話處理器和實體對象池四部分構(gòu)成;所述注冊管理器完成對注冊對象的管理,采用對象哈希表的方法,按注冊句柄為鍵,在內(nèi)存和外存中換入換出注冊對象;所述描述處理器主要完成WSRP規(guī)范中的服務(wù)描述;所述會話處理器主要管理多個實體會話對象;所述實體對象池統(tǒng)一管理內(nèi)存中的實體對象。
所述服務(wù)調(diào)用層具有統(tǒng)一調(diào)用接口與所述WSRP引擎處理層進行信息傳遞;所述服務(wù)調(diào)用層為每種portlet提供了門戶組件適配器接口,配置相應(yīng)的適配器。
所述門戶組件部署配置管理器提供了一個獨立的javaSwing窗口界面與WSRP引擎連接,可以動態(tài)的監(jiān)控系統(tǒng)的運行情況,并且動態(tài)的部署、反部署新的門戶組件。
所述WSRP服務(wù)消費者代理模塊具有管理和調(diào)用WSRP服務(wù)的統(tǒng)一功能,是一個可重用的組件模塊;它包括配置管理器、注冊管理器、生產(chǎn)者管理器、會話管理器、實體管理器、服務(wù)定位器和服務(wù)管理接口;配置管理器的功能是管理和記錄消費者代理的配置信息,并且在初始化的時候?qū)⑦@些信息傳給相應(yīng)的組件,同時為其他組件提供功能接口,可以改變配置文件的內(nèi)容;注冊管理器主要完成在初始化的時候從配置管理器中獲取注冊信息,生成并且管理所有的已經(jīng)注冊的對象,這其中最重要的是一個注冊句柄;對外提供接口可以實現(xiàn)注冊和注銷功能;向下調(diào)用服務(wù)加載器,獲取一個注冊端口,以便調(diào)用Web服務(wù);生產(chǎn)者管理器主要完成管理好所有消費者注冊的生產(chǎn)者,提供獲取,刪除這些生產(chǎn)者對象的方法。為了便于組織管理,系統(tǒng)將生產(chǎn)者對象以URL為鍵值添加到一個哈希表中去;會話管理器主要是管理多個實體會話對象;實體管理器主要是管理多個實體,提供功能給其他組件,初始化的時候,讀取所有實體序列化文件,恢復(fù)成系統(tǒng)內(nèi)存對象,按實體句柄為鍵值存放在哈希表;提供接口供其他組件調(diào)用,根據(jù)實體句柄獲取實體對象;同時提供動態(tài)添加一個實體對象的方法,在添加以后自動序列化該對象,保持持久狀態(tài)。
圖1為本發(fā)明WSRP處理系統(tǒng)結(jié)構(gòu)示意2為本發(fā)明WSRP處理系統(tǒng)生產(chǎn)者基礎(chǔ)結(jié)構(gòu)結(jié)構(gòu)示意3為本發(fā)明WSRP處理系統(tǒng)門戶消費者結(jié)構(gòu)示意4為本發(fā)明WSRP處理系統(tǒng)消費者代理結(jié)構(gòu)示意圖具體實施方式
為了清楚地說明WSRP處理系統(tǒng),本發(fā)明首先說明一下生產(chǎn)者和消費者。生產(chǎn)者表現(xiàn)為一個Web服務(wù),消費者為該Web服務(wù)的使用者。當(dāng)消費者發(fā)現(xiàn)了生產(chǎn)者Web服務(wù)以后,所有消費遠程門戶組件的工作都是通過Web服務(wù)端口的操作完成。
如圖1所示,本發(fā)明提供的WSRP處理系統(tǒng)由WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)、通用的WSRP消費者代理和信息門戶中的遠程組件管理模塊三大部分組成。
獨立的WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)是WSRP處理系統(tǒng)的核心部分,它實現(xiàn)了WSRP規(guī)范中定義的Web服務(wù)接口;處理遠程門戶組件運行環(huán)境的共性需求,如會話處理,功能實現(xiàn),持久化狀態(tài)處理等;在WSRP引擎中使用實體對象來抽象的代表一個門戶組件對象,以屏蔽不同門戶組件之間的區(qū)別,進行統(tǒng)一管理;使用適配器接口,支持多種不同門戶組件實現(xiàn);同時,還提供了一個可以動態(tài)的部署和反部署門戶組件的配置管理工具。
通用WSRP消費者代理主要是代理完成需要消費一個WSRP服務(wù)的共性處理,例如會話、注冊、描述和標(biāo)記等接口以及SOAP客戶端的工作,消費者代理對外提供一系列的功能接口,使得任何消費者都可以方便的通過消費者代理獲取遠程門戶組件的標(biāo)記。
遠程組件管理模塊是一個基于Jetspeed信息門戶平臺作為遠程門戶的消費者,它包括遠程門戶組件管理模塊和遠程門戶組件映射模塊,主要完成測試和檢驗系統(tǒng)的運行。在該信息門戶中調(diào)用WSRP消費者代理可以消費生產(chǎn)者基礎(chǔ)結(jié)構(gòu)中的遠程門戶組件。
下面結(jié)合附圖再詳細地描述各個模塊的結(jié)構(gòu)和功能。
如圖2所示,WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)是整個系統(tǒng)的核心,它包括Web服務(wù)接口層、WSRP引擎處理層、服務(wù)調(diào)用層和門戶組件部署配置管理器四部分。Web服務(wù)接口層、WSRP引擎處理層和服務(wù)調(diào)用層之間接口清晰,職責(zé)明確,共同構(gòu)成生產(chǎn)者的基礎(chǔ)結(jié)構(gòu)。參考圖1、圖2所示,Web服務(wù)接口層實際上就是一個遠程組件Web服務(wù),門戶消費者通過Web服務(wù)接口層、WSRP引擎調(diào)用遠程服務(wù)組件。圖1中的WSRP引擎部分包括圖2中的WSRP引擎處理層、服務(wù)調(diào)用層。圖1中的配置管理工具是指圖2中的門戶組件部署配置管理器。遠程組件Web服務(wù)運行有賴于WSServer的支持,而遠程組件Web服務(wù)和WSRP引擎部分都運行在Jboss服務(wù)器中。
WSRP服務(wù)需要實現(xiàn)WSRP1.0的規(guī)范接口和功能,為了實現(xiàn)總體目標(biāo),使得生產(chǎn)者成為一個遠程門戶組件的運行時環(huán)境,生產(chǎn)者必須具備以下功能1具有消費者注冊功能,支持注冊狀態(tài)的持久化和注冊關(guān)系的管理。
2具有會話管理功能,為每個用戶對每個遠程門戶組件的請求創(chuàng)建,保存和管理會話關(guān)系和臨時數(shù)據(jù)。
3具有通常的Portlet運行時環(huán)境提供的功能,可以返回特定的狀態(tài)下的Portlet標(biāo)記,并且可以管理Portlet的狀態(tài)和屬性。
4支持直接的用戶交互,用戶請求被轉(zhuǎn)發(fā)到請求的Portlet,根據(jù)交互狀態(tài)返回合適的標(biāo)記片段。
5發(fā)布和支持遠程門戶組件的運行。這里因為門戶組件的廠商繁多,而且相關(guān)的規(guī)范Java Portlet API正在形成中,所以我的目標(biāo)的首先支持JetspeedPortlet API的擴展,進一步支持標(biāo)準(zhǔn)的Java PortletAPI。
6持久化的狀態(tài)存儲,需要即時保存運行時的狀態(tài)和重要信息,將運行時對象序列化。
7支持消費者對遠程門戶組件的管理和配置,包括克隆、定制和改變屬性等操作。
8可移植性和可擴展能力,采用多個Portlet適配器連接多種Portlet容器,支持多種PortletAPI。
9具有較好的容錯能力,異常處理能力和完備的日志功能等。
基于以上功能,按照高內(nèi)聚,低耦合的設(shè)計思想,如圖2所示,本發(fā)明將WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)設(shè)計成層次化的處理模型,主要包含Web服務(wù)接口層、WSRP引擎處理層、服務(wù)調(diào)用層和門戶組件部署配置管理器四部分。
1、Web服務(wù)接口層Web服務(wù)接口層主要是一個Java平臺的Web服務(wù)實現(xiàn),用于接收消費者的SOAP請求,分析其語義,使用RMI調(diào)用下層的WSRP引擎來得到返回結(jié)果,并重新序列化成SOAP消息返回給消費者。
Web服務(wù)接口層包括實現(xiàn)WSRP規(guī)范中定義的注冊、描述、標(biāo)記和管理4種類型的Web服務(wù)端口,并嚴(yán)格遵循WSRP規(guī)范的接口數(shù)據(jù)結(jié)構(gòu),以實現(xiàn)Internet上的互操作。其中,消費者注冊接口消費者向生產(chǎn)者注冊,形成一種契約關(guān)系,得到一個唯一的注冊句柄作為訪問遠程門戶組件的依據(jù)和身份標(biāo)識。
得到服務(wù)描述接口消費者動態(tài)的獲取生產(chǎn)者提供的服務(wù)內(nèi)容和組件變動情況,及時獲取動態(tài)的服務(wù)描述,應(yīng)用新的組件。
遠程組件的定制和配置接口消費者可以向生產(chǎn)者要求新的可配置的組件實例,并配置這些組件的屬性,使得同一門戶組件在不同的消費者處顯示不同的外觀和內(nèi)容。
得到標(biāo)記片段和處理用戶交互接口消費者通過該Web服務(wù)接口可以動態(tài)得到遠程門戶組件的標(biāo)記片斷,并與之交互,體現(xiàn)了WSRP服務(wù)的可視化和交互性。
將Web服務(wù)接口單獨分層一方面體現(xiàn)了功能模塊的層次,更為重要的是使得WSRP生產(chǎn)者可以方便的移植到任何J2EE平臺的Web服務(wù)容器內(nèi)。本發(fā)明的生產(chǎn)者Web服務(wù)運行環(huán)境使用的是WebSASE1.5版本,如果需要,生產(chǎn)者基礎(chǔ)結(jié)構(gòu)可以方便的移植到其他的Web服務(wù)運行環(huán)境中。
2、WSRP引擎處理層為了動態(tài)管理和配置,保證系統(tǒng)的層次結(jié)構(gòu)和松耦合,本發(fā)明將WSRP引擎設(shè)計成一個可管理的Mbean,運行在一個Mbean容器中,該Mbean對外暴露兩種類型的接口一個是服務(wù)接口和一個是管理接口。WSRP引擎處理層利用抽象的實體對象來代表一個遠程門戶組件,最終通過實體對象去調(diào)用服務(wù)調(diào)用層的各種門戶組件適配器接口。
WSRP引擎處理層主要指實現(xiàn)WSRP統(tǒng)一處理過程的引擎Mbean及其相關(guān)組件,該部分主要由注冊管理器、描述處理器、會話處理器和實體對象池四部分構(gòu)成。
(1)注冊管理器本發(fā)明使用Registration對象來描述一個消費者和本生產(chǎn)者的注冊關(guān)系。該對象的一系列屬性就表明了注冊的數(shù)據(jù)和注冊的句柄。在注冊完成后,消費者方可根據(jù)注冊句柄完成其他的調(diào)用。注冊管理器對注冊對象的管理,采用對象哈希表的方法,按注冊句柄為鍵,就可以方便而快速的在內(nèi)存中存取注冊對象。使用CastorAPI的強大功能,可以方便的在內(nèi)存和外存中換入換出注冊對象。
(2)、描述處理器描述處理器主要完成WSRP規(guī)范中的服務(wù)描述,其中只包含獲取服務(wù)描述一個操作,但是它同樣涉及到了描述信息的持久化工作,而且由于系統(tǒng)配置的動態(tài)化,服務(wù)描述也是動態(tài)的,所以需要根據(jù)部署配置工具的操作而改變。本發(fā)明使用了一個服務(wù)描述對象來表示一個描述。
(3)、會話處理器復(fù)雜的門戶組件支持用戶的會話狀態(tài),對于有會話狀態(tài)的門戶組件,本發(fā)明仍然只抽象出一個實體,并且將該實體對象放在實體池中管理。但是需要為每個用戶的請求建立一個實體會話來保存臨時的會話狀態(tài),本發(fā)明使用一個實體會話對象來保存一個用戶的臨時信息,該對象唯一對應(yīng)一個句柄,會話處理器就是許多個實體會話對象的管理器。
當(dāng)一個用戶對某個portlet的標(biāo)記或交互請求第一次到來時,會帶來一個唯一的會話ID,會話處理器根據(jù)這個ID建立用戶會話,表現(xiàn)為一個實體會話對象,實體便可以使用該會話對象保存一些中間狀態(tài)。
當(dāng)消費者強行結(jié)束一個會話,或者會話終止期到來,會話管理器便會銷毀用戶會話。
(4)、實體對象池由于用戶的每次請求都要經(jīng)過實體對象,為了避免對實體對象的頻繁創(chuàng)建,本發(fā)明使用一個實體對象池來統(tǒng)一管理內(nèi)存中的實體對象,避免重復(fù)創(chuàng)建對象的開銷。
每個對象都是可以序列化和反序列化。實體池初始化的時候從硬盤上的實體對象對應(yīng)的xml文件反序列化生成一系列的實體對象,每種類型的portlet只有一個實體對象文件,其中包含一個克隆的句柄列表。將實體的對象和實體狀態(tài)分開的好處是,每個克隆的實體其基本信息和它的父對象是一致的,所區(qū)別的地方只有可配置的屬性列表。
實體對象池內(nèi)包含有多個實體對象,它是實現(xiàn)克隆Portlet、銷毀Portlet和獲取Portlet詳細描述的接口,每次克隆和銷毀一個實體,實體池都需要重新改變狀態(tài),并且將實體對象及時的序列化到xml文件中。實體對象池為其他組件提供了根據(jù)句柄獲取實體對象的功能。
3、服務(wù)調(diào)用層由于Java平臺上的門戶組件接口沒有得到統(tǒng)一,因此有多種門戶組件的實現(xiàn),通常每種門戶平臺的門戶組件接口都不盡相同,不同門戶之間也無法共享組件。不同的門戶組件通常依賴于現(xiàn)有的應(yīng)用服務(wù)器或運行框架,因此在服務(wù)調(diào)用層的實現(xiàn)上,本發(fā)明設(shè)計了具有統(tǒng)一調(diào)用接口的組件適配器,以完成對多種門戶組件的集成。
WSRP引擎中使用實體對象的方法抽象的代表一個portlet(門戶組件),但是本發(fā)明仍然需要有實際的portlet運行時的對象來提供實現(xiàn)基礎(chǔ)的標(biāo)記和交互接口,Portlet作為遠程門戶組件,是整個WSRP最核心的部分,因此本發(fā)明需要構(gòu)建一個Portlet的運行時的環(huán)境來容納,管理,調(diào)用這些發(fā)布在生產(chǎn)者中的portlet。
通常情況下,每種類型的Portal實現(xiàn)都提供了完全不同的portlet接口,而每個Portal就是一個portlet的運行時容器,但是因為Portal涉及到頁面整合、定制、布局等諸多功能所以顯得龐大,而這里本發(fā)明只需要為portlet提供一個最基本的運行時環(huán)境,可以調(diào)用portlet提供的有限功能就可以,大多數(shù)如管理、協(xié)作等相關(guān)功能是本發(fā)明不需要的,所以才可能實現(xiàn)一個簡單的Portlet運行時環(huán)境。
盡管如此,本發(fā)明的設(shè)計還是突破了每種Portal支持特定PortletAPI的限制,使得WSRP生產(chǎn)者可以生產(chǎn)不同類型接口的Portlet,因為本發(fā)明的運行時環(huán)境只需要支持porltet有限的功能和接口,所以本發(fā)明為每種portlet提供了門戶組件適配器接口,配置相應(yīng)的適配器,就可以解決擴展性和支持多種API的問題。對于每種類型的門戶組件適配器,本發(fā)明僅定義其調(diào)用接口,不對實現(xiàn)方式進行約束。因此在門戶組件適配器的實現(xiàn)中,只需按照該門戶組件的功能實現(xiàn)所依賴的運行框架進行定制,并在部署配置文件中描述相關(guān)配置信息,即可配置到服務(wù)調(diào)用層中由門戶組件對象池在運行時動態(tài)加載,為服務(wù)調(diào)用層提供一致的調(diào)用方式。
所有的適配器對外提供的功能包括獲取一個Portlet的標(biāo)記片段、支持用戶和Porltet之間的交互。
本發(fā)明支持Jetspeed PortletAPI擴展編寫的Portlet,既可以發(fā)布在生產(chǎn)者中,也可以正常的作為本地門戶組件在ACTPortal中使用,大大的縮短了應(yīng)用周期,方便Internet環(huán)境中的快速開發(fā)。
為了提高服務(wù)調(diào)用效率,避免服務(wù)器端頻繁的創(chuàng)建對象開銷,本發(fā)明使用了門戶組件對象池,每個門戶組件在第一次請求時被創(chuàng)建,其后由門戶組件對象池保存和管理該對象實例,在對象池中對象數(shù)量超過一定個數(shù)后,本發(fā)明自動銷毀最長時間未用的實體組件對象,保證資源的控制。
4、門戶組件部署配置管理器為了快速部署遠程門戶組件,了解系統(tǒng)運行時的狀況,便于管理和配置,本發(fā)明提供了一個門戶組件部署和置管理器來用于實現(xiàn)系統(tǒng)管理員的管理功能,本模塊提供了一個獨立的javaSwing窗口界面與WSRP引擎連接,可以動態(tài)的監(jiān)控系統(tǒng)的運行情況,并且動態(tài)的部署、反部署新的門戶組件。
為了避免繁瑣的手工操作,能夠?qū)崿F(xiàn)動態(tài)部署,將發(fā)布一個門戶組件的所有資源和配置文件按指定的目錄使用iar命令打包成后綴名為rpar的包,作為一個發(fā)布單元,只需要將發(fā)布單元拷貝到deploy目錄下就會被監(jiān)聽。
本發(fā)明在部署管理器中使用一個后臺線程作為監(jiān)聽器,監(jiān)聽時間間隔在引擎的配置文件中可配置,默認(rèn)值是3000。即每3000毫秒,每隔3秒鐘會監(jiān)聽deploy目錄一次,根據(jù)時間戳判斷,發(fā)現(xiàn)新的部署單元包就發(fā)布,發(fā)現(xiàn)刪除了就反部署該門戶組件。
部署WSRP生產(chǎn)者的目的是向消費者提供一系列的遠程門戶組件,這些組件的基礎(chǔ)是具體的portlet的類,同時還有相關(guān)的配置文件,本發(fā)明需要的配置文件及其組成如下生產(chǎn)者配置文件指明了配置的日志文件和生產(chǎn)者的相關(guān)信息,在系統(tǒng)初始化的時候用到。
生成服務(wù)描述文件是服務(wù)描述整個對象的存儲文件,初始的時候在生產(chǎn)者部署時生成,以后會由描述處理器自動管理,其內(nèi)容是動態(tài)變化的。
以上這兩個配置文件是全局起作用,由引擎控制,一般需要手工修改。
對于每個Portlet(門戶組件)都需要有以下的配置文件實體描述文件該配置文件指明該Portlet的類文件、描述、標(biāo)題窗口狀態(tài)等屬性,系統(tǒng)會將該配置文件轉(zhuǎn)換為一個實體描述文件,代表一個持久化的實體。
Portlet屬性描述文件和屬性值文件這部分主要是給消費者配置的Portlet使用的獨立的屬性配置。
目前因為本發(fā)明的生產(chǎn)者是基于Java平臺的,所以支持java平臺的Portlet,向生產(chǎn)者中部署一個portlet,如果手工做需要做以下幾件事情1獲取該Portlet的java類(Class以及jar)并拷貝到生產(chǎn)者的指定目錄中,此時生產(chǎn)者已經(jīng)被展開為生產(chǎn)者Web服務(wù)。
2獲取該Portlet的資源列表,并拷貝到持久化存儲目錄。
3手工寫一個實體配置文件并放在指定目錄。
4手工寫一個實體狀態(tài)配置文件并放在指定目錄。
5重新啟動系統(tǒng),讀取配置文件。
部署和反部署的具體工作由一個部署管理器完成,具體的過程比較復(fù)雜,主要過程包括解壓縮,拷貝文件,動態(tài)注冊等等。
監(jiān)控管理員通過監(jiān)控界面主要可以監(jiān)控系統(tǒng)的5類資源1系統(tǒng)配置信息,即WSRP.propertities文件內(nèi)容,并可修改。
2消費者注冊信息瀏覽到系統(tǒng)中所有注冊的消費者信息和配置文件,并且可以動態(tài)的注冊一個消費者,修改一個消費者的注冊信息,動態(tài)的終止某個消費者的注冊關(guān)系。
3實體信息瀏覽系統(tǒng)中的所有生產(chǎn)者提供實體已經(jīng)從這些實體克隆的消費者配置實體;瀏覽和修改實體的配置屬性描述;瀏覽和修改實體的默認(rèn)屬性值;動態(tài)的銷毀一個實體。
4實體屬性文件實體屬性文件描述了實體的屬性信息。
5生產(chǎn)者配置文件描述了生產(chǎn)者組件工廠的配置信息。
消費者扮演了使用遠程門戶組件的角色,一個門戶消費者為了實現(xiàn)對遠程門戶組件的消費,需要構(gòu)建對應(yīng)的本地Portlet來映射遠程門戶組件,有兩種實現(xiàn)方式可供選擇一種是純代理portlet方式每個本地的門戶組件自己去調(diào)用遠程門戶組件,獲取遠程組件的輸出;一種是消費者代理和輕量級的本地組件結(jié)合,使用消費者代理封裝所有共性的處理過程,再用簡單的本地組件通過調(diào)用消費者代理獲取遠程門戶組件的輸出。
考慮到系統(tǒng)的實用性,擴展性和性能要求,結(jié)合對這兩種方式的分析,本發(fā)明Portal消費者采用消費者代理的做法。WSRP服務(wù)消費者代理模塊具有管理和調(diào)用WSRP服務(wù)的統(tǒng)一功能,是一個可重用的組件模塊。消費者代理模塊是一個獨立的通用模塊,它將使用、管理遠程門戶組件的一些共性功能集中起來,做成可重用的模塊,提供相應(yīng)的功能接口,這樣任何消費者想要使用遠程服務(wù),都可以通過遠程代理實現(xiàn)。所以消費者代理模塊將使用一個WSRP服務(wù)的功能分開成相互調(diào)用的模塊,每個模塊獨立的完成自己的功能同時可以提供給其他的模塊調(diào)用,實現(xiàn)一個完整的從生產(chǎn)者管理,到服務(wù)注冊、服務(wù)描述、遠程門戶組件克隆等功能的完整應(yīng)用體系。
如圖3、圖4所示,WSRP消費者代理模塊包括配置管理器、注冊管理器、生產(chǎn)者管理器、會話管理器、實體管理器、服務(wù)定位器和服務(wù)管理接口。
1、配置管理器消費者代理需要一個消費者配置文件來記錄消費者的信息,記錄該消費者注冊到生產(chǎn)者的注冊信息和生產(chǎn)者URL,以及需要記錄到引用的遠程門戶組件的信息,本發(fā)明將這些信息以一個消費者配置文件的形式持久化的記錄下來。當(dāng)系統(tǒng)啟動,首先要初始化配置管理器,從配置文件中提取相關(guān)信息,可以將系統(tǒng)恢復(fù)成使用狀態(tài),這個配置文件的內(nèi)容包括記錄消費者信息包括消費者名字、消費者代理名字、描述和消費者URL等。
記錄注冊到的生產(chǎn)者信息,包括描述、URL和注冊句柄記錄系統(tǒng)引用到的遠程門戶組件的句柄和描述信息。
在系統(tǒng)的運行中因為管理員的操作會隨時影響系統(tǒng)的狀態(tài),所以在以下情況發(fā)生時,系統(tǒng)的配置文件會自動改變,這主要通過其他組件調(diào)用配置管理器的接口實現(xiàn)。
注冊和注銷會從配置文件中刪除一個生產(chǎn)者和注冊信息。
克隆或刪除一個遠程門戶組件會添加和刪除一個實體層信息。
配置管理器的功能就是管理和記錄消費者代理的配置信息,并且在初始化的時候?qū)⑦@些信息傳給相應(yīng)的組件,同時為其他組件提供功能接口,可以改變配置文件的內(nèi)容。
配置管理器主要將實體信息提供給實體管理器,將生產(chǎn)者信息提供給生產(chǎn)者管理器,將注冊信息提供給注冊管理器;同時會被注冊管理器和實體管理器調(diào)用以修改配置文件。
值得注意的是為什么生產(chǎn)者需要持久化運行時對象,而消費者只要記錄幾個句柄?這是因為生產(chǎn)者可以持久化的統(tǒng)一管理信息,那么消費者就不需要做重復(fù)的工作,如果需要詳細的信息,可以根據(jù)一些簡單的句柄和URL,通過調(diào)用WSRP服務(wù)的形式獲取。
2、注冊管理器一般情況下,生產(chǎn)者需要向消費者注冊,形成長期穩(wěn)定的注冊關(guān)系,并且能夠持久的記錄,以方便消費者使用遠程門戶組件,同時也便于商業(yè)業(yè)務(wù)的管理。為了描述這種注冊關(guān)系,本發(fā)明使用了一個Registration對象來描述一個消費者和生產(chǎn)者的注冊關(guān)系。該對象的一系列屬性就表明了注冊的數(shù)據(jù)和注冊的句柄。在注冊完成后,消費者方可根據(jù)注冊句柄完成其他的調(diào)用。它包括注冊上下文,其中包括一個注冊句柄。
簡而言之,注冊管理器要完成的工作包括在初始化的時候從配置管理器中獲取注冊信息,生成并且管理所有的已經(jīng)注冊的對象,這其中最重要的是一個注冊句柄;對外提供接口可以實現(xiàn)注冊和注銷功能;向下調(diào)用服務(wù)加載器,獲取一個注冊端口,以便調(diào)用Web服務(wù)。
3、生產(chǎn)者管理器為了方便的管理遠程門戶組件,系統(tǒng)將每個遠程的WSRP生產(chǎn)者抽象成為一個生產(chǎn)者對象,由生產(chǎn)者管理器統(tǒng)一管理,一個生產(chǎn)者對象包含如下屬性1)生產(chǎn)者的URL地址,這個是Web服務(wù)的URL地址;2)消費者在該生產(chǎn)者中的注冊句柄;3)生產(chǎn)者名字;4)生產(chǎn)者的服務(wù)描述。
它主要承擔(dān)獲取生產(chǎn)者服務(wù)描述的功能實現(xiàn)。
生產(chǎn)者管理器所需要完成的功能就是管理好所有消費者注冊的生產(chǎn)者,提供獲取,刪除這些生產(chǎn)者對象的方法。為了便于組織管理,系統(tǒng)將生產(chǎn)者對象以URL為鍵值添加到一個哈希表中去。
4、會話管理器大部分的Portlet都是支持用戶狀態(tài)的,對于有會話狀態(tài)的Portlet,本發(fā)明仍然指抽象出一個實體,并且將該實體對象放在實體池中管理。但是需要為每個用戶的請求建立一個實體會話來保存臨時的會話狀態(tài),本發(fā)明使用一個實體會話對象來保存一個用戶的臨時信息,該對象唯一對應(yīng)一個句柄,會話處理器就是許多個實體會話對象的管理器。
對于每個實體會話,它包含一個全局唯一的標(biāo)識,會話句柄;一個實體句柄,記錄了該會話維系于哪個實體對象;一個會話終止期,默認(rèn)值可以在配置文件中設(shè)置,每次激活會話后恢復(fù)初始值,到時間未激活者銷毀該會話對象;
一個屬性哈希表,提供put和get方法便于存取臨時的會話信息。
當(dāng)一個用戶對某個門戶組件的標(biāo)記或交互請求第一次到來時,會帶來一個唯一的會話ID,會話處理器根據(jù)這個ID建立用戶會話一個實體會話對象,實體便可以使用該會話對象保存一些中間狀態(tài)。
當(dāng)消費者強行結(jié)束一個會話,或者會話終止期到來,會話管理器便會銷毀用戶會話。
5、實體管理器本發(fā)明在消費者代理中使用每個實體對象代表遠程的門戶組件對象,這個實體對象具有如下屬性●實體的訪問點就是生產(chǎn)者的WebService URL;●實體上下文包括實體句柄;●實體描述實體自身的描述信息;●注冊上下文包含注冊關(guān)系的對象。
實體管理器的功能就是管理好這些實體,提供功能給其他組件,初始化的時候,讀取所有實體序列化文件,恢復(fù)成系統(tǒng)內(nèi)存對象,按實體句柄為鍵值存放在哈希表;提供接口供其他組件調(diào)用,根據(jù)實體句柄獲取實體對象;同時提供動態(tài)添加一個實體對象的方法,在添加以后自動序列化該對象,保持持久狀態(tài)。
如圖1所示,本發(fā)明遠程門戶組件的Web服務(wù)處理系統(tǒng)還包括遠程門戶組件管理模塊,它包括遠程門戶組件管理模塊和遠程門戶組件映射模塊。
服務(wù)管理模塊面向門戶系統(tǒng)管理員提供管理WSRP生產(chǎn)者和遠程門戶組件的功能。作為消費者使用遠程門戶組件的界面,WSRP服務(wù)提供了本地門戶組件Portlet來實現(xiàn)界面功能,在這些本地Porlet中調(diào)用消費者代理提供的功能,實現(xiàn)門戶對遠程門戶組件的消費,具體的消費方法是使用一種特定的本地門戶組件作為遠程門戶組件的映射,這種映射對用戶是完全透明的,用戶使用實際上仍然是本地的Portlet,但是該Portlet的標(biāo)記和交互來自遠方的生產(chǎn)者。
為了使Portal成為一個WSRP服務(wù)的消費者,Portal必須具備使用遠程門戶組件的功能,本發(fā)明以基礎(chǔ)類庫的方式給出可以實現(xiàn)基本的WSRP消費功能的WSRP消費者代理,統(tǒng)一管理和調(diào)用消費者使用的遠程門戶組件,同時提供一個基于門戶組件的管理界面,方便Portal使用消費者代理提供的功能。同時為了在Portal中方便的使用,本發(fā)明提供一種抽象的WSRPPortlet作為對遠程Portlet的映射,簡單的來說消費者必須具備以下功能
1可以向生產(chǎn)者注冊,修改注冊和取消注冊的功能。
2獲取指定的服務(wù)描述的功能。
3支持克隆或者直接添加的功能。
4支持克隆的遠程門戶的配置。
5持久化的狀態(tài)存儲,需要保存運行時的狀態(tài),將運行時對象序列化。
6支持消費者對遠程門戶組件的管理和配置,包括克隆、定制和修改等操作。
7可移植性和可擴展能力,消費者代理可以方便的被重用,接口清晰。
8具有較好的容錯能力,異常處理能力等。
消費者代理雖然給本發(fā)明提供了完備的功能,但是本發(fā)明仍然需要用戶界面來實現(xiàn)和完成這個功能,所以這部分一方面是界面,另一方面還有一些功能需要實現(xiàn)。雖然WSRP消費者代理可以完成絕大部分的管理和配置工作,但是它只提供了一些功能接口,不是和任何特定的消費者相關(guān)的,并且為了使用消費者代理,Portal也要做許多額外的工作,門戶消費者的服務(wù)管理模塊有以下幾個門戶組件組成,如圖5所示1生產(chǎn)者瀏覽門戶組件管理員可以通過該門戶組件組件瀏覽所有注冊的遠程門戶組件生產(chǎn)者的基本信息,并可以刪除(注銷)一個生產(chǎn)者;2生產(chǎn)者詳細信息門戶組件門戶管理員瀏覽生產(chǎn)者提供的遠程門戶組件列表,通過操作選擇直接引用還是克隆引用該生產(chǎn)者提供的遠程門戶組件;3注冊生產(chǎn)者門戶組件向新的生產(chǎn)者注冊,以使用該生產(chǎn)者提供的功能;4遠程瀏覽門戶組件瀏覽系統(tǒng)使用的遠程門戶組件,并且可以刪除已經(jīng)使用的遠程門戶組件;5配置門戶組件可以配置克隆的遠程門戶組件的屬性以實現(xiàn)不同的外觀和布局。
根據(jù)遠程組件映射原理,每個系統(tǒng)引用的遠程Portlet都要在Portal中有一個WSRPPortlet來映射,那么Portal怎樣管理WSRPPotrlet,怎樣識別WSRPPortlet的問題可以通過注冊文件來解決。
具體的方法是在添加或克隆的時候,門戶根據(jù)克隆后的句柄作為名字生成一個門戶組件注冊文件,向系統(tǒng)注冊一個新的本地映射組件,該組件的名字就應(yīng)該就是克隆后得到的遠程門戶組件實例句柄。
下面描述了門戶消費者引用和克隆一個遠程門戶組件的過程1)首先管理員登錄門戶網(wǎng)站,進入到生產(chǎn)者詳細信息的頁面2)進入引用或克隆的頁面,自動獲取到從遠程組件描述中得來的生成門戶組件注冊文件需要的參數(shù),包括Portlet名字注冊需要的本地組件名稱,和句柄相同以保證唯一;Portlet標(biāo)題該遠程門戶組件對應(yīng)的本地組件的標(biāo)題;Portlet描述該遠程門戶組件對應(yīng)的本地組件的描述;生產(chǎn)者的URL生產(chǎn)者的Web服務(wù)地址;portleHandle遠程門戶組件句柄;應(yīng)用類型可能是ref或者clone,表明是直接引用遠程門戶組件還是克??;3)根據(jù)參數(shù)生成門戶組件注冊文件,寫入門戶配置文件夾,文件名與句柄相同;4)動態(tài)注冊該Portlet,使得門戶組件即時可用;5)消費者代理配置管理器中里面添加該門戶組件信息,并寫入配置文件;6)引用和克隆不同的事情就在于句柄來源和type,克隆的句柄是調(diào)用生產(chǎn)者Web服務(wù)得到的。
刪除一個已經(jīng)引用的遠程門戶組件的引用關(guān)系主要包括以下步驟1)首先要動態(tài)取消注冊,使得該門戶組件不能使用;2)然后從每個用戶頁面中去掉這個本地映射的組件;3)然后刪除該門戶組件注冊文件;4)然后調(diào)用生產(chǎn)者Web服務(wù)銷毀一個遠程門戶組件實例;5)然后告訴消費者代理要刪除該遠程門戶組件的相關(guān)信息;通常情況下,對于門戶消費者,使用的都是本地的門戶組件,每個門戶組件需要實現(xiàn)特定的接口被門戶引擎調(diào)用。使用Ogc表示本地組件的接口,該接口返回一個HTML標(biāo)記片段,也就該組件的輸出,每個門戶頁面表現(xiàn)為多個門戶組件的輸出的集合,由門戶引擎將本地的門戶組件輸出的HTML標(biāo)記片段封裝成最終用戶頁面。
為了使得門戶可以使用遠程組件,本發(fā)明使用一種特殊的本地組件,這種組件實現(xiàn)了Ogc本地接口,但是其返回的內(nèi)容是在該組件內(nèi)部調(diào)用了Ogm而獲取到的。對消費者而言,每個生產(chǎn)者對應(yīng)一個Web服務(wù)的URL,每個生產(chǎn)者可能提供多個門戶組件,每個門戶組件實例對象會有一個唯一的句柄PortletHandle表示,而且會在Portal端存在一個本地組件Pyi,因為有Ogc(Pyi)=Ogm(URL,PortletHandle),也就能保證門戶對遠程組件的消費。
為了使得消費者的工作具有重用性,本發(fā)明將所有調(diào)用遠程門戶組件的相關(guān)工作抽象為一個通用的消費者代理,以功能組件的形式提供給門戶。
一個具體的映射過程如下1)門戶站點管理員決定使用某個遠程門戶組件。
2)發(fā)送復(fù)制實例的SOAP調(diào)用請求,生產(chǎn)者為門戶生成新的門戶組件實例。
3)門戶生成一個本地門戶組件與該遠程組件相關(guān)聯(lián)。
4)用戶訪問門戶中的映射組件,該組件調(diào)用遠程組件的Ogm操作獲取遠程組件的輸出,通過Ogc接口返回給本地門戶組件。
5)用戶提交表單數(shù)據(jù),本地組件會轉(zhuǎn)交給遠程組件并將結(jié)果返回,完全模擬遠程組件的行為。
這樣做的優(yōu)點是,WSRP門戶組件對門戶引擎透明,具有極好的重用性和靈活性,擴展性。門戶組件使用的組件都是本地的,不同的是WSRP門戶組件相當(dāng)于遠程門戶組件在本地的一個映射,這樣所有與遠程組件相關(guān)的操作都限定在組件內(nèi)部,對門戶系統(tǒng)結(jié)構(gòu)和性能沒有任何影響,具有很低的耦合度。
因為遠程門戶組件返回的是純文本形式的HTML片斷,遠程組件中輸出的其他一些非文本信息將難于獲取,因此消費者在生成本地映射的組件同時,將遠程組件的2進制資源如圖片,音頻,或視頻下載到本地,并且修改返回的HTML信息以保證頁面中的資源完整的顯示給最終用戶。
本發(fā)明遠程門戶組件的Web服務(wù)處理系統(tǒng)的主要操作流程包括注冊第一步,門戶發(fā)出調(diào)用請求第二步,引擎處理請求,檢查參數(shù);第三步,通過引擎消息總線找到注冊管理器,調(diào)用注冊接口完成注冊功能;第四步,讀取并進行合法性校驗,返回注冊句柄。
獲取描述第一步,信息門戶發(fā)出戶獲取服務(wù)描述請求;第二步,引擎處理請求,檢查參數(shù);
第三步,通過引擎消息總線找到描述管理器;第四步,寫入并實施寫后讀校驗,根據(jù)校驗結(jié)果進行失敗或成功返回。
獲取標(biāo)記并交互第一步,信息門戶發(fā)出交互請求,傳遞交互參數(shù);第二步,引擎獲取參數(shù),檢查后存入會話,狀態(tài)改變;第三步,引擎找到門戶組件適配器,通過組件對象池獲取組件對象;第四步,得到組件對象的輸出,進行成功返回。
遠程組件管理第一步,信息門戶發(fā)出管理請求,傳遞調(diào)用參數(shù);第二步,接受參數(shù)將控制轉(zhuǎn)交實體對象池和門戶組件對象池;第三步,完成操作后返回結(jié)果;其中,當(dāng)消費者獲取遠程門戶組件實例并配置其屬性以后,就在消費者頁面中增加了遠程門戶組件的映射,最終用戶就可以通過消費者的頁面使用遠程門戶組件。最終用戶瀏覽遠程門戶組件的內(nèi)容,就會觸發(fā)相應(yīng)的獲取標(biāo)記接口,消費者自動調(diào)用接口獲取遠程門戶組件的輸出,對于用戶而言,這個過程是透明的,當(dāng)用戶提交表單,表單數(shù)據(jù)會轉(zhuǎn)交給遠程門戶組件并且將結(jié)果返回給最終用戶,在多個交互過程中,通過消費者,用戶和遠程門戶組件保持會話關(guān)系。
縱上所述,本發(fā)明在系統(tǒng)結(jié)構(gòu)設(shè)計上,采用了如下的設(shè)計方式1、為系統(tǒng)各模塊定義了清晰的功能接口,并且將實現(xiàn)和接口分離,采用類工廠的設(shè)計模式,使得各模塊可以動態(tài)組裝,降低了模塊之間的耦合度,提高的靈活性和可重用性,同時使得系統(tǒng)的改造和升級在確定的可控范圍之內(nèi),保持了系統(tǒng)的相對穩(wěn)定性;2、層次化的處理結(jié)構(gòu)將對遠程門戶組件的訪問過程分解為三個階段,使問題的解決約束在不同的層次,保持各個部分的相對獨立,增強了系統(tǒng)的可擴展能力;3、動態(tài)配置過程提供了配置和部署管理工具不但可以動態(tài)的部署和反部署門戶組件,而且還可以動態(tài)的更新組件的配置信息和屬性信息,滿足WSRP應(yīng)用需求的易變性和多樣性,增強處理過程的靈活性;4獨立的生產(chǎn)者基礎(chǔ)結(jié)構(gòu)使得WSRP生產(chǎn)者不依賴于具體的門戶平臺,采用了適配器的設(shè)計模式使得生產(chǎn)者可以支持多種不同門戶組件接口實現(xiàn),體現(xiàn)了高度的兼容性和可擴展性。
權(quán)利要求
1.一種遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于該Web服務(wù)處理系統(tǒng)由WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)、通用的WSRP消費者代理和信息門戶中的遠程組件管理模塊三大部分組成;所述WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)是本系統(tǒng)的核心部分,它實現(xiàn)了WSRP規(guī)范中定義的Web服務(wù)接口;處理遠程門戶組件運行環(huán)境的共性需求;支持多種不同門戶組件實現(xiàn);以及動態(tài)地部署和反部署門戶組件;所述通用WSRP消費者代理主要是代理完成消費一個WSRP服務(wù)所需要完成的共性處理以及SOAP客戶端的工作;任何消費者都可以方便的通過消費者代理、WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)獲取遠程門戶組件的標(biāo)記;所述遠程組件管理模塊主要完成測試、檢驗和管理系統(tǒng)的運行。
2.根據(jù)權(quán)利要求1所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于所述WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)包括Web服務(wù)接口層、WSRP引擎處理層、服務(wù)調(diào)用層和門戶組件部署配置管理器四部分;所述Web服務(wù)接口層為一個Java平臺的Web服務(wù)實現(xiàn),用于接收消費者的SOAP請求,分析其語義,使用RMI調(diào)用下層的WSRP引擎來得到返回結(jié)果,并重新序列化成SOAP消息返回給消費者;所述WSRP引擎處理層主要完成WSRP服務(wù)的統(tǒng)一處理;所述服務(wù)調(diào)用層主要完成對多種門戶組件的集成;所述門戶組件部署配置管理器動態(tài)地監(jiān)控系統(tǒng)的運行情況,并且動態(tài)的部署、反部署門戶組件。
3.根據(jù)權(quán)利要求2所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于所述Web服務(wù)接口層包括消費者注冊接口、得到服務(wù)描述接口、遠程組件的定制和配置接口和得到標(biāo)記片段和處理用戶交互接口;所述消費者注冊接口消費者向生產(chǎn)者注冊,形成一種契約關(guān)系,得到一個唯一的注冊句柄作為訪問遠程門戶組件的依據(jù)和身份標(biāo)識;得到服務(wù)描述接口消費者動態(tài)的獲取生產(chǎn)者提供的服務(wù)內(nèi)容和組件變動情況,及時獲取動態(tài)的服務(wù)描述,應(yīng)用新的組件;遠程組件的定制和配置接口消費者可以向生產(chǎn)者要求新的可配置的組件實例,并配置這些組件的屬性,使得同一門戶組件在不同的消費者處顯示不同的外觀和內(nèi)容;得到標(biāo)記片段和處理用戶交互接口消費者通過該Web服務(wù)接口可以動態(tài)得到遠程門戶組件的標(biāo)記片斷,并與之交互,體現(xiàn)了WSRP服務(wù)的可視化和交互性。
4.根據(jù)權(quán)利要求2所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于所述WSRP引擎處理層由注冊管理器、描述處理器、會話處理器和實體對象池四部分構(gòu)成;所述注冊管理器完成對注冊對象的管理,采用對象哈希表的方法,按注冊句柄為鍵,在內(nèi)存和外存中換入換出注冊對象;所述描述處理器主要完成WSRP規(guī)范中的服務(wù)描述;所述會話處理器主要管理多個實體會話對象;所述實體對象池統(tǒng)一管理內(nèi)存中的實體對象。
5.根據(jù)權(quán)利要求2所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于所述服務(wù)調(diào)用層具有統(tǒng)一調(diào)用接口與所述WSRP引擎處理層進行信息傳遞;所述服務(wù)調(diào)用層為每種門戶組件提供了門戶組件適配器接口,配置相應(yīng)的適配器。
6.根據(jù)權(quán)利要求2所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于門戶組件部署配置管理器提供了一個獨立的javaSwing窗口界面與WSRP引擎連接,可以動態(tài)的監(jiān)控系統(tǒng)的運行情況,并且動態(tài)的部署、反部署新的門戶組件。
7.根據(jù)權(quán)利要求1所述的遠程門戶組件的Web服務(wù)處理系統(tǒng),其特征在于所述WSRP服務(wù)消費者代理模塊具有管理和調(diào)用WSRP服務(wù)的統(tǒng)一功能,是一個可重用的組件模塊;它包括配置管理器、注冊管理器、生產(chǎn)者管理器、會話管理器、實體管理器、服務(wù)定位器和服務(wù)管理接口;配置管理器的功能是管理和記錄消費者代理的配置信息,并且在初始化的時候?qū)⑦@些信息傳給相應(yīng)的組件,同時為其他組件提供功能接口,可以改變配置文件的內(nèi)容;注冊管理器主要完成在初始化的時候從配置管理器中獲取注冊信息,生成并且管理所有的已經(jīng)注冊的對象,這其中最重要的是一個注冊句柄;對外提供接口可以實現(xiàn)注冊和注銷功能;向下調(diào)用服務(wù)加載器,獲取一個注冊端口,以便調(diào)用Web服務(wù);生產(chǎn)者管理器主要完成管理好所有消費者注冊的生產(chǎn)者,提供獲取,刪除這些生產(chǎn)者對象的方法。為了便于組織管理,系統(tǒng)將生產(chǎn)者對象以URL為鍵值添加到一個哈希表中去;會話管理器主要是管理多個實體會話對象;實體管理器主要是管理多個實體,提供功能給其他組件,初始化的時候,讀取所有實體序列化文件,恢復(fù)成系統(tǒng)內(nèi)存對象,按實體句柄為鍵值存放在哈希表;提供接口供其他組件調(diào)用,根據(jù)實體句柄獲取實體對象;同時提供動態(tài)添加一個實體對象的方法,在添加以后自動序列化該對象,保持持久狀態(tài)。
全文摘要
本發(fā)明公開了一種遠程門戶組件的Web服務(wù)處理系統(tǒng),它由WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)、通用的WSRP消費者代理和信息門戶中的遠程組件管理模塊三大部分組成。所述WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)是本系統(tǒng)的核心部分,它實現(xiàn)了WSRP規(guī)范中定義的Web服務(wù)接口;處理遠程門戶組件運行環(huán)境的共性需求;支持多種不同門戶組件實現(xiàn);以及動態(tài)地部署和反部署門戶組件;所述通用WSRP消費者代理主要是代理完成消費一個WSRP服務(wù)所需要完成的共性處理以及SOAP客戶端的工作;任何消費者都可以方便的通過消費者代理、WSRP生產(chǎn)者基礎(chǔ)結(jié)構(gòu)獲取遠程門戶組件的標(biāo)記;所述遠程組件管理模塊主要完成測試、檢驗和管理系統(tǒng)的運行。
文檔編號H04L29/06GK1805431SQ20051000192
公開日2006年7月19日 申請日期2005年1月12日 優(yōu)先權(quán)日2005年1月12日
發(fā)明者懷進鵬, 趙勇, 王后慶, 馬殿富, 李振海, 葛聲, 劉旭東 申請人:北京航空航天大學(xué)