国产精品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>

      用于管理多個(gè)網(wǎng)絡(luò)服務(wù)的系統(tǒng)和方法

      文檔序號(hào):7660650閱讀:219來(lái)源:國(guó)知局
      專利名稱:用于管理多個(gè)網(wǎng)絡(luò)服務(wù)的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及用于管理面向服務(wù)的軟件體系結(jié)構(gòu)的多個(gè)web服務(wù)的系統(tǒng) 和方法。
      背景技術(shù)
      web服務(wù)是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)(例如,因特網(wǎng))在一個(gè)計(jì)算機(jī)和另一個(gè) 計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)交換的標(biāo)準(zhǔn)化接口。應(yīng)用程序可以使用服務(wù)器提供的 web服務(wù)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)請(qǐng)求來(lái)自服務(wù)器的數(shù)據(jù)。這種請(qǐng)求通常包括在 SOAP封裝中,通過(guò)使用HTTP傳送,并且可以包括結(jié)合其他web相關(guān)標(biāo) 準(zhǔn)的XML。更多技術(shù)先進(jìn)的應(yīng)用程序結(jié)合各種web服務(wù)來(lái)獲得或處理所 希望的數(shù)據(jù)。圍繞多個(gè)web服務(wù)開(kāi)發(fā)的軟件結(jié)構(gòu)被稱作面向服務(wù)的體系結(jié) 構(gòu)(SOA)。
      在SOA中,資源作為參與者能夠以標(biāo)準(zhǔn)化方式訪問(wèn)的獨(dú)立服務(wù)而對(duì) 網(wǎng)絡(luò)的參與者可用。盡管SOA的多數(shù)定義使用通過(guò)基于TCP/IP的 HTTP/HTTPS傳送的SOAP請(qǐng)求,但是SOA可以使用任何基于web服務(wù) 的技術(shù)。web服務(wù)基于獨(dú)立于基礎(chǔ)平臺(tái)和編程語(yǔ)言的形式定義而互相作用 (interoperate)。接口定義包括具體的實(shí)現(xiàn)方式。SOA獨(dú)立于具體的開(kāi)發(fā) 技術(shù)(例如Java和.NET)。因?yàn)榻涌诜蠘?biāo)準(zhǔn)并且獨(dú)立于web服務(wù)邏輯 的基本實(shí)現(xiàn)方式,因此軟件組件變得可以再度使用。例如,C弁服務(wù)可以通 過(guò)JAVA應(yīng)用程序使用,反之亦然。
      SOA中的新應(yīng)用程序的開(kāi)發(fā)者需要訪問(wèn)由新應(yīng)用程序使用的各種web 服務(wù)。這不僅提出了所涉及web服務(wù)的接口規(guī)格的可用性,而且提出了能 夠被調(diào)用來(lái)測(cè)試新應(yīng)用程序的實(shí)際有效的web服務(wù)的提供。然而,這種測(cè) 試調(diào)用必須不干擾真實(shí)世界(real world)。例如,調(diào)用用于測(cè)試目的的金 錢轉(zhuǎn)移的web服務(wù)不得引起真實(shí)的金錢轉(zhuǎn)移。
      在開(kāi)發(fā)之后,當(dāng)新的應(yīng)用程序在其被批準(zhǔn)用于生產(chǎn)使用之前要在一個(gè) 較大型的設(shè)備中迸行測(cè)試時(shí),類似的情形發(fā)生。此外,由于涉及在較大型 設(shè)備中的開(kāi)發(fā)階段和測(cè)試階段期間的穩(wěn)定性或者結(jié)果生成的不同要求,可
      能必須創(chuàng)建由新的應(yīng)用程序調(diào)用的web服務(wù)的新的測(cè)試示例。當(dāng)該應(yīng)用程 序最終批準(zhǔn)用于生產(chǎn)時(shí),對(duì)各種測(cè)試web服務(wù)的調(diào)用必須由對(duì)實(shí)際服務(wù)的 調(diào)用代替。交換用于開(kāi)發(fā)的web服務(wù)的各種代替步驟、大規(guī)模的測(cè)試和最 終生產(chǎn)具有將錯(cuò)誤引入最終的應(yīng)用程序的較大風(fēng)險(xiǎn)。
      因此本發(fā)明的基本技術(shù)問(wèn)題是提供一種系統(tǒng)和方法,該系統(tǒng)和方法克 服現(xiàn)有技術(shù)的上述缺點(diǎn),具體而言,其有助于涉及一個(gè)或多個(gè)web服務(wù)的 新應(yīng)用程序從不同的開(kāi)發(fā)和測(cè)試階段到實(shí)際配置的變化,而沒(méi)有引入錯(cuò)誤 的風(fēng)險(xiǎn)。

      發(fā)明內(nèi)容
      在本發(fā)明的一個(gè)方面中,通過(guò)一種用于管理多個(gè)web服務(wù)的系統(tǒng)來(lái)解 決這個(gè)問(wèn)題,該系統(tǒng)包括記錄(registry),該記錄包括用于多個(gè)web服務(wù) 的至少一個(gè)的描述,其中所述至少一個(gè)web服務(wù)的描述包括用于第一運(yùn)行 時(shí)間條件的第一端點(diǎn)和用于第二運(yùn)行時(shí)間條件的第二端點(diǎn)。
      因此,用于不同運(yùn)行時(shí)間環(huán)境(landscape)(例如,開(kāi)發(fā)、測(cè)試、生 產(chǎn))的web服務(wù)能夠在單個(gè)記錄中進(jìn)行管理,而不失去對(duì)環(huán)境的服務(wù)和所 涉及的引入錯(cuò)誤的風(fēng)險(xiǎn)的控制。在使用中,正確的端點(diǎn)可以根據(jù)各自的運(yùn) 行時(shí)間條件而被自動(dòng)選擇。結(jié)果,能夠自動(dòng)生成新應(yīng)用程序的各種測(cè)試和 生產(chǎn)環(huán)境。
      在一個(gè)實(shí)施例中,該系統(tǒng)還適用于在運(yùn)行時(shí)間期間根據(jù)涉及由調(diào)用 web服務(wù)的應(yīng)用程序所提供的運(yùn)行時(shí)間條件的環(huán)境信息的評(píng)估來(lái)選擇第一 和第二端點(diǎn)的其中一個(gè)。因此設(shè)置應(yīng)用程序中單個(gè)變量的值允許確定使用 哪一種環(huán)境,因?yàn)橛涗浿械膚eb服務(wù)的一個(gè)或多個(gè)描述自動(dòng)包括適用于各 自運(yùn)行時(shí)間條件(例如,測(cè)試、配置等等)的端點(diǎn)。
      在另一個(gè)實(shí)施例中,該系統(tǒng)還適用于在運(yùn)行時(shí)間期間根據(jù)存儲(chǔ)在記錄 中的運(yùn)行時(shí)間條件來(lái)選擇第一和第二端點(diǎn)的其中一個(gè)。該記錄例如可以存
      儲(chǔ)反映開(kāi)發(fā)過(guò)程的當(dāng)前狀態(tài)并且從而選擇用于新應(yīng)用程序的web服務(wù)的合
      適環(huán)境的信息。
      在一個(gè)實(shí)施例中,在存儲(chǔ)在記錄中的用于web服務(wù)的第一和第二 WSDL文檔中定義第一和第二端點(diǎn),第一和第二 WSDL文檔例如通過(guò)互相 引用而彼此相關(guān),其中WSDL文檔的每一個(gè)可以針對(duì)其具體的運(yùn)行時(shí)間條 件而被標(biāo)記。
      然而,在當(dāng)前優(yōu)選的實(shí)施例中,在用于web服務(wù)的單個(gè)WSDL文檔 中定義第一和第二端點(diǎn),優(yōu)選地作為WSDL文檔的屬性組件。結(jié)果,該記 錄存儲(chǔ)web服務(wù)"對(duì)等方(twins)"的WSDL描述,其中對(duì)等方中的一 個(gè)被用于第一運(yùn)行時(shí)間條件而另一個(gè)被用于另外的運(yùn)行時(shí)間條件。在一個(gè) 實(shí)施例中,在運(yùn)行時(shí)間期間通過(guò)使用web服務(wù)的請(qǐng)求的SOA模塊確定屬 性組件的值。
      在當(dāng)前優(yōu)選的實(shí)施例中,第一端點(diǎn)適用于測(cè)試調(diào)用至少一個(gè)web服務(wù) 的應(yīng)用程序,而第二端點(diǎn)優(yōu)選地適用于配置調(diào)用至少一個(gè)web服務(wù)的應(yīng)用 程序。然而,本發(fā)明的原理也可以用于在其他環(huán)境之間進(jìn)行選擇,即,用 于其他的運(yùn)行時(shí)間條件。優(yōu)選地,該系統(tǒng)還包括用于在運(yùn)行時(shí)間期間監(jiān)視 多個(gè)web服務(wù)的端點(diǎn)的裝置和用于在第一 web服務(wù)被用用于第一運(yùn)行時(shí)間 條件的端點(diǎn)所調(diào)用并且第二 web服務(wù)被用用于第二運(yùn)行時(shí)間條件的端點(diǎn)所 調(diào)用的情況下發(fā)出警告的裝置。監(jiān)視功能避免了不一致性,不一致性可能 在新應(yīng)用程序的執(zhí)行中引起錯(cuò)誤。
      根據(jù)另一個(gè)方面,本發(fā)明涉及一種用于管理多個(gè)web服務(wù)的方法,該 方法包括將用于多個(gè)web服務(wù)的至少一個(gè)的描述存儲(chǔ)在記錄中的步驟,其 中所述至少一個(gè)web服務(wù)的描述包括用于第一運(yùn)行時(shí)間條件的第一端點(diǎn)和 用于第二運(yùn)行時(shí)間條件的第二端點(diǎn)。
      本發(fā)明的系統(tǒng)和方法的實(shí)施例的進(jìn)一步有利修改在進(jìn)一步的從屬權(quán)利 要求中限定。


      在下文的詳細(xì)描述中,參考附圖進(jìn)一步描述了本發(fā)明的當(dāng)前優(yōu)選實(shí)施
      圖1:簡(jiǎn)化的SOA的示例的一般概述圖,該簡(jiǎn)化SOA包括調(diào)用web 服務(wù)的應(yīng)用程序和具有web服務(wù)的描述的記錄;
      圖2:具有兩種環(huán)境的SOA的簡(jiǎn)化概述圖,所述兩種環(huán)境具有多個(gè) web服務(wù)對(duì)等方;和
      圖3:示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)和方法在運(yùn)行時(shí)間期間所
      執(zhí)行的步驟的流程圖。
      具體實(shí)施例方式
      圖1給出了極其簡(jiǎn)化的SOA的概述圖應(yīng)用程序30向web服務(wù)20 發(fā)出請(qǐng)求31。為此,應(yīng)用程序30首先需要關(guān)于web服務(wù)20的接口定義的 描述。這個(gè)描述40例如可以以web服務(wù)定義語(yǔ)言(WSDL)提供,這個(gè) 描述40或者可以直接從web服務(wù)20獲得,或者可以從記錄10中獲得 (參考圖1)。
      記錄10優(yōu)選地包括SOA所有web服務(wù)的描述,例如具有關(guān)于各個(gè) web服務(wù)的功能、數(shù)據(jù)、數(shù)據(jù)類型和交換協(xié)議的信息的WSDL文件40。 因此,如果應(yīng)用程序30要發(fā)送請(qǐng)求給web服務(wù)20,則應(yīng)用程序30能夠從 記錄10獲得WSDL文件40來(lái)查找如何訪問(wèn)該web服務(wù)20。
      然而,當(dāng)正在開(kāi)發(fā)新的應(yīng)用程序30時(shí),需要多次聯(lián)系己經(jīng)用于測(cè)試 目的的相關(guān)web服務(wù)20,例如需要驗(yàn)證web服務(wù)調(diào)用中的所有接口要求 是否滿足以及來(lái)自web服務(wù)的響應(yīng)是否由應(yīng)用程序30適當(dāng)?shù)亟邮蘸吞?理。如果實(shí)際上采用web服務(wù)20,則這些測(cè)試調(diào)用的每一個(gè)都會(huì)引起一些 真實(shí)世界的操作(例如機(jī)票的預(yù)訂或者金錢從一個(gè)帳戶到另一個(gè)帳戶的轉(zhuǎn) 移)。在該上下文中,要注意到,web服務(wù)20可以位于因特網(wǎng)上的某個(gè)地 方并且其操作可以不必由新應(yīng)用程序30的開(kāi)發(fā)者來(lái)控制。
      因此根據(jù)一個(gè)優(yōu)選實(shí)施例,本發(fā)明提供了如圖2所示意性示出的服務(wù) "對(duì)等方"由圖可見(jiàn),記錄10優(yōu)選地存儲(chǔ)相應(yīng)web服務(wù)的單一描述 WSDL1-WSDL3 (但是具有多個(gè)端點(diǎn)),這些描述的每個(gè)都具有其所屬的 運(yùn)行時(shí)間環(huán)境50或50'的引用。術(shù)語(yǔ)"環(huán)境"指的是整個(gè)SOA 100的特定部分,其可以通過(guò)某中指定屬性來(lái)區(qū)分。在圖2所示的簡(jiǎn)化實(shí)施例中,存
      在單獨(dú)的測(cè)試環(huán)境50和單獨(dú)的生產(chǎn)環(huán)境50,。兩個(gè)環(huán)境50和50,提供至少 部分相同的web服務(wù)WS1-WS3和WS1'-WS3',但只有生產(chǎn)web服務(wù) WS1,-WS3,在實(shí)際運(yùn)行并且例如引起商業(yè)交易。生產(chǎn)用的服務(wù)的測(cè)試版本 (例如由某個(gè)第三方提供)能夠自動(dòng)生成并加入到記錄10中。
      也可以使用其他類型的環(huán)境區(qū)分,例如,開(kāi)發(fā)環(huán)境和較大型測(cè)試環(huán)境 或者用于一個(gè)公司的環(huán)境和用于另一個(gè)公司的環(huán)境。此外,不僅可以存在 兩個(gè)環(huán)境,還可以存在三個(gè)或三個(gè)以上環(huán)境。
      為了無(wú)錯(cuò)誤地管理上面所說(shuō)明的一類服務(wù)對(duì)等方,在單個(gè)記錄10中 定義用于兩個(gè)環(huán)境50、 50'(其中存在web服務(wù)WS1-WS3和WSl,-WS3,)的端點(diǎn)。因此,web服務(wù)接口描述WSDL1-WSDL3在環(huán)境50、 50, 之間共享,而端點(diǎn)卻不共享。
      然而,要注意到,除了使用用于web服務(wù)WS1-WS3和WS1'-WS3'的 單一 WSDL描述WSDL1-WSDL3,也可以可替換地存在存儲(chǔ)在記錄中的 兩組有關(guān)描述WSDL1-WSDL3和WSDL1,-WSDL3'(圖2中未示出),其 中屬于服務(wù)對(duì)等方的兩個(gè)WSDL描述(例如WSDL1和WSDL1')彼此相 關(guān)。根據(jù)運(yùn)行時(shí)間條件來(lái)使用一個(gè)或另一個(gè)(或可能是第三個(gè))描述。
      在當(dāng)前優(yōu)選的實(shí)施例中,用WSDL2.0中所提供的"屬性"擴(kuò)展性機(jī) 制,在用于服務(wù)對(duì)等方的單個(gè)WSDL文件中定義用于兩個(gè)環(huán)境50和50'的 端點(diǎn)。"屬性"表示指定的運(yùn)行時(shí)間值,其影響web服務(wù)交互的一個(gè)方面 的行為。例如, 一個(gè)請(qǐng)求的SOAP模塊可以指定屬性來(lái)控制端點(diǎn)。這在描 述服務(wù)對(duì)等方的示例性WSDL文件的以下示例中說(shuō)明
      < xml versioWl,O" e。coding="UTF-8" > (description xmlns-"ht仁p: //www- w3 .org/2006/0]_/wscll''
      ta2rgetNamespaces,'h仁tp: //nsmespaces - sof twareag 'corn/2004/wsdl/resSvc
      5ailns:tns-"httpi 〃na;nespac:e5' sof twareag.com/2004/wsdi/resSvc" xmlns : ghw"http : / /namespaces ,softwareag , con/2004/schs:aas/resSvc:" xmlns:wsoap-"http://www.w3'org/2006/01/wsdl/soap" xmins :sostp=*,'http: //www. w3,orgh003/05/3oap-err/elope"
      xmlns :wsdlx雄"htt:^ /7www, w3*org/2006/01/wsdl-ext:ensions"
      This document describes the reservation Web service, </docuntentati<m>
      <xs:schema xmlns:xs一',http://www.w3 org/200:i/XWLSc:he歸" targetMatnespsLce whtt:pr //namespaces, softwareag. com/200 4/schecnas/re Svc" xmlnsa"http: //namespaces softiwai:eag-com/20CH/sche頂as/resSvc'
      <xs: element name睥"checlcAvailabilit:y" type ,*tCheckAvail3bility,'/>
      <xs:complexType name=wtCheckAvailability"> <xs:ssquence> <xs:element namew"checkInDate" type "xs:date"/> <xs-eleraent n柳W'checkOutDate" type *"xs :date"/> <xs:element name腳"roomType" type-"xs:string"/> </xs:sequence^
      <xs:element name鄉(xiāng)"checkAvailabilityResponse" type "xs:double"/>
      <X3: e丄eoient name " invalidDataError" type一"xs: string"/> </xs:schema>
      <interface name-"reservat; ion Interfaced <fault name-"imralidDataFault" element""ghns : invalidDataEj:ror V>
      <operation name""opCheckAva丄labilifcy"
      pattetrn^'-http: //www,w3,org/2006/01/W3dl/in-oi3t:" style""http: 〃www,w3 ,org/,6/01/wscil/style/iri"
      <input messagel/abel-"In" ele鵬nt^"ghns :checkA vail ability "/> <out[3iit mes5agel*abel="0ut"
      element—,,ghns:checkAvailabilityllesponse,'/> <outfault refM',tos sinvalidDataFault"鵬ssage!iabel鵬,'Out"/> </operation> </interface>
      "^binding name鵬"reset*vationSOAP8inding" interf sceytns reservatlonlntei:JEace " type一"http: 〃www,w3,org/2006/01/wsdl/soap"
      wsoap:protocol whttp://www,w3 org/2003/0S/soap/bindings/HTTP"> <fault ref-,,tnszinvalidDataFault** wsoap:code一"soap:Sender"/> (operation ref忠"tns:opChecJcAvaiiability"
      wsoap:mep ',lttt;p: / /www. w3 .org/2 003/05/soap/mep/soap-response"/> </bincling>
      <service name豕"reser",/ationService"
      int:e3:fae^,,tos: reservationlnterf ace"
      binding糖"tns: reservationSOi\PBinding"
      adcii:ess=''httEK//test , sofcwareag,cora/2004/reservation" (property
      j:e5群C £p //f ea t res * sof c re*ag * com/2andscapes/ type "》
      7his enc(po丄nfc iselongrs 仁o the _iancfsc3pe </docmnmf:ation> <ri/a i u e > s £ <r/va丄u e>
      </property> </endpoint>
      <endpoint name "i:essrvation£nclpointProduction" binding- "tns: rsse3:vationSOAP3inding'1
      addre s s一"http: //production, so ftwareag, coin/2004/res ervation',〉
      rsf= "htt-O,' //fes tures, sofcvareagr, cc3/n/2dndscdpes/仁ype"〉
      This endpoiiit belongs to che production la/idscape
      </property> </endpoint> </ser:vice> </description>
      由此可見(jiàn),兩個(gè)端點(diǎn)被定義, 一個(gè)用于測(cè)試環(huán)境,另一個(gè)用于生產(chǎn)環(huán) 境。因此,屬性組件的運(yùn)行時(shí)間值確定兩個(gè)可能的端點(diǎn)中的一個(gè),并且從
      而確定是測(cè)試環(huán)境的web服務(wù)還是生產(chǎn)環(huán)境的web服務(wù)將被提出。
      或者,這兩個(gè)環(huán)境的端點(diǎn)可以根據(jù)UDDI-XML模式(UDDI 3.0)來(lái) 指定,如下所示
      businessKey豕"uddi:35f2eca0-eef2-llda-a924-c91081i9a4e5" serviceKeyw',uddi: 4fc7c54 0-ef03-llda-bf78-dc56dcl2 60cf " icnlris : ucldi-,,i:rri:ucicli-org: api—v3" Kialns:dsig-"http: //www. w3 org/2000/D9/xmldsiglf" xmlns: sccl4n-"urn: udcU-org: scheraaCentric:C14N: 2002—07-10"> xmlns : xmls"http: //www, w3, org/XML/1998/namespace,, <uddi:narae xral: Lang-"en-US">
      </uddi:name> <uddi -description xntl: langs"en"> Service for reservation available in test and production landscape </udi±L *'description> <tiddi : binding*!emplates>
      bindingKey" uddi:5035To30-ef08-llda-bf78-80c;j7 6f 5f0fOtt serviceKsy-"uddi:4fc7c540-ef08—llda-bf78-dc5Sdcl260cf">
      <udd:i: tMocieLInstariceDetails><uddi:tModslInstanceInfo
      tModelKey^"uddii4fb2U70-ef08-:Llda-M78-8fl6fS6201dO <uddi:instanceDetails xmlns:uddi-"urn:uddi-org:api_v3',> <uddi:description xml:lang "en^US"> — the wsdl:binding that this wsdi:port implements </uddi:description) <uddi:instancePanns>
      reservationSOAPBinding </uddi:instanceParms> </uddi- inst<anceOetadls> </udlcli: tModelInstanceInfo> <uddi:tModeilnstancelnfo tModeiKey "uddiz4f8516£0-ef08-llda-bf78-c:304af4ea5:l6',A </uddi:tModelInstanc@Detaiis> <uddi:categoryBag>
      tModeliCey ''uddi ;f仁ures, softwsreagr. co頂,-landscapes"
      </iicfdi * era仁egorySag〉
      </uddi:bindingTemplate>
      <uddi:bindingTeropiate bindingKey""udkli:50357b30-ef08-llda-bf7B-30c3窗5魔l" servic緒sy^"uddiMfc7e540-ef08-llda-bf78—dc56dcl260cf ">
      ftttp-' //prodwct丄o打,soft wajreag. coOT/2( 04/reservation <*/uddi accessPoin t》 <udcii : tModelTnstanc:eDetaiis> < ucidi: tMode 11 n s t ance I n £o tModeiKey "uddi:4fb24170—ef08-llda-bf78-8f16f66201d4"> <udcii: instanceDetails> <ucWi description xml: lang=wen—US">
      the wsdl:binding that this wsdhport Implements </uddi rciescr:ipt:ion^ <uddi:instancePArms>
      </uddi: instanceParms> </ucldi: anstanceDetails> </uddi:tModelInstanceInfo>
      tModeiKey"iiddi:4f8516fO-ef08-llda-bf78-c304"4ea516',/:> </uddi : tModelInstancel3etails>
      <uddi ' e朋efe ren ce
      tMocteiXey wuddi ■* fea仁ures, sof仁w這reag, co鵬r丄ands crapes " Jtei/V^丄ue雄"pj:ocftic:t丄on ,'/>
      </uddi:bindingTemplate>
      </udtM : bindingTemplates>
      keyM雄e濯,,service namespacs"
      keyValue-"http: / /namespaces.sofnwareag,com/2004/wsdl/resSvc" tttodelKey效,'iiddi: uddi org: xml: namespace "/> <uddi: keyedRefecemce JceyNa鵬睥"WSDL type"JceyValue頃',service"
      tModelKey薪"uddi-uddi ,org: wscii: types V》 <ruddi: keyedHef ei:ence
      keyMa依e-"service local name11
      tModeiKey-"udkii - udd I * org: xml: localna鵬"/ ;> <uddi - keyedRef珍rence
      keyValue一"iaddi:2ddl3990-899卜ild9w8457^ca59ad32ca75', tModelKe""ucicii^2dafc樹(shù)0-8991-lld9—B457—f203Bed2fcdOn/> </uddi:categoryBag> </uddi:businessServxce>
      那么,用來(lái)査找給定環(huán)境(例如,測(cè)試環(huán)境)的端點(diǎn)的UDDI查詢可
      以如下所示
      <find—binding jcmlns"',urn: uddi-oirg: api一v3"
      一serviceKey-"uddi : 4f c"7c540-ef 08-Iida-bf 78-dc56dcl260cf 、,> <findQualifiers>
      <findQualifier>exactNameMatch</findQualifier> </f indQvialif iers> <categoryBag> <JceyedRe£erence
      tModelKey-"uddi:features.softwaresg.cora:landscapes" keyValue ''t:est "/> </categoryBag> </find_binding>
      在WSDL文件或記錄(UDDI)中因此表明的端點(diǎn)信息可以被用于各 種情形中,其中一種情形被在下面參考圖3描述,其圖示了涉及的三種組 件
      web服務(wù)執(zhí)行組件70在運(yùn)行時(shí)間(例如測(cè)試運(yùn)行的運(yùn)行時(shí)間)對(duì)于應(yīng) 用程序30是可用的。web服務(wù)執(zhí)行組件70在web服務(wù)將被執(zhí)行時(shí)在步驟 200中被應(yīng)用程序30調(diào)用,并且接收web服務(wù)20的唯一標(biāo)識(shí)作為輸入
      (例如,其UDDI密鑰,或其WSDL文件的URL)。在步驟201中,web 服務(wù)執(zhí)行組件70準(zhǔn)備調(diào)用的執(zhí)行。在步驟202中,它訪問(wèn)存儲(chǔ)在記錄10 中的信息,以在步驟204中例如基于從記錄10中所獲得的WSDL文件來(lái) 確定要被調(diào)用的web服務(wù)的端點(diǎn)。要注意到,在步驟204中所產(chǎn)生的端點(diǎn) 取決于由應(yīng)用程序30提供并且包括在如上說(shuō)明的其調(diào)用中的輸入?yún)?shù)
      (例如某個(gè)屬性值),以定義用于執(zhí)行web服務(wù)調(diào)用的某個(gè)環(huán)境。如果在 指示的端點(diǎn)不存在可用的web服務(wù),則指示錯(cuò)誤。否則,web服務(wù)執(zhí)行組 件70在步驟205中調(diào)用所標(biāo)識(shí)的web服務(wù),該web服務(wù)在步驟206執(zhí)行
      以使得結(jié)果可以在步驟207中被返回到應(yīng)用程序30。
      記錄中的端點(diǎn)的上述管理另外允許在經(jīng)測(cè)試的應(yīng)用程序30的配置時(shí) 間確定先前用于測(cè)試該應(yīng)用程序的所有服務(wù)端點(diǎn),并且永久地用己經(jīng)記錄 在記錄IO中的用于生產(chǎn)環(huán)境的端點(diǎn)來(lái)代替它們。此外,web服務(wù)調(diào)用能夠 在運(yùn)行時(shí)間被監(jiān)視并且可以校驗(yàn)是否出現(xiàn)環(huán)境交錯(cuò),即,是否屬于第一環(huán) 境(例如測(cè)試環(huán)境50)的一個(gè)web服務(wù)被調(diào)用,并且屬于另一個(gè)環(huán)境(例 如生產(chǎn)環(huán)境50,)的web服務(wù)也被調(diào)用。如果在運(yùn)行期間注意到這種不一 致性,則發(fā)出警告。
      一般來(lái)說(shuō),調(diào)用者的環(huán)境的標(biāo)識(shí)可以使用多種機(jī)制,例如測(cè)試環(huán)境和 生產(chǎn)環(huán)境的基于DNS域的分離。環(huán)境信息可以與web服務(wù)調(diào)用一起被發(fā) 送。存儲(chǔ)在記錄10中的WSDL文件的以下示例需要這種信息并且假設(shè)存 在用于環(huán)境信息管理的一個(gè)具體SOAP模塊
      description xmlr.s-"ht:tp: //www* w3 , org/20C6/01/wsd"
      targstNamespace-"!it:tp: 〃r,a加spaces 'sof twareag .com/2004/wsdl/re5Svc
      xndris: tns-"http: //namespaces , so:飛wareag' com/2004/wsdi/resSvc" xmlns:ghris*"'Http://:ianisspaces,sofcwareag.cora/2004/schems5/resSvc1' xnilns :wsoap="hXtps 〃www,w3 'org/200S/01/wsdl/soap" xnlnsrsoa""http: / /www. w3 org/2003/05/soap備er.velope"
      xmins:wsdijc ',http: //www,w3,org/2006/0:L/w3dl-e3C^Mions"
      <documentation>
      Th丄s document describes the reservat丄011 9feb service* (/doctmientstion^
      <xs -scth鄉(xiāng)a織lns: xs鵬"http: //www, w3, org/2001 /XMLSGhema" targetilamespace鵬驟http2 / /namespaces,softw教jceag, com/2004/sehemas/res Swc" 咖lns一"htt:fK //nainespaces sof twsreag*c:om/2004 /schemas/resSvcr">
      《xs:ele誠(chéng)nt name豕"checkAvai:UbiliS:y" types " tChec kAva i iabii i t y1 V>
      <x s: e L em母nfc nasn瞎鵬"chec riDat珍' t yp珍皿"xs ^ da t e " / > <xs:element aamee"roomTyp暨"type腳科xs:string"/>
      ocs :ele孤ent n郷e欏,'clieekAvailabilityRe邵onse" t ype甲*' x s - ub 1 ' V >
      <>cs : element ttame,"invaliciDataE:i:ror" type-"x3: string "/>
      ^interface n雄G徴"rBsei:vatioriIntei:face"^ <fauJLt name雄"iiwaiidDataf、auLt,' eiement—"ghns :irwalidDataError"/>
      reoperation names"opCheckAvai丄ability"
      patterWhttp: //www, w3 org/2006/01/wsdl/in-out" style困"http:〃www,w3,org/2006/0:i/wscU/style/ii:丄" wsdlx:safe wtrue"> <iitput messagel<abel "Ir\,' eie鵬nt豕"ghns:eheclcJWailabiUfcy',/〉 <output messageLabel歸"Out',
      element-Mghns :checkA\railabilityResponse',/:>
      </op€5ratiorv>
      <binding najne ,'reservationSOAPBinding"
      typ—,http- 〃www,w3 .org/200S/0l7wsdi/soaf>''
      w30ap:protocol驟"ht!:p: 〃www.w3,oi:g/2003/05/soap/biiidings/HTTPw> <fault iref""tns: itwaiidDataFauit" wsoap-eocle-soap-Sender"/> ^operation refM"tns:opCheckATOilab:Uity''
      wsoap:歸pc"http - // www曙w3 ,org/2003/05/soap/mep/soap-response"/> </bindirig>
      化ridpoirit narae鸝"reseevat:ionSndpoint:Te3t:"
      addr錢ss-"http: //t^st * sof t:wareag, com/2004/re3ej:vatiori''> o^osp-'mod u 10
      property
      ref-"h仁t:p://features* so fcware為g-com/landscapes/typ@">
      <documentation>
      This encipoint belongs to the test landscape </documentation> <value>test</vaLue>
      </endpoirit>
      <endpoint narcie="reser vat ionEruipoint Product ion" bindir\g "tns: reservationSOAPBinding"
      addresss"http: / /production ,softwaxe&g. com/2004/reservation" <wso<ap .'module
      required— "true "/> <propeirty
      ref-"http: / /features . softwareag. com/landscapes/type" > <docun\ent3tion>
      This endpoint belongs to the production landscape </document3txot\> <value>productiorK/value> </property:> </endpoint> </service> (/description)
      或者,記錄io可以存儲(chǔ)關(guān)于某個(gè)應(yīng)用程序的開(kāi)發(fā)階段的信息并且適 當(dāng)?shù)剡x擇端點(diǎn)(例如,基于所記錄的應(yīng)用程序配置)。這可以或者對(duì)整個(gè)
      環(huán)境來(lái)執(zhí)行,或者也可以對(duì)每個(gè)web服務(wù)單獨(dú)執(zhí)行。
      權(quán)利要求
      1.一種用于管理多個(gè)web服務(wù)的系統(tǒng),該系統(tǒng)包括記錄(10),該記錄(10)包括對(duì)所述多個(gè)web服務(wù)中的至少一個(gè)的描述(WSDL1,WSDL2,WSDL3),其中所述至少一個(gè)web服務(wù)的所述描述(WSDL1,WSDL2,WSDL3)包括用于第一運(yùn)行時(shí)間條件的第一端點(diǎn)(WS1,WS2,WS3)和用于第二運(yùn)行時(shí)間條件的第二端點(diǎn)(WS1’,WS2’,WS3’)。
      2. 根據(jù)權(quán)利要求1的系統(tǒng),還適用于在運(yùn)行時(shí)間期間根據(jù)涉及由調(diào)用 所述web服務(wù)的應(yīng)用程序(30)所提供的運(yùn)行時(shí)間條件的環(huán)境信息的評(píng)估來(lái)選擇所述第一端點(diǎn)(wsi, ws2, ws3)和所述第二端點(diǎn)(wsr,WS2', WS3,)的其中一個(gè)。
      3. 根據(jù)權(quán)利要求1的系統(tǒng),還適用于在運(yùn)行時(shí)間期間根據(jù)存儲(chǔ)在所述 記錄(10)中的運(yùn)行時(shí)間條件來(lái)選擇所述第一端點(diǎn)(WS1, WS2, WS3) 和所述第二端點(diǎn)(WSr, WS2', WS3,)的其中一個(gè)。
      4. 根據(jù)前述權(quán)利要求中任一項(xiàng)的系統(tǒng),其中在用于所述web服務(wù)的第 一和第二 WSDL文檔中定義所述第一端點(diǎn)(WS1, WS2, WS3)和所述第 二端點(diǎn)(WSr, WS2', WS3,),所述第一和第二 WSDL文檔彼此相關(guān)。
      5. 根據(jù)權(quán)利要求l一3中任一項(xiàng)的系統(tǒng),其中在用于所述web服務(wù)的 單個(gè)WSDL文檔(WSDL1, WSDL2, WSDL3)中定義所述第一端點(diǎn)(WS1, WS2, WS3)和所述第二端點(diǎn)(WSr, WS2', WS3,),優(yōu)選地 作為所述WSDL文檔的屬性組件。
      6. 根據(jù)權(quán)利要求5的系統(tǒng),其中在運(yùn)行時(shí)間期間通過(guò)使用所述web服 務(wù)的請(qǐng)求的SOAP模塊確定所述屬性組件的值。
      7. 根據(jù)權(quán)利要求l一6中任一項(xiàng)的系統(tǒng),其中記錄(10)是UDDI記錄。
      8. 根據(jù)前述權(quán)利要求中任一項(xiàng)的系統(tǒng),其中所述第一端點(diǎn)(WS1, WS2, WS3)適用于測(cè)試調(diào)用所述至少一個(gè)web服務(wù)的應(yīng)用程序。
      9. 根據(jù)前述權(quán)利要求中任一項(xiàng)的系統(tǒng),其中第二端點(diǎn)(wsr, WS2', WS3')適用于配置調(diào)用所述至少一個(gè)web服務(wù)的應(yīng)用程序(30)
      10. 根據(jù)前述權(quán)利要求中任一項(xiàng)的系統(tǒng),其中所述記錄(10)還包括 用于第三運(yùn)行時(shí)間條件的第三端點(diǎn)。
      11. 根據(jù)前述權(quán)利要求中任一項(xiàng)的系統(tǒng),該系統(tǒng)還包括用于在運(yùn)行時(shí) 間期間監(jiān)視所述多個(gè)web服務(wù)的所述端點(diǎn)(WS1, WS2, WS3, WS1', WS2', WS3')的裝置和用于在第一 web服務(wù)被用用于第一運(yùn)行時(shí)間條件 的端點(diǎn)所調(diào)用并且第二 web服務(wù)被用用于第二運(yùn)行時(shí)間條件的端點(diǎn)所調(diào)用 的情況下發(fā)出警告的裝置。
      12. —種用于管理多個(gè)web服務(wù)的方法,該方法包括將用于所述多個(gè) web服務(wù)的至少一個(gè)的描述(WSDL1, WSDL2, WSDL3)存儲(chǔ)在記錄(10)中的步驟,其中所述至少一個(gè)web服務(wù)的所述描述包括用于第一運(yùn) 行時(shí)間條件的第一端點(diǎn)(WS1, WS2, WS3)和用于第二運(yùn)行時(shí)間的第二 端點(diǎn)(WSr, WS2', WS3,)。
      13. 根據(jù)權(quán)利要求12的方法,還包括以下步驟在運(yùn)行時(shí)間期間根據(jù)涉及由調(diào)用所述web服務(wù)的應(yīng)用程序所提供的運(yùn) 行時(shí)間條件的環(huán)境信息的評(píng)估來(lái)選擇所述第一端點(diǎn)(WS1, WS2, WS3) 和所述第二端點(diǎn)(WSr, WS2', WS3')的其中一個(gè)。
      14. 根據(jù)權(quán)利要求12的系統(tǒng),還包括以下步驟 將運(yùn)行時(shí)間條件存儲(chǔ)在所述記錄中;以及在運(yùn)行時(shí)間期間選擇所述第一端點(diǎn)(WS1, WS2, WS3)和所述第二 端點(diǎn)(WSr, WS2', WS3')的其中一個(gè)。
      15. 根據(jù)權(quán)利要求12-14中任一項(xiàng)的方法,其中所述將用于所述多個(gè) web服務(wù)的至少一個(gè)的描述存儲(chǔ)在記錄中的步驟包括存儲(chǔ)用于所述web服 務(wù)的指示第一端點(diǎn)的第一 WSDL文檔和存儲(chǔ)用于所述web服務(wù)的指示第 二端點(diǎn)的第二 WSDL文檔,其中所述第一和第二 WSDL文檔被作為相關(guān) 的WSDL文檔存儲(chǔ)在所述記錄中。
      16. 根據(jù)權(quán)利要求12-14中任一項(xiàng)的方法,其中所述將用于所述多個(gè) web服務(wù)的至少一個(gè)的描述(WSDL1, WSDL2, WSDL3)存儲(chǔ)在所述記 錄中的步驟包括利用指示所述第一和第二端點(diǎn)的屬性組件存儲(chǔ)用于所述 web服務(wù)的單個(gè)WSDL文檔。
      17. 根據(jù)權(quán)利要求16的方法,其中在運(yùn)行時(shí)間期間通過(guò)使用所述web 服務(wù)的請(qǐng)求的SOAP模塊確定所述屬性組件的值。
      18. 根據(jù)權(quán)利要求12-17中任一項(xiàng)的方法,其中所述記錄(10)是 UDDI記錄。
      19. 根據(jù)權(quán)利要求12-18中任一項(xiàng)的方法,還包括使用所述第一端點(diǎn) (WS1, WS2, WS3)來(lái)測(cè)試調(diào)用所述至少一個(gè)web服務(wù)的應(yīng)用程序的步驟。
      20. 根據(jù)權(quán)利要求12-18中任一項(xiàng)的方法,還包括使用所述第二端點(diǎn) (WSr, WS2,, WS3,)來(lái)配置調(diào)用所述至少一個(gè)web服務(wù)的應(yīng)用程序的步驟。
      21. 根據(jù)權(quán)利要求12-20中任一項(xiàng)的方法,其中所述記錄(10)還包括 用于第三運(yùn)行時(shí)間條件的第三端點(diǎn)。
      22. 根據(jù)權(quán)利要求12-21中任一項(xiàng)的方法,還包括步驟在運(yùn)行時(shí)間期間 監(jiān)視所述多個(gè)web服務(wù)的所述端點(diǎn)(WS1, WS2, WS3, WS1', WS2', WS3,)和在第一 web服務(wù)被用用于第一運(yùn)行時(shí)間條件的端點(diǎn)所調(diào)用并且 第二 web服務(wù)被用用于第二運(yùn)行時(shí)間條件的端點(diǎn)所調(diào)用的情況下發(fā)出警告 的步驟。
      全文摘要
      本發(fā)明涉及用于管理多個(gè)web服務(wù)(WS1,WS2,WS3,WS1’,WS2’,WS3’)的系統(tǒng),該系統(tǒng)包括記錄(10),該記錄(10)包括用于多個(gè)web服務(wù)的至少一個(gè)的描述(WSDL1,WSDL2,WSDL3),其中所述至少一個(gè)web服務(wù)的描述包括用于第一運(yùn)行時(shí)間條件的第一端點(diǎn)(WS1,WS2,WS3)和用于第二運(yùn)行時(shí)間條件的第二端點(diǎn)(WS1’,WS2’,WS3’)。
      文檔編號(hào)H04L12/24GK101174983SQ20071014644
      公開(kāi)日2008年5月7日 申請(qǐng)日期2007年7月19日 優(yōu)先權(quán)日2006年7月19日
      發(fā)明者哈拉德·思科寧, 基思·斯文森, 約翰尼斯·瓦格納 申請(qǐng)人:軟件股份公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1