1.一種基于ICE中間件的異構(gòu)資源集成框架,其特征在于:包括客戶端、防火墻、注冊中心、可視化界面、服務(wù)主機(jī)、副本主機(jī)、服務(wù)、IceNode與服務(wù)部署系統(tǒng);
其中,客戶端,用于通過防火墻與注冊中心相連,通過注冊中心返回的服務(wù)端點(diǎn)信息與服務(wù)所在主機(jī)的IceNode建立通信連接,進(jìn)行服務(wù)調(diào)用;
防火墻,為應(yīng)用層防火墻和路由器,提供了安全、路由消息和事務(wù)管理功能;
注冊中心,用于存儲(chǔ)服務(wù)對象適配器和其所對應(yīng)的端點(diǎn)信息,通過與各個(gè)服務(wù)主機(jī)及副本主機(jī)的IceNode連接監(jiān)控各個(gè)主機(jī)及其服務(wù);
可視化界面,用于以界面的形式展示注冊中心、服務(wù)主機(jī)、IceNode、服務(wù)以及對象適配器的信息;
服務(wù)主機(jī),用于承載服務(wù)與IceNode;
副本主機(jī),用于承載服務(wù)與IceNode,分擔(dān)服務(wù)主機(jī)負(fù)載,實(shí)現(xiàn)負(fù)載均衡和容災(zāi);
服務(wù),用于部署在服務(wù)主機(jī)及副本主機(jī)中;在調(diào)用其它服務(wù)時(shí),用于與注冊中心直接連接發(fā)送請求;
IceNode,起著連接服務(wù)和注冊中心的橋梁作用,監(jiān)控所在主機(jī)以及主機(jī)部署的服務(wù);
服務(wù)部署系統(tǒng),用于與各個(gè)服務(wù)主機(jī)及副本主機(jī)連接,實(shí)現(xiàn)多節(jié)點(diǎn)服務(wù)部署、升級。
2.根據(jù)權(quán)利要求1所述的一種基于ICE中間件的異構(gòu)資源集成框架,其特征在于:所述客戶端采用C/S或B/S架構(gòu)模式的第三方應(yīng)用。
3.根據(jù)權(quán)利要求1所述的一種基于ICE中間件的異構(gòu)資源集成框架,其特征在于:所述服務(wù)主機(jī)和副本主機(jī)均采用PC機(jī)或服務(wù)器。
4.根據(jù)權(quán)利要求1所述的一種基于ICE中間件的異構(gòu)資源集成框架,其特征在于:所述服務(wù)采用Java語言編寫。
5.根據(jù)權(quán)利要求1所述的一種基于ICE中間件的異構(gòu)資源集成框架,其特征在于:所述服務(wù)通過注冊中心進(jìn)行相互調(diào)用,實(shí)現(xiàn)服務(wù)互操作。
6.一種基于權(quán)利要求1-5所述的ICE中間件的異構(gòu)資源集成框架的集成方法,其特征在于:具體包含如下步驟:
步驟1:將服務(wù)部署系統(tǒng)與各個(gè)服務(wù)主機(jī)以及副本主機(jī)相連,通過服務(wù)部署系統(tǒng)將服務(wù)以及IceNode部署在相應(yīng)服務(wù)主機(jī)與副本主機(jī)上;
步驟2:啟動(dòng)各個(gè)服務(wù)主機(jī)以及副本主機(jī)上的IceNode,配置注冊中心的配置文件,然后啟動(dòng)注冊中心;
步驟3:配置application.xml文件,然后利用可視化界面將配置好的application.xml文件添加到注冊中心,利用可視化界面查看注冊中心以及各個(gè)服務(wù)主機(jī)上IceNode和服務(wù)的信息;各個(gè)服務(wù)主機(jī)以及副本主機(jī)上的服務(wù)不需要手動(dòng)啟動(dòng),主機(jī)上的IceNode接收到服務(wù)請求時(shí)會(huì)按需啟動(dòng)服務(wù);
步驟4:客戶端通過防火墻與注冊中心連接,客戶端調(diào)用服務(wù)時(shí),通過防火墻向注冊中心發(fā)送服務(wù)調(diào)用請求,注冊中心根據(jù)負(fù)載策略高效地獲取空閑服務(wù)資源的端點(diǎn)信息反饋給客戶端,客戶端利用所獲得的端點(diǎn)通過防火墻與服務(wù)所在服務(wù)主機(jī)的IceNode建立連接進(jìn)行通信,請求者會(huì)將端點(diǎn)信息存儲(chǔ)在服務(wù)調(diào)用層相應(yīng)服務(wù)代理的緩存中;
步驟5:IceNode將服務(wù)調(diào)用請求傳遞給相應(yīng)服務(wù),如有返回結(jié)果,則IceNode通過防火墻將結(jié)果返回給客戶端;
步驟6:服務(wù)直接與注冊中心連接,服務(wù)調(diào)用其服務(wù)時(shí),向注冊中心發(fā)送服務(wù)調(diào)用請求,注冊中心根據(jù)負(fù)載策略高效地獲取空閑服務(wù)資源的端點(diǎn)信息反饋給發(fā)起請求的服務(wù),該服務(wù)利用所獲得的端點(diǎn)與服務(wù)所在服務(wù)主機(jī)的IceNode建立連接進(jìn)行通信,請求者會(huì)將端點(diǎn)信息存儲(chǔ)在服務(wù)調(diào)用層相應(yīng)服務(wù)代理的緩存中;
步驟7:客戶端或者服務(wù)再次調(diào)用相同服務(wù)時(shí),不需要向注冊中心發(fā)送請求,利用上次請求的端點(diǎn)信息直接與服務(wù)所在主機(jī)的IceNode建立連接;如果連接不能建立或者發(fā)生異常則向注冊中心請求新的端點(diǎn)信息;
步驟8:主機(jī)宕機(jī)時(shí),注冊中心通過監(jiān)測IceNode的狀態(tài)可以發(fā)現(xiàn)異常,將該主機(jī)在注冊中心的注冊信息標(biāo)記為不可獲取,此時(shí)該主機(jī)的服務(wù)由其他副本主機(jī)提供,保證服務(wù)的可靠性;
步驟9:宕機(jī)主機(jī)修復(fù)完畢后,重新啟動(dòng)其上的IceNode,此時(shí)注冊中心會(huì)將該主機(jī)在注冊中心的注冊信息重新標(biāo)記為可獲??;
步驟10:通過服務(wù)部署系統(tǒng)新增服務(wù)主機(jī)以及服務(wù),此時(shí)更新注冊中心的application.xml文件,并通過可視化界面將更新的application.xml文件同步更新到注冊中心,之后啟動(dòng)新增服務(wù)主機(jī)上的IceNode;
步驟11:通過服務(wù)部署系統(tǒng)更新服務(wù)主機(jī)上的服務(wù),如果服務(wù)對象適配器沒有變化則不需要更新application.xml文件;如對象適配器發(fā)生變化則需要更新application.xml文件,并通過可視化界面將更新的application.xml文件同步更新到注冊中心;
步驟12:減少服務(wù)主機(jī)以及服務(wù)時(shí),更新注冊中心的application.xml文件,并通過可視化界面將更新的application.xml文件同步更新到注冊中心。