国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器及其操作方法

      文檔序號:7921300閱讀:216來源:國知局

      專利名稱::用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器及其操作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器及其操作方法。
      背景技術(shù)
      :企業(yè)的業(yè)務(wù)流程會同時涉及到多個應(yīng)用系統(tǒng),例如,分別從不同公司購買的訂單管理(OM,OrderManagement)系統(tǒng)和庫存管理(M,InventoryManagement)系統(tǒng)等。企業(yè)通常希望這些系統(tǒng)能夠協(xié)同,但接口、架構(gòu)的不統(tǒng)一往往使得這些本應(yīng)緊密集成的應(yīng)用系統(tǒng)成為了一個個"信息孤島"。于是,企業(yè)應(yīng)用集成(EnterpriseA卯licationlntegration,EAI)技術(shù)應(yīng)運而生。圖1是傳統(tǒng)的企業(yè)應(yīng)用集成架構(gòu),其中采用了應(yīng)用實例適配器和集成中介(Broker)的體系結(jié)構(gòu)。在圖1中,應(yīng)用實例X通過應(yīng)用實例X適配器連接到集成中介,應(yīng)用實例Y通過應(yīng)用實例Y適配器連接到集成中介。所述集成中介的主要功能是完成業(yè)務(wù)對象在不同應(yīng)用中的數(shù)據(jù)映射、轉(zhuǎn)換、完成數(shù)據(jù)集成邏輯,以及到達不同應(yīng)用的路由等。應(yīng)用實例X和應(yīng)用實例Y通過所述集成中介整合在一起,從而實現(xiàn)企業(yè)應(yīng)用集成。所述應(yīng)用實例X、Y例如可以分別是訂單管理和庫存管理。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用軟件的成熟,開始興起了一種完全創(chuàng)新的軟件應(yīng)用模式,即軟件服務(wù)(SaaS)。SaaS是Software-as-a-Service(軟件即服務(wù))的簡稱,它是一種通過Internet提供軟件的模式。軟件服務(wù)提供商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,客戶可以根據(jù)自己實際需求,通過互聯(lián)網(wǎng)向軟件服務(wù)提供商定購所需的應(yīng)用軟件服務(wù),按定購的服務(wù)多少和時間長短向軟件服務(wù)提供商支付費用,并通過互聯(lián)網(wǎng)獲得軟件服務(wù)提供商所提供的服務(wù)。用戶不用再購買軟件,而改用向軟件服務(wù)提供商租用基于Web的軟件來管理企業(yè)經(jīng)營活動,且無需對軟件進行維護。軟件服務(wù)提供商會全權(quán)管理和維護軟件。在SaaS的基礎(chǔ)上,又發(fā)展出了組合軟件服務(wù)(CompositeSoftwareServiceOffering),又稱為軟件服務(wù)集成,就是將兩個或多個不同的軟件服務(wù)組合在一起而構(gòu)成一種新型的整合服務(wù)。例如,一個用戶可以訂閱一個中小企業(yè)組合軟件服務(wù),在這個組合軟件服務(wù)中,組合了客戶關(guān)系管理系統(tǒng)(CRM)、進銷存系統(tǒng)和協(xié)作服務(wù)系統(tǒng)(即時通訊、網(wǎng)上會議、電子郵件等)。用戶通過這個組合服務(wù),就可以獲得很多好處,例如1.在CRM和進銷存系統(tǒng)中,都需要客戶信息,由于進行了組合,使得客戶信息能夠在CRM和進銷存系統(tǒng)中進行同步,用戶不再需要在各自服務(wù)中同時維護客戶信息。2.由于組合服務(wù),使得用戶可以方便地利用業(yè)務(wù)上下文。例如,用戶在CRM系統(tǒng)中,可以方便地使用協(xié)作服務(wù)系統(tǒng)提供的功能。圖2示出了現(xiàn)有的軟件服務(wù)集成架構(gòu)。從圖2中可以看出,現(xiàn)有的軟件服務(wù)集成架構(gòu)采用了如圖1所示的用于企業(yè)應(yīng)用集成的適配器和集成中介體系結(jié)構(gòu)。如圖2所示,為了滿足大量客戶的需要,一個軟件服務(wù)由多個應(yīng)用實例來提供。例如,軟件服務(wù)X由應(yīng)用實例&,X2,...,Xn來提供,而軟件服務(wù)Y由應(yīng)用實例Y2,...Yn來提供。這些應(yīng)用實例均通過各自的應(yīng)用實例適配器連接到集成中介。然而,圖2的軟件服務(wù)集成架構(gòu)存在下列問題1.集成中介的集成邏輯是基于固定的應(yīng)用,例如確定種類的軟件服務(wù)以及固定的應(yīng)用實例數(shù)量而設(shè)計的。所以一旦改變應(yīng)用實例的數(shù)量,集成中介的集成邏輯也需要相應(yīng)地進行改變,即使是簡單的邏輯改變,也會帶來巨大的開發(fā)、測試和部署成本。2.集成中介的集成邏輯是與SOE(ServiceOperationalEnvironment,月艮務(wù)運營環(huán)境)信息緊密耦合的。例如,如圖2所示,集成中介需要訪問S0E中的服務(wù)運營庫來得到客戶在不同服務(wù)的應(yīng)用實例部署信息,以便將消息發(fā)送給目標(biāo)應(yīng)用實例。這是因為在軟件服務(wù)集成架構(gòu)中,一個軟件服務(wù)是由多個應(yīng)用實例來提供的,而一個客戶被部署在用于提供同一個軟件服務(wù)的多個應(yīng)用實例之一上。例如,客戶A在服務(wù)X中被部署在應(yīng)用實例&上,在服務(wù)Y中被部署在應(yīng)用實例Yn上,這些部署信息被存儲在服務(wù)運營庫中。這樣,當(dāng)從例如服務(wù)X的應(yīng)用實例&的應(yīng)用實例適配器收到消息時,集成中介就需要訪問SOE中的服務(wù)運營庫來得到租戶被部署在服務(wù)Y的應(yīng)用實例Yn上,以便將消息發(fā)送給與應(yīng)用實例Yn相應(yīng)的應(yīng)用實例適配器。所以,一旦SOE有所改變,集成中介的集成邏輯也可能需要相應(yīng)地進行改變。同時,組合服務(wù)的集成中介中的集成邏輯不能方便地在不同的SOE中得到重用,從而帶來巨大的測試和部署成本。
      發(fā)明內(nèi)容因此,為克服上述問題而提出了本發(fā)明。本發(fā)明的目的是,提供一種用于提供軟件服務(wù)集成的服務(wù)適配器及其操作方法,通過在服務(wù)適配器中進行注冊的方法對應(yīng)用實例進行管理,使得在應(yīng)用實例的數(shù)量發(fā)生改變時,很容易就完成系統(tǒng)的改變或者重新部署。由于是在服務(wù)適配器中處理與SOE相關(guān)的信息,集成中介中的集成邏輯與SOE無關(guān),從而可以方便地在不同運營環(huán)境中得到重用。根據(jù)本發(fā)明的一個方面,提供了一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器,用于將多個應(yīng)用實例適配器和集成中介相連,所述服務(wù)適配器包括應(yīng)用實例適配器管理模塊,用于在服務(wù)適配器庫中注冊與所述服務(wù)適配器相連的應(yīng)用實例適配器;以及適配器消息處理器,用于從應(yīng)用實例適配器接收消息,將消息中的服務(wù)專用租戶ID替換為全局租戶ID并將替換后的消息發(fā)送給集成中介。根據(jù)本發(fā)明的另一個方面,提供了一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器的操作方法,所述服務(wù)適配器用于將多個應(yīng)用實例適配器和集成中介相連,該方法包括下列步驟注冊應(yīng)用實例適配器;以及接收應(yīng)用實例適配器的消息,將應(yīng)用實例適配器的消息中的服務(wù)專用租戶ID替換為全局租戶ID,并將替換后的消息發(fā)送給集成中介。根據(jù)本發(fā)明的再一個方面,提供了一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器,用于將多個應(yīng)用實例適配器和集成中介相連,所述服務(wù)適配器包括應(yīng)用實例適配器管理模塊,用于在服務(wù)適配器庫中注冊與所述服務(wù)適配器相連的應(yīng)用實例適配器;以及中介消息處理器,用于從集成中介接收消息,將消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例,訪問所述服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器并將消息發(fā)送給所述應(yīng)用實例適配器。根據(jù)本發(fā)明的再一個方面,提供了一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器的操作方法,所述服務(wù)適配器用于將多個應(yīng)用實例適配器和集成中介相連,該方法包括下列步驟注冊應(yīng)用實例適配器;以及接收集成中介的消息,將集成中介的消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例,訪問服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器并發(fā)送所述消息。由于本發(fā)明中在服務(wù)適配器中注冊應(yīng)用實例,使得本發(fā)明能夠方便地改變與集成中介連接的應(yīng)用實例,從而構(gòu)建一個可靈活配置的軟件服務(wù)集成架構(gòu)。此外,由于與SOE有關(guān)的邏輯也在服務(wù)適配器中實現(xiàn),因此只要重新設(shè)計服務(wù)適配器,就可以使集成中介容易地在其它服務(wù)運營環(huán)境中重新使用。下面將參照在附圖中所表示的非限制性實施例來進一步說明本發(fā)明,其中圖1示出了傳統(tǒng)的企業(yè)應(yīng)用集成架構(gòu)。圖2示出了現(xiàn)有的軟件服務(wù)集成架構(gòu)。圖3示出了根據(jù)本發(fā)明的軟件服務(wù)集成系統(tǒng)。圖4示出了使用根據(jù)本發(fā)明的服務(wù)適配器構(gòu)建的用于軟件服務(wù)集成的服務(wù)中介系統(tǒng)的功能框圖。圖5示出了用于根據(jù)本發(fā)明的服務(wù)適配器的方法的流程圖。圖6示出了使用根據(jù)本發(fā)明的服務(wù)適配器構(gòu)建的用于軟件服務(wù)集成的服務(wù)中介系統(tǒng)的詳細框圖。圖7示出了在圖6所示的服務(wù)中介系統(tǒng)中,在多個源應(yīng)用實例和目標(biāo)應(yīng)用實例之間提供軟件服務(wù)集成的方法的流程圖。具體實施例方式圖3示出了根據(jù)本發(fā)明的軟件服務(wù)集成系統(tǒng)。如圖3所示,與現(xiàn)有的軟件服務(wù)集成系統(tǒng)一樣,根據(jù)本發(fā)明的軟件服務(wù)集成系統(tǒng)也包括多個應(yīng)用實例、與多個應(yīng)用實例相關(guān)聯(lián)的多個應(yīng)用實例適配器。根據(jù)本發(fā)明,提供了服務(wù)適配器用于將多個應(yīng)用實例適配器和集成中介相連,例如,服務(wù)適配器100將用于服務(wù)X的多個應(yīng)用實例適配器^、^...Xn與集成中介相連,服務(wù)適配器200將用于服務(wù)Y的多個應(yīng)用實例適配器YpY2...Yn與集成中介相連。一個服務(wù)適配器用于一種軟件服務(wù)。圖3中僅僅示出了兩個服務(wù)適配器,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,服務(wù)適配器的數(shù)量不限于兩個。當(dāng)需要增加新的軟件服務(wù)時,需要增加一個新的服務(wù)適配器將用于新的軟件服務(wù)的多個應(yīng)用實例適配器與集成中介相連。圖4示出了使用根據(jù)本發(fā)明的服務(wù)適配器構(gòu)建的用于軟件服務(wù)集成的服務(wù)中介系統(tǒng)的功能框圖。從圖4中可以看出,根據(jù)本發(fā)明的服務(wù)適配器100和200分別包括消息處理器101和201、應(yīng)用實例適配器管理模塊114和214、以及服務(wù)適配器庫112和212。其中,消息處理器101和201分別包括適配器消息處理器103和203、中介消息處理器105和205。圖5示出了用于根據(jù)本發(fā)明的服務(wù)適配器的方法的流程圖。下面結(jié)合圖4和圖5來描述根據(jù)本發(fā)明的服務(wù)適配器及其方法。為了簡單起見,僅描述從服務(wù)適配器100到服務(wù)適配器200的單向消息流。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,服務(wù)適配器中的消息流可以是雙向的,從服務(wù)適配器200到服務(wù)適配器100的反向消息流是相同的過程。首先,在步驟S1中,當(dāng)新的應(yīng)用實例連接到根據(jù)本發(fā)明的服務(wù)適配器時,與新的應(yīng)用實例對應(yīng)的應(yīng)用實例適配器向服務(wù)適配器的應(yīng)用實例適配器管理模塊114和214發(fā)送信息,以便在服務(wù)適配器庫112和212中進行注冊。例如,在服務(wù)適配器庫112中注冊如下所示的應(yīng)用實例適配器信息和業(yè)務(wù)對象信息應(yīng)用實例適配器信息<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>注冊過程包括注冊應(yīng)用實例、注冊與應(yīng)用實例對應(yīng)的應(yīng)用實例適配器ID、注冊應(yīng)用實例適配器所支持的業(yè)務(wù)對象的類型、注冊業(yè)務(wù)對象結(jié)構(gòu)中的租戶ID字段。在面向?qū)ο缶幊讨校瑯I(yè)務(wù)對象就是表示業(yè)務(wù)領(lǐng)域?qū)嶓w的對象。例如,在一個訂單管理系統(tǒng)中,可能具有訂單、發(fā)票等業(yè)務(wù)對象。從上述表格可以看出,與服務(wù)適配器ioo相連的應(yīng)用實例適配器有兩個,它們的應(yīng)用實例適配器ID分別為001、002,與這兩個應(yīng)用實例適配器相關(guān)聯(lián)的應(yīng)用實例分別為X1、X2,這兩個應(yīng)用實例適配器所支持的業(yè)務(wù)對象的類型分別為訂單和發(fā)票,訂單業(yè)務(wù)對象結(jié)構(gòu)中的租戶ID字段名稱為ABC,發(fā)票業(yè)務(wù)對象中的租戶ID字段名稱為XYZ。在步驟S2,服務(wù)適配器100中的適配器消息處理器103從源應(yīng)用實例適配器接收消息,將消息中的源服務(wù)專用租戶ID替換為全局租戶ID并將替換后的消息發(fā)送給集成中介。為了識別不同客戶,每一個客戶在每一個軟件服務(wù)中均具有一個服務(wù)專用租戶ID,這個服務(wù)專用租戶ID—般是不同的,而為了在軟件服務(wù)集成系統(tǒng)中唯一地識別所述客戶,所述軟件服務(wù)集成系統(tǒng)還具有一個全局租戶ID,這些信息存放在服務(wù)運營庫中。例如,在服務(wù)運營庫中存儲有租戶ID映射信息如下租戶ID映射信息<table>tableseeoriginaldocumentpage8</column></row><table>從該表可以看出,一個客戶在服務(wù)X中的租戶ID是1234,他在服務(wù)Y中的租戶ID是2134,他在服務(wù)Z中的租戶ID是3124,而這些服務(wù)專用租戶ID均對應(yīng)于一個全局租戶ID1111。在步驟S3,服務(wù)適配器200中的中介消息處理器205從集成中介接收消息,將消息中的全局租戶ID替換為目標(biāo)服務(wù)專用租戶ID以定位目標(biāo)應(yīng)用實例,訪問所述服務(wù)適配器庫212以查找與所述目標(biāo)應(yīng)用實例相關(guān)聯(lián)的目標(biāo)應(yīng)用實例適配器并將消息發(fā)送給所述目標(biāo)應(yīng)用實例適配器。如上所述,從服務(wù)適配器200中的適配器消息處理器203到服務(wù)適配器100中的中介消息處理器105的反向過程是相同的,在此不再重復(fù)描述。圖6示出了使用根據(jù)本發(fā)明的服務(wù)適配器構(gòu)建的用于軟件服務(wù)集成的服務(wù)中介系統(tǒng)的詳細框圖,用于在多個源應(yīng)用實例和目標(biāo)應(yīng)用實例之間提供軟件服務(wù)集成。所述服務(wù)中介系統(tǒng)包括分別連接在多個源應(yīng)用實例適配器和集成中介之間的源服務(wù)適配器100、連接在所述集成中介和多個目標(biāo)應(yīng)用實例適配器之間的目標(biāo)服務(wù)適配器200、以及集成中介。在圖6中,為了簡單起見,僅示出了服務(wù)適配器100作為源服務(wù)適配器以及服務(wù)適配器200作為目標(biāo)服務(wù)適配器的單向消息流。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,服務(wù)適配器中的消息流可以是雙向的,從目標(biāo)服務(wù)適配器到源服務(wù)適配器的反向消息流是相同的過程。如圖6所示,服務(wù)適配器100包括適配器消息處理模塊102、租戶ID映射模塊104、中介消息代理模塊106、租戶部署查找模塊108、中介消息處理模塊110、服務(wù)適配器庫112、應(yīng)用實例適配器管理模塊114、適配器消息代理模塊116、消息驗證模塊118、以及業(yè)務(wù)對象處理器120。其中,適配器消息處理器103包括適配器消息處理模塊102、業(yè)務(wù)對象處理器120、租戶ID映射模塊104和適配器消息代理模塊116。服務(wù)適配器200包括適配器消息處理模塊202、租戶ID映射模塊204、中介消息代理模塊206、租戶部署查找模塊208、中介消息處理模塊210、服務(wù)適配器庫212、應(yīng)用實例適配器管理模塊214、適配器消息代理模塊216、消息驗證模塊218、以及業(yè)務(wù)對象處理器220。其中,中介消息處理器205包括中介消息處理模塊210、業(yè)務(wù)對象處理器220、租戶ID映射模塊204、租戶部署查找模塊208和中介消息代理模塊206。圖7示出了在圖6所示的服務(wù)中介系統(tǒng)中,在多個源應(yīng)用實例和目標(biāo)應(yīng)用實例之間提供軟件服務(wù)集成的方法的流程圖。下面結(jié)合圖6和圖7來描述根據(jù)本發(fā)明的服務(wù)中介系統(tǒng)的工作過程。在步驟Sl,服務(wù)適配器100和200的應(yīng)用實例適配器管理模塊114和214分別在各自的服務(wù)適配器庫112和212中注冊相連接的應(yīng)用實例適配器,注冊過程與圖5的步驟Sl相同,在這里不再詳細描述。在步驟S2中,應(yīng)用實例適配器向服務(wù)適配器100發(fā)送消息。例如,應(yīng)用實例XI的適配器向服務(wù)適配器IOO發(fā)送一個訂單事件消息。例如,WebSphereMQ消息,該消息包括消息頭、應(yīng)用實例適配器ID、業(yè)務(wù)對象類型、對業(yè)務(wù)對象的操作(增加或刪除業(yè)務(wù)對象)、業(yè)務(wù)對象內(nèi)容(例如訂單信息包括訂單創(chuàng)建時間、訂單內(nèi)容、訂單金額、客戶名稱等)等內(nèi)容。在步驟S3,服務(wù)適配器100的適配器消息處理模塊102接收到該消息,它將消息發(fā)送給消息驗證模塊118對消息進行驗證。驗證主要是為了保證消息的完整性和準(zhǔn)確性,驗證內(nèi)容包括消息的完整性、應(yīng)用實例適配器是否有效(包括查詢服務(wù)適配器庫112來驗證應(yīng)用實例適配器是否已經(jīng)注冊)、業(yè)務(wù)對象是否得到該服務(wù)適配器的支持等信息(包括查詢服務(wù)適配器庫112中存儲的應(yīng)用實例適配器信息來確定業(yè)務(wù)對象是否被支持)。然后,在步驟S4,適配器消息處理模塊102將消息發(fā)送給業(yè)務(wù)對象處理器120以便將消息轉(zhuǎn)換為業(yè)務(wù)對象。在這里,業(yè)務(wù)對象處理器120將消息進行解析,從消息中抽取業(yè)務(wù)對象的所有屬性并整合成為業(yè)務(wù)對象。在步驟S5,租戶ID映射模塊104從業(yè)務(wù)對象處理器120接收業(yè)務(wù)對象,從中解析出客戶在服務(wù)X中的專用租戶ID,例如從訂單業(yè)務(wù)對象的ABC字段中解析出專用租戶1234。然后訪問服務(wù)運營庫中的上述租戶ID映射信息以獲得與專用租戶ID1234相關(guān)聯(lián)的全局租戶ID。例如,從上述租戶ID映射信息中可以看出,與專用租戶ID1234相關(guān)聯(lián)的全局租戶ID是1111。因此,租戶ID映射模塊104用全局租戶ID1111來替換業(yè)務(wù)對象中的專用租戶ID1234并將業(yè)務(wù)對象返回給業(yè)務(wù)對象處理器120。在步驟S6,業(yè)務(wù)對象處理器120將業(yè)務(wù)對象轉(zhuǎn)換為適配器消息并返回適配器消息處理模塊102。業(yè)務(wù)對象處理器120將業(yè)務(wù)對象的各個屬性進行拼裝,并加上相應(yīng)的應(yīng)用適配器信息、業(yè)務(wù)對象類型、操作等信息,還原成適配器消息。適配器消息處理模塊102將消息發(fā)送給適配器消息代理模塊116。在步驟S7,適配器消息代理模塊116將消息打包成與從所述應(yīng)用實例適配器發(fā)送的消息相同的格式并轉(zhuǎn)發(fā)給集成中介。在步驟S8,集成中介處理消息。在步驟S9,集成中介將消息發(fā)送給服務(wù)適配器200的中介消息處理模塊210。在步驟SIO,中介消息處理模塊210將消息發(fā)送給消息驗證模塊218進行驗證,這里的驗證過程與上述步驟S3的驗證過程相同。驗證成功以后,在步驟Sll,中介消息處理模塊210將消息發(fā)送給業(yè)務(wù)對象處理器220以便將消息轉(zhuǎn)換為業(yè)務(wù)對象。在步驟S12,租戶ID映射模塊204從業(yè)務(wù)對象處理器220接收業(yè)務(wù)對象,從中解析出全局租戶ID1111。然后訪問服務(wù)運營庫中的租戶ID映射信息以獲得與全局租戶IDllll相關(guān)聯(lián)的客戶在服務(wù)Y中的專用租戶ID。例如,從上面示出的租戶ID映射信息中可看出,與全局租戶IDllll相關(guān)聯(lián)的客戶在服務(wù)Y中的專用租戶ID是2134。租戶ID映射模塊204用專用租戶ID2134來替換業(yè)務(wù)對象中的全局租戶ID1111并將業(yè)務(wù)對象返回給業(yè)務(wù)對象處理器220。業(yè)務(wù)對象處理器220將業(yè)務(wù)對象轉(zhuǎn)換為中介消息并返回中介消息處理模塊210。中介消息處理器210將消息發(fā)送給中介消息代理模塊206。在步驟S13,中介消息代理模塊206將專用租戶ID2134發(fā)送給租戶部署查找模塊208以便查找租戶部署信息。租戶部署查找模塊208訪問服務(wù)運營庫中的應(yīng)用實例部署信息以便定位提供服務(wù)Y的應(yīng)用實例中哪個應(yīng)用實例服務(wù)于該客戶。例如,服務(wù)運營庫中的應(yīng)用實例部署信息如下應(yīng)用實例部署信息<table>tableseeoriginaldocumentpage11</column></row><table>租戶部署查找模塊208根據(jù)專用租戶ID2134從上述信息中定位目標(biāo)應(yīng)用實例是Yn。然后,租戶部署查找模塊208從服務(wù)適配器庫212中查找注冊過的應(yīng)用實例適配器信息,以便找到與所述目標(biāo)應(yīng)用實例Yn相關(guān)聯(lián)的目標(biāo)應(yīng)用實例適配器ID,并將目標(biāo)應(yīng)用實例適配器ID發(fā)送給中介消息代理模塊206。例如,在服務(wù)適配器庫212中注冊有如下所示的應(yīng)用實例適配器信息應(yīng)用實例適配器信息<table>tableseeoriginaldocumentpage11</column></row><table>因此,租戶部署查找模塊208從上述應(yīng)用實例適配器信息中找到與所述目標(biāo)應(yīng)用實例Yn相關(guān)聯(lián)的目標(biāo)應(yīng)用實例適配器ID是003,并將目標(biāo)應(yīng)用實例適配器ID003發(fā)送給中介消息代理模塊206。在步驟S14,中介消息代理模塊206將消息發(fā)送給與所述目標(biāo)應(yīng)用實例Yn相關(guān)聯(lián)的目標(biāo)應(yīng)用實例適配器。如上所述,從服務(wù)適配器200到服務(wù)適配器100的反向過程是相同的,其中服務(wù)適配器200中的適配器消息處理模塊202、適配器消息代理模塊216與服務(wù)適配器100中的適配器消息處理模塊102、適配器消息代理模塊116的功能相同,服務(wù)適配器100中的租戶部署查找模塊108、中介消息處理模塊110、中介消息代理模塊106與服務(wù)適配器200中的租戶部署查找模塊208、中介消息處理模塊210、中介消息代理模塊206的功能相同,在此不再重復(fù)描述。在圖6中還通過服務(wù)Z適配器與服務(wù)Z連接。服務(wù)Z適配器300的功能和組成與服務(wù)適配器100和200相同。下面結(jié)合一個具體的例子來描述應(yīng)用本發(fā)明來提供軟件服務(wù)集成的一種應(yīng)用場景。租戶A在互聯(lián)網(wǎng)上訂閱了一種組合軟件,該組合軟件服務(wù)包含三種軟件服務(wù),分別是訂單管理服務(wù)X、客戶管理服務(wù)Z和財務(wù)管理服務(wù)Y。租戶A在這三種服務(wù)中的租戶ID分別是1234、3124、2134,同時租戶A有一個全局的租戶ID1111。由于租戶數(shù)量眾多,訂單管理服務(wù)X、客戶管理服務(wù)Z和財務(wù)管理服務(wù)Y都有很多的應(yīng)用實例,對于每個服務(wù),都有一個服務(wù)適配器(服務(wù)適配器100、300和200)和該服務(wù)的多個應(yīng)用實例適配器進行連接,應(yīng)用實例適配器在對應(yīng)的服務(wù)適配器中進行注冊和提供相關(guān)信息。當(dāng)租戶A在訂單管理服務(wù)X中創(chuàng)建了一個新的訂單業(yè)務(wù)對象Order時,組合服務(wù)要從客戶管理服務(wù)Z中獲取對應(yīng)的客戶信息(Customer),并且生成一個對應(yīng)的發(fā)票(Invoice)的業(yè)務(wù)對象,發(fā)送給在財務(wù)管理服務(wù)Y。具體流程如下1.當(dāng)租戶A在訂單管理服務(wù)X中的應(yīng)用實例Xl上創(chuàng)建了一個訂單業(yè)務(wù)對象時,通過應(yīng)用實例X1上的適配器,將該消息發(fā)送到訂單管理服務(wù)適配器IOO,訂單管理服務(wù)適配器100對該消息進行一系列處理(包括如上所述的消息的驗證,把消息轉(zhuǎn)換成業(yè)務(wù)對象,并將其中的租戶ID1234轉(zhuǎn)換成該租戶在全局的租戶IDllll,然后重新將業(yè)務(wù)對象轉(zhuǎn)換成消息),將轉(zhuǎn)換好的消息發(fā)送給集成中介。2.集成中介接收到來自訂單管理服務(wù)適配器100的消息以后,進行一系列的數(shù)據(jù)集成邏輯(數(shù)據(jù)的轉(zhuǎn)換、映射),例如訂單金額需要從美元兌換成人民幣,這時集成邏輯需要調(diào)用一個公共的恥b服務(wù)來完成該轉(zhuǎn)換。并與客戶管理服務(wù)Z適配器300進行交互,以便從客戶管理服務(wù)Z中獲取對應(yīng)的客戶信息,形成一個發(fā)票的業(yè)務(wù)對象,然后將該業(yè)務(wù)對象包裝成消息發(fā)送給財務(wù)管理服務(wù)適配器200。集成中介與服務(wù)Z適配器300的消息收發(fā)過程與上面描述的消息流的收發(fā)過程相同;3.財務(wù)管理服務(wù)適配器200接收到來自集成中介的消息以后,通過一系列的處理(包括消息轉(zhuǎn)換成業(yè)務(wù)對象,并將其中的全局的租戶ID1111轉(zhuǎn)換成財務(wù)管理應(yīng)用對應(yīng)的租戶ID2134,然后重新將業(yè)務(wù)對象轉(zhuǎn)換成消息),同時該服務(wù)適配器200還需要去服務(wù)運行環(huán)境中獲取租戶A在財務(wù)服務(wù)中對應(yīng)的應(yīng)用實例Yn,然后將消息傳送給財務(wù)管理服務(wù)中的應(yīng)用實例Yn的適配器。4.財務(wù)管理應(yīng)用實例Yn接收到消息以后,在系統(tǒng)中進行相關(guān)的業(yè)務(wù)邏輯處理。從以上描述可以看出,通過使用根據(jù)本發(fā)明的服務(wù)適配器,當(dāng)改變應(yīng)用實例時,僅需要在根據(jù)本發(fā)明的服務(wù)適配器中進行應(yīng)用實例的注冊,而不需要改變集成中介的集成邏輯。而且,由于是在根據(jù)本發(fā)明的服務(wù)適配器中處理與SOE相關(guān)的信息,從而使得集成中介不再需要處理與SOE有關(guān)的信息,集成中介的集成邏輯是與SOE無關(guān)的。集成中介的集成邏輯與SOE無關(guān)是通過以下兩點來實現(xiàn)的1.在集成中介中處理的租戶ID是全局租戶ID,和具體的應(yīng)用實例無關(guān);2.與S0E相關(guān)的信息(例如各個應(yīng)用的租戶ID的對應(yīng)關(guān)系、應(yīng)用實例的部署信息等)是通過服務(wù)適配器來處理的。集成中介是利用現(xiàn)有的集成中介產(chǎn)品,諸如IBM公司的WebSphereInterchangeServer實現(xiàn)的,其中的與本發(fā)明的服務(wù)適配器相適應(yīng)的集成邏輯的開發(fā)和實現(xiàn)對于本領(lǐng)域技術(shù)人員來說是公知的,在此不再詳述。根據(jù)本發(fā)明,要增加或改變一個軟件服務(wù),只要增加或者改變一個服務(wù)適配器就可以,而集成中介仍然可以保持不變。盡管以上參照具體實施例描述了本發(fā)明,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,根據(jù)本發(fā)明的服務(wù)適配器可以用計算機軟件、硬件或軟硬件結(jié)合的方式來實現(xiàn)。在不脫離本申請權(quán)利要求書的精神和范圍的情況下,可以進行各種修改和替換。例如,在本發(fā)明的實施例中,租戶ID映射模塊通過訪問服務(wù)運營庫中的租戶ID映射信息來獲取租戶ID。但是,也可以將服務(wù)運營庫中的租戶ID映射信息定期備份在服務(wù)適配器的服務(wù)適配器庫中,這樣,租戶ID映射模塊就不需要訪問服務(wù)運營庫來獲取租戶ID。同樣,在本發(fā)明的實施例中,租戶部署查找模塊訪問服務(wù)運營庫中的應(yīng)用實例部署信息以便定位目標(biāo)應(yīng)用實例。但是,也可以將服務(wù)運營庫中的應(yīng)用實例部署信息定期備份在服務(wù)適配器的服務(wù)適配器庫中,這樣,租戶部署查找模塊也不需要訪問服務(wù)運營庫來定位目標(biāo)應(yīng)用實例。此外,適配器消息處理器和中介消息處理器既可以都包括租戶ID映射模塊和業(yè)務(wù)對象處理器,也可以共享同一個租戶ID映射模塊和業(yè)務(wù)對象處理器。在上述實施例中,服務(wù)適配器均被描述為包括進行雙向通信的收發(fā)模塊,在特定情況下,可以分別提供用于將多個源應(yīng)用實例適配器和集成中介相連的源服務(wù)適配器和用于將多個目標(biāo)應(yīng)用實例適配器和集成中介相連的目標(biāo)服務(wù)適配器,所述源服務(wù)適配器僅具有從源應(yīng)用實例適配器到集成中介的單向發(fā)送功能,所述目標(biāo)服務(wù)適配器僅具有從集成中介到目標(biāo)應(yīng)用實例適配器的單向接收功能。假設(shè)圖6中的服務(wù)適配器100是源服務(wù)適配器,則它可以被配置為將不包括中介消息代理106、中介消息處理模塊110以及租戶部署查找模塊108。假設(shè)圖6中的服務(wù)適配器200是目標(biāo)服務(wù)適配器,則它可以被配置為將不具有適配器消息代理216和適配器消息處理模塊202。權(quán)利要求一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器,用于將多個應(yīng)用實例適配器和集成中介相連,所述服務(wù)適配器包括應(yīng)用實例適配器管理模塊,用于在服務(wù)適配器庫中注冊與所述服務(wù)適配器相連的應(yīng)用實例適配器;以及適配器消息處理器,用于從應(yīng)用實例適配器接收消息,將消息中的服務(wù)專用租戶ID替換為全局租戶ID并將替換后的消息發(fā)送給集成中介。2.如權(quán)利要求1所述的服務(wù)適配器,其中,所述應(yīng)用實例適配器管理模塊在所述服務(wù)適配器庫中注冊所述應(yīng)用實例的名稱、與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器的ID。3.如權(quán)利要求1所述的服務(wù)適配器,其中,所述適配器消息處理器包括適配器消息處理模塊、業(yè)務(wù)對象處理器、租戶ID映射模塊和適配器消息代理,其中,所述適配器消息處理模塊從應(yīng)用實例適配器接收消息,所述業(yè)務(wù)對象處理器將消息轉(zhuǎn)換為業(yè)務(wù)對象,所述租戶ID映射模塊從業(yè)務(wù)對象中解析服務(wù)專用租戶ID,獲取全局租戶ID以替換所述服務(wù)專用租戶ID,以及所述適配器消息代理將替換后的消息發(fā)送給集成中介。4.如權(quán)利要求3所述的服務(wù)適配器,其中,所述租戶ID映射模塊訪問服務(wù)運營庫中的租戶ID映射信息,以便根據(jù)所述服務(wù)專用租戶ID來獲取全局租戶ID。5.如權(quán)利要求1所述的服務(wù)適配器,還包括中介消息處理器,用于從集成中介接收消息,將消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例,訪問所述服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器并將消息發(fā)送給所述應(yīng)用實例適配器。6.如權(quán)利要求5所述的服務(wù)適配器,其中,所述中介消息處理器包括中介消息處理模塊、業(yè)務(wù)對象處理器、租戶ID映射模塊、租戶部署查找模塊和中介消息代理模塊,其中,所述中介消息處理模塊從集成中介接收消息,所述業(yè)務(wù)對象處理器將消息轉(zhuǎn)換為業(yè)務(wù)對象,所述租戶ID映射模塊從業(yè)務(wù)對象中解析全局租戶ID,獲取服務(wù)專用租戶ID以替換所述全局租戶ID,所述租戶部署查找模塊根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例,并訪問所述服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器,以及所述中介消息代理模塊將消息發(fā)送給所述應(yīng)用實例適配器。7.如權(quán)利要求6所述的服務(wù)適配器,其中,所述租戶ID映射模塊訪問服務(wù)運營庫中的租戶ID映射信息,以便根據(jù)所述全局租戶ID來獲取服務(wù)專用租戶ID。8.如權(quán)利要求7所述的服務(wù)適配器,其中,所述租戶部署查找模塊訪問所述服務(wù)運營庫中的應(yīng)用實例部署信息,以便根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例。9.如權(quán)利要求3或6所述的服務(wù)適配器,還包括消息驗證模塊,在所述適配器消息處理模塊從所述應(yīng)用實例適配器接收消息以及所述中介消息處理模塊從集成中介接收消息以后,首先將消息發(fā)送給所述消息驗證模塊對消息進行驗證。10.—種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器的操作方法,所述服務(wù)適配器用于將多個應(yīng)用實例適配器和集成中介相連,該方法包括下列步驟注冊應(yīng)用實例適配器;以及接收應(yīng)用實例適配器的消息,將應(yīng)用實例適配器的消息中的服務(wù)專用租戶ID替換為全局租戶ID,并將替換后的消息發(fā)送給集成中介。11.如權(quán)利要求IO所述的操作方法,其中,注冊應(yīng)用實例適配器的步驟包括在所述服務(wù)適配器庫中注冊所述應(yīng)用實例的名稱、與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器的ID。12.如權(quán)利要求11所述的操作方法,其中,將應(yīng)用實例適配器的消息中的服務(wù)專用租戶ID替換為全局租戶ID的步驟進一步包括將消息轉(zhuǎn)換為業(yè)務(wù)對象;從業(yè)務(wù)對象中解析服務(wù)專用租戶ID;以及獲取全局租戶ID以替換所述服務(wù)專用租戶ID。13.如權(quán)利要求12所述的操作方法,其中,獲取全局租戶ID的步驟進一步包括訪問服務(wù)運營庫中的租戶ID映射信息,以便根據(jù)所述服務(wù)專用租戶ID來獲取全局租戶ID。14.一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器,用于將多個應(yīng)用實例適配器和集成中介相連,所述服務(wù)適配器包括應(yīng)用實例適配器管理模塊,用于在服務(wù)適配器庫中注冊與所述服務(wù)適配器相連的應(yīng)用實例適配器;以及中介消息處理器,用于從集成中介接收消息,將消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例,訪問所述服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器并將消息發(fā)送給所述應(yīng)用實例適配器。15.如權(quán)利要求14所述的服務(wù)適配器,其中,所述應(yīng)用實例適配器管理模塊在所述服務(wù)適配器庫中注冊所述應(yīng)用實例的名稱、與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器的ID。16.如權(quán)利要求14所述的服務(wù)適配器,其中,所述中介消息處理器包括中介消息處理模塊、業(yè)務(wù)對象處理器、租戶ID映射模塊、租戶部署查找模塊和中介消息代理模塊,其中,所述中介消息處理模塊從集成中介接收消息,所述業(yè)務(wù)對象處理器將消息轉(zhuǎn)換為業(yè)務(wù)對象,所述租戶ID映射模塊從業(yè)務(wù)對象中解析全局租戶ID,獲取服務(wù)專用租戶ID以替換所述全局租戶ID,所述租戶部署查找模塊根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例,并訪問所述服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器,以及所述中介消息代理模塊將消息發(fā)送給所述應(yīng)用實例適配器。17.如權(quán)利要求16所述的服務(wù)適配器,其中,所述租戶ID映射模塊訪問服務(wù)運營庫中的租戶ID映射信息,以便根據(jù)所述全局租戶ID來獲取服務(wù)專用租戶ID。18.如權(quán)利要求17所述的服務(wù)適配器,其中,所述租戶部署查找模塊訪問所述服務(wù)運營庫中的應(yīng)用實例部署信息,以便根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例。19.如權(quán)利要求16所述的服務(wù)適配器,還包括消息驗證模塊,在所述中介消息處理模塊從所述集成中介接收消息以后,首先將消息發(fā)送給所述消息驗證模塊對消息進行驗證。20.—種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器的操作方法,所述服務(wù)適配器用于將多個應(yīng)用實例適配器和集成中介相連,該方法包括下列步驟注冊應(yīng)用實例適配器;以及接收集成中介的消息,將集成中介的消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例,訪問服務(wù)適配器庫以查找與所述應(yīng)用實例相關(guān)聯(lián)的應(yīng)用實例適配器并發(fā)送所述消息。21.如權(quán)利要求20所述的操作方法,其中,將集成中介的消息中的全局租戶ID替換為服務(wù)專用租戶ID以定位應(yīng)用實例的步驟進一步包括將消息轉(zhuǎn)換為業(yè)務(wù)對象;從業(yè)務(wù)對象中解析全局租戶ID;獲取服務(wù)專用租戶ID以替換所述全局租戶ID;以及根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例。22.如權(quán)利要求21所述的操作方法,其中,獲取服務(wù)專用租戶ID的步驟進一步包括訪問服務(wù)運營庫中的租戶ID映射信息,以便根據(jù)所述全局租戶ID來獲取服務(wù)專用租戶ID。23.如權(quán)利要求22所述的操作方法,其中,根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例的步驟進一步包括訪問所述服務(wù)運營庫中的應(yīng)用實例部署信息,以便根據(jù)所述服務(wù)專用租戶ID來定位應(yīng)用實例。全文摘要公開了一種用于軟件服務(wù)集成系統(tǒng)中的服務(wù)適配器及其操作方法。所述服務(wù)適配器包括應(yīng)用實例適配器管理模塊,在服務(wù)適配器庫中注冊與服務(wù)適配器相連的應(yīng)用實例適配器;以及適配器消息處理器,從應(yīng)用實例適配器接收消息并將消息發(fā)送給集成中介,或者中介消息處理器,用于從集成中介接收消息并將消息發(fā)送給應(yīng)用實例適配器。所述操作方法包括注冊應(yīng)用實例適配器;以及接收應(yīng)用實例適配器的消息并將消息發(fā)送給集成中介,或者接收集成中介的消息并發(fā)送所述消息。根據(jù)本發(fā)明,避免了由于動態(tài)的應(yīng)用實例而帶來的集成中介中的集成邏輯變更問題。集成中介的集成邏輯與服務(wù)運營環(huán)境無關(guān),集成中介可被容易地在其它服務(wù)運營環(huán)境中重新使用。文檔編號H04L29/08GK101729584SQ200810175148公開日2010年6月9日申請日期2008年10月30日優(yōu)先權(quán)日2008年10月30日發(fā)明者馮晨華,徐景民,王遠申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1