專利名稱::服務創(chuàng)建方法,用于實現(xiàn)所述方法的計算機程序產(chǎn)品和計算機系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種服務創(chuàng)建方法,以及用于實現(xiàn)所述方法的計算機程序產(chǎn)品和計算機系統(tǒng)。
背景技術(shù):
:在本文描述中,除非另作說明,否則以下術(shù)語被用于以下所指示的意思-"UDDI注冊"UDDI是"通用描述發(fā)現(xiàn)和集成"的縮寫,"UDDI注冊"是指基于XML的注冊,更為特別地是專用于Web服務的注冊,特別是在SOA("面向服務的架構(gòu)"的縮寫)架構(gòu)內(nèi)。象用于某些服務提供商的特定注冊那樣,存在私有注冊和公共注冊二種。UDDI注冊使得在網(wǎng)絡上定位被搜索的Web服務成為可能。特別地,它包括用于訪問Web服務的信息和上下文信息,諸如對服務及它們的功能的簡要描述。特別地,UDDI注冊包含-白頁,其包括與業(yè)務相關(guān)的信息;-黃頁,其使用WSDL標準列出這些業(yè)務的Web服務;以及-綠頁,其提供關(guān)于所提供的服務的具體技術(shù)信息。其中,這種技術(shù)信息尤其適于描述與其相關(guān)聯(lián)的服務、鏈接或業(yè)務過程。-"計算機應用"是指旨在一起工作的任何程序或任何程序集合,其目的是向它們的用戶提供服務。-"BPEL":BPEL,"業(yè)務過程執(zhí)行語言"的縮寫,是用于交互邏輯和交互協(xié)議邏輯的形式記號的XML語言,其擴展了Web服務交互模型的語義學。除了Web服務之間的交互之外,BPEL還描述了應用邏輯和這些交互的次序。-"組合"在Web服務的上下文中,其是指可作為新的分立的Web服務的服務集合。在通過"編制(orchestration)"的組合與通過"編排(choreography)"的組合之間存在不同在通過"編制"的組合中,重點被放在對由組合的服務所執(zhí)行的過程的排序上;在通過"編排"的組合中,各服務的次序是基于所交換的消息以及基于由組合的服務對事件的考慮。-"輸入?yún)?shù),,,是指作為輸入提供給Web服務的處理操作的數(shù)據(jù);由該操作來轉(zhuǎn)換操作的輸入數(shù)據(jù)以提供輸出結(jié)果。-"輸出結(jié)果"是指由Web服務操作對它的輸入數(shù)據(jù)(或"參數(shù)")執(zhí)行處理所得到的信息。輸出結(jié)果是Web服務的用戶所期望的產(chǎn)品,所述用戶可能是計算機應用或另一Web服務。-"RSS,,(即"真正簡單的整合")是一種用于基于XML描述網(wǎng)頁內(nèi)容的格式,其使得自動索引網(wǎng)站的內(nèi)容并使之可用成為可能。-"Web服務,,是指可經(jīng)由標準接口通過因特網(wǎng)訪問的應用,其可通過使用通信協(xié)議諸如基于XML的通信協(xié)議與應用或其他Web服務進行動態(tài)交互,并且不管使用的是何種操作系統(tǒng)或編程語言都可以這么做??紤]它的實際接口,Web服務包括基于輸入數(shù)據(jù)或"輸入?yún)?shù)"來提供結(jié)果的處理操作。為了使用Web服務,通過給其提供所期望的輸入數(shù)據(jù)來調(diào)用操作之一,并且獲得輸出結(jié)果。-"SGML":用于描述數(shù)字文檔的內(nèi)容與其結(jié)構(gòu)之間的關(guān)系的一種標準化語言。-"WSDL,,是由W3C(注明日期為2001年3月15日的版本1.1,參見http:〃www.w3.org/TR/wsdl)標準化的一種語言,特別地,其參考了XML。WSDL描述了一種對Web服務進行公共訪問的接口,其使用以下元素服務名稱、操作、被操作的數(shù)據(jù)類型,以及在這些類型與這些操作之間的鏈接。通過這種方式,WSDL指出了為了使用服務如何進行通信、通信協(xié)議以及與該服務進行通信所需的消息格式。-"XML"(即"可擴展標記語言")對SGML語言的改進,特別地,該語言被HTML文檔的設計者用于定義他們自己的標簽,以實現(xiàn)對數(shù)據(jù)結(jié)構(gòu)進行個性化的目的?,F(xiàn)代電信技術(shù),特別是因特網(wǎng),使得用戶能夠快速地訪問各種各樣的服務。如果一個問題重復出現(xiàn),通常會創(chuàng)建某個合適的服務來滿足用戶的重復需求。例如,某些因特網(wǎng)搜索引擎提供諸如機器翻譯之類的高級功能。然而,可能出現(xiàn)在用戶身上的某些問題不能被現(xiàn)有服務解決。特別地,有時候用戶(其不具備專業(yè)技術(shù)知識)在沒有這種現(xiàn)有服務的時候,可能希望訪問解決只出現(xiàn)一次的問題的服務。例如,IP終端(諸如移動電話、個人數(shù)字助理、袖珍PC等)的用戶可能希望獲得將給定的RSS服務翻譯成他的或她的母語。由此,需要一種基于(用戶)請求來創(chuàng)建服務的方法以及用于實現(xiàn)這種方法的計算機程序產(chǎn)品和計算機系統(tǒng)。
發(fā)明內(nèi)容為了這個目的,本發(fā)明公開一種用于基于請求來創(chuàng)建服務的方法,該方法包括步驟對自然語言請求進行語義分析;基于所進行的語義分析識別Web服務需求;以及基于識別出的服務需求來確定Web服務并對其進行排序。在優(yōu)選的實施例中,本發(fā)明用于創(chuàng)建服務的方法包括以下特點中的一個或多個-處理還包括編制已排序的Web服務的步驟;-所述確定Web服務的步驟包括訪問UDDI注冊;-所述對請求進行語義分析的步驟包括詞法分析和語義分析;-所述確定并排序的步驟被劃分成確定Web服務以及接著對已確定的Web服務進行排序的步驟;-所述確定Web服務的步驟包括基于Web服務的描述來識別Web服務特點;將這些特點中的至少某些與識別出的需求進行比較;以及取決于比較的結(jié)果來確定Web服務;-所述對Web服務進行排序的步驟還包括取決于識別出的需求來進行排序的步驟;-Web服務特點的識別階段包括,針對每個服務訪問Web服務的描述;以及從該服務的描述來識別該服務的特點;-對Web服務的描述是用WSDL語言進行的;-所述識別特點的步驟包括對Web服務的描述進行語義分析;-所述排序步驟包括涉及到每個確定的服務的至少一個識別出的特點的兼容性測試;-針對每個服務,識別出的特點包括至少兩個組,每個組都具有至少三個字段,其中一個組中的第一字段屬于服務輸入;另一個組的第一字段屬于服務的輸出;每個組中的第二字段屬于與第一字段相關(guān)的數(shù)據(jù)類型,而每個組中的第三字段屬于與第一字段相關(guān)的語義標簽,組合步驟包括涉及到每個組中的三個字段的兼容性測試步驟。-本發(fā)明方法還包括基于確定的且排序的Web服務來創(chuàng)建新Web服務的步驟;以及-本發(fā)明的方法還包括步驟接收針對確定的且排序的Web服務的核準;以及提供新的Web服務。本發(fā)明還涉及一種能夠?qū)崿F(xiàn)本發(fā)明方法的步驟的計算機程序產(chǎn)口cro本發(fā)明還涉及一種包括能夠?qū)崿F(xiàn)本發(fā)明方法的步驟的代碼裝置的計算機系統(tǒng)。通過閱讀以下僅作為例子給出的對本發(fā)明的實施例的詳細描述并且通過參考這些例子以及所附的圖(唯一的圖),本發(fā)明的其他特點和優(yōu)點將變得明顯,其中,附圖描述了根據(jù)本發(fā)明的一個實施例的方法的步驟和組件。通過這種方式,本發(fā)明公開了一種用于基于請求來創(chuàng)建服務的方法。該方法包括對自然語言請求,諸如從便攜電話或個人數(shù)字助理發(fā)送來的自然語言請求,進行語義分析的步驟。因此,請求可以用自然語言來闡述,而不必要擁有任何專業(yè)技術(shù)知識。所進行的語義分析使得能夠識別Web服務需求(或規(guī)范)。接著,基于識別出的服務需求來執(zhí)行對Web服務的確定或排序。于是,使新的服務諸如對做出相應的自然語言請求的用戶而言成為可用的。本發(fā)明方法使得可基于(例如)來自移動電話的用自然語言表述的請求,通過集合因特網(wǎng)上能發(fā)現(xiàn)的現(xiàn)有組件Web服務來創(chuàng)建新服務,并且接著在(如果可行)的。這種方法優(yōu)選地實現(xiàn)在"集成的"計算工具內(nèi),所述計算工具諸如是包括多個耦合的軟件模塊的助理或應用,這些模塊中的每個都分配有給定的任務。唯一的附圖描述了根據(jù)本發(fā)明的一個實施例的方法的步驟和組件。具體實施例方式參考該圖,本發(fā)明的服務創(chuàng)建方法100包括對自然語言請求進行語義分析的步驟30。例如,該請求可能已經(jīng)由用戶120從個人數(shù)字助理150進行闡述(步驟IO)。接著,它通過電信網(wǎng)絡進行傳送(步驟20)并且被服務器(未描繪出)接收。例如,該文本可能是"我想將路透社的公告文本翻i奪成德語"。應當注意,可以在服務器側(cè)或者客戶端側(cè)(諸如在所述客戶端的移動電話或者個人數(shù)字助理內(nèi))實現(xiàn)上述計算工具。例如,分析請求的步驟30可以通過使用句法分析器(或"解析器,,,也即一種能夠基于對句法單元的識別來分析描述的工具)或耦合到語義分析器的句法分析例程來進行。將這種句法分析和語義分析的耦合稱為(第一)"語義模塊"。通過定義,該模塊能夠集成到上述計算工具中,并且其目的是進行對請求的語義分析。該分析使得可以用計算機可讀格式來邏輯地構(gòu)造請求。對自然語言文本的各種語義分析技術(shù)是公知的。通常,從請求中抽取或推導出名稱、它們各自的定義、以及這些名稱之間的操作。為了這么做,如現(xiàn)有技術(shù)中所公知的那樣,使用了字典或語法分析。特別地,語義分析步驟30可以首先包括詞法分析。在前面的例子中,詞法分析的第一結(jié)果是一列相關(guān)單詞,或當需要時還有它們的標準形式(不相關(guān)的單詞被忽略)。在表l中描述了該列表。<table>tableseeoriginaldocumentpage11</column></row><table>表1其次,可以由語義分析模塊添加一條上下文特有的語義信息,如表2中所指出。<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>表2于是,對請求進行詞法和語義分析的步驟使得可以識別(步驟35)針對組件Web服務的需求(也即"少見范")。在前面的例子中,考慮附加的語義信息和原始請求的語法形式,語義模塊可產(chǎn)生以下針對組件服務的需求-獲得/顯示文本-文本的譯文/文本的譯本/翻譯文本-語言=德語-新聞/公告/事件/種子(feed)-公司名稱=路透社此外,可以用與WSDL才各式(參見上面的定義)相當?shù)牟鸥魇絹順?gòu)造這些需求,以便推動以下步驟,也即確定40Web服務和對其進行排序50。稍后將提供詳細描述。這兩個步驟40、50優(yōu)選地被劃分成確定40Web服務的步驟和對已確定的Web服務進行排序50的步驟。通過這種方式,在服務已被確定之后,可以提議一個排序供用戶核準(步驟52)。接著,用戶可核準它(步驟55),或者組合其自己的次序,其接著引起機器排序,這里由恰當?shù)哪K來處理。作為替代,Web服務還可一個接一個地被確定,并且接著被提交用于部分和逐步地排序。在這種情況下,確定步驟40和排序步驟50是嵌套的。然而,在排序完成之后,仍可將排序提交給用戶進行核準。同樣,應當注意可以按照基于預先確定的標準所計算出的次序來提議多種排序。在一個實施例中,確定Web服務的步驟40包括基于所述Web服務的描述來識別Web服務的特點。在該步驟期間,可用的Web服務可以例如被系統(tǒng)地察看。針對它們中的每個,識別特點,并且在這些特點中的至少某些特點與先前已設置的需求之間進行比較。于是,這使得基于比較的結(jié)果來確定Web服務成為可能。并且關(guān)于對Web服務特點的識別的更為詳細的方式,使用了這些服務的標準化描述。優(yōu)選地,使用了Web服務的各自的描述。通過這種方式,針對給定的Web服務,上述計算工具訪問服務的描述并且接著基于它的描述來識別具體特點。應當注意,這些特點不是照此顯式存在于服務的描述內(nèi)。它們是由本發(fā)明方法推導出的。優(yōu)選地,是使用Web服務的各自的描述,特別是如上面所限定的諸如UDDI注冊之類的描述目錄可用的條件下,尤其如此。優(yōu)選地,服務的每個描述是用WSDL語言描述的,如用例如UDDI注冊進行的那樣。通過這種方式,標準化描述對于每個Web服務都是可用的。此外,這種描述在注冊服務器上總是可用的,因為它是由該服務器從所發(fā)布的Web服務外部的接口自動編譯的。這提供了與本方法的更大的兼容性。此外,還可以諸如通過使用句法分析器(或"解析器",如上面所描述)自動地分析這種描述。下面參考了(第二)語義模塊。由此,該第二模塊的功能是語義上分析WSDL描述。更為詳細地,句法分析器可以例如包括詞法分析,諸如現(xiàn)有纟支術(shù)中所公知的那樣。接著,進行對Web服務的描述的語義分析,目的是確定已抽取的詞法組件的意義。分析服務的描述使得可以識別每個服務的特點。例如,它使得可以識別針對服務的每個操作的各組特點。稍后,這些特點被用于確定識別出的服務的連接性。因為先前設置的需求與識別出的特點被優(yōu)選地類似地構(gòu)造,所以對它們進行比較變得更容易(諸如通過基于共享的特點的數(shù)量)和更快。當該比較完成,并且針對給定的一組需求,確定一個Web服務(或多個)。如果可行,則確定排名以及接著僅保留"最佳"服務(在比較的意義內(nèi))是有益的。當確定組件Web服務的步驟35完成時,給定數(shù)量的已知服務是可用的。接著,期望基于在請求中表達的邏輯來組合這些服務。為了這么做,識別出的特點可用作為基礎(chǔ),所述特點反映先前設置的需求。接著,這些特點將使得可以確定服務的連接性,也即服務連接的可能性。接下來,將可以基于這些服務的連接性來自動地組合這些服務。在Web服務的各特點中,可以例如嘗試識別針對給定Web服務的每個操作的至少一個輸入和/或輸出。更為普遍地,可以例如搜索每個服務的每個操作的輸入-輸出,作為"輸入?yún)?shù),,或"輸出參數(shù),,(參見前面這些術(shù)語的定義)。通過這種方式,接著可以通過比較它們的操作的輸入/輸出特點來測試Web服務的連接性。例如,具有提供了與服務B的操作的輸入相兼容的輸出的操作的服務A可以連接到服務B。為了確定服務的連接性,以及著眼于這些服務的將來的組合,在一個實施例中,可以針對給定Web服務的操作的每個輸入和每個輸出創(chuàng)建一組特點。如果Web服務的一個操作具有多個輸入或多個輸出,則一旦Web服務的描述已經(jīng)被分析,就可以創(chuàng)建相應數(shù)量的組。除了參數(shù)自身的名稱之外,這些組還可以例如每個都具有三個字段(或更多字段,取決于所安排的測試模型)。然而,應當注意,結(jié)果可能是使用兩個字段就足夠了,這取決于WSDL描述是被如何解析的。由此,每個組優(yōu)選地具有三個字段并且是關(guān)于Web服務的操作的輸入?yún)?shù)或輸出結(jié)果。第一字段是關(guān)于針對正被討論的參數(shù)或結(jié)果的輸入或輸出信息。每個組的第二字段指明了參數(shù)或者結(jié)果的數(shù)據(jù)類型。數(shù)據(jù)類型是在服務的WSDL描述中的元素之一。第三字段是關(guān)于語義標簽(或下面的例子中的"SemTag,,),其將與參數(shù)或結(jié)果相關(guān)聯(lián)。語義標簽此處可視為名稱、字符串,或者更為普遍地,視為與數(shù)據(jù)相關(guān)聯(lián)并用于進一步在語義上表現(xiàn)其特征的代碼。應當注意,如果可以直接從WSDL描述中抽取類型,則在分析該同一描述之后放置標簽。接著,特點的兼容性測試可涉及每個組的每個字段。上述第二語義模塊(通常形成前述計算工具的組成部分)可以用于在每種數(shù)據(jù)類型上(在輸入和輸出處)放置語義標簽。該標簽指明輸入/輸出數(shù)椐的性質(zhì)并且因此指明如何處理數(shù)據(jù)。通過這種方式,每片輸入/輸出數(shù)據(jù)由一個三元組來描述(輸入或輸出、數(shù)據(jù)類型、語義標簽)。下面所示出的是通過使用三個字段對與稍后將提及的Web翻譯服務的輸入的語義描述相對應的XML文件的提取(該XML文件提取是對相應的WSDL文件執(zhí)行語義處理的結(jié)果)<input>〈paramname="srcjang"type="string"semtag="language"/>〈paramname="dest一lang"type="string"semtag="language"/><paramname="text—to—tr"type="string"semtag-"text"/></input>通過這種方式,可以看出,除了輸入信息之外,每個參數(shù)承載對應著它的名稱、它的類型以及它的語義標簽("semtag")的三個字段。接著在針對服務之間的兼容性的測試期間將使用的三條信息是輸入或輸出信息、類型信息和語義標簽?,F(xiàn)在,給出關(guān)于語義分析的更為詳細的解釋。無論何時WSDL文件被分析四個主要部分可以被識別,其對應于類型、消息、操作和服務名稱。此外,對應于"端口類型"和"綁定,,的其他信息被識別(這兩個術(shù)語是WSDL描述中的慣用術(shù)語),其將用于在操作的輸入/輸出與消息之間創(chuàng)建連接。對WSDL描述的第一且純句法的分析級別使得可以獲得關(guān)于服務的"有用的,,句法結(jié)構(gòu),也即必要且足夠的信息。這種信息主要從上述四個部分來獲得。對于搜索而言無用的元素被移除。剩余的信息被重新排序并通過使用"綁定,,和"端口類型"信息而互連。這容易通過使用句法分析器來實現(xiàn)。在該級別上,語義數(shù)據(jù)還沒被添加。作為舉例,所獲得的用于翻譯服務的有用的句法結(jié)構(gòu)是下面這樣(其中術(shù)語來自XML語言)〈servicename="Translator">〈types/》/該輸入為空,因為在該例子中沒有任何復雜類型<operationname="Translate"><input><partname="lang"type="string"><partname="text"type="string"></input><output><partname="TranslateResult"type-"string"〉</output></operation〉</service>基于有用的句法結(jié)構(gòu),使用第二語義模塊進行更精確的分析。該模塊可以例如承擔以下操作任務。它挑選出所使用的術(shù)語(上面,術(shù)語"Translate","lang"、"text"、"TranslateResult"等等)并且分解它們(這些術(shù)語通常用類似于在編程語言中所使用的術(shù)語的方式寫出,或者用諸如"一,,之類的字符分隔開,等等),目的是使這些術(shù)語"解開連接"。如果有必要,則該模塊接著擴展被截斷的術(shù)語(諸如通過在字典中進行查找)。在前面的例子中,這給出"translate(翻譯)"、"text(文本)"和"translateresult(翻譯結(jié)果)"。在完成這之后,通過使用恰當?shù)淖值?,嘗試將名詞與遇到的每個動詞以及每個名詞的定義關(guān)聯(lián)起來。如果可行,檢查這些定義以保留某一個而不是另一個?;パa技術(shù)是公知的,其在可以應用的條件下使得可以簡化這些處理任務并容易地獲得可用結(jié)果。上面給出的第五個步驟的主要目的是將語義標簽添加到服務的上述有用的句法結(jié)構(gòu)中的每個輸入/輸出的每個名稱上。通過這種方式,將針對對應的輸入"text"放置標簽"text"。通過這種方式,獲得了改寫的服務描述。在翻譯服務的例子中,獲得了與上面所描述的對XML文件的提取相類似的描述。放置語義標簽-其可視為"超級標簽(supertag),,-使得可以有效地確定Web服務的連接。然而,其他語義分析技術(shù)也可用于這種放置。在這一點上,存在能夠使一個Web服務連接到另一個Web服務的全部組件。下面,通過使用例子來描述確定Web服務的連接性的步驟。在該例子中,用戶在他的請求中表述他希望看到顯示的來自翻譯服務和RSS服務的對RSS種子(諸如從報紙網(wǎng)站中抽取的一個)的翻譯結(jié)果。RSS種子從新聞站點自動地復制,特別是復制標題行或者全文。這種格式特別用于利用其內(nèi)容定期更新的頁面。在這種情況下,假定在這一點上,請求已經(jīng)被翻譯并且接著被分析,已經(jīng)從請求中提取了Web服務需求,并且最終已經(jīng)通過查閱UDDI注冊發(fā)現(xiàn)了這些Web服務。由此,必要的Web服務是可用的。現(xiàn)在,出現(xiàn)的一個問題是如何自動組合這些服務以獲得對一段RSS內(nèi)容的機器翻譯。首先,用于翻譯的Web服務是可用的,其擁有輸入(用第一語言或語言"1"編寫的文本)和輸出(用第二語言或語言"2"編寫的另一文本)。分析對應的WSDL描述,導致識別輸入數(shù)據(jù)和輸出數(shù)據(jù),通過以下三元組組來描述(輸入l,類型3tring,語義標簽=待翻"%的文本};{輸入2,類型-string,語義標簽=語言1};{輸出1,類型^string,語義標簽=已翻譯的文本};以及{輸出2,類型-string,語義標簽=語言2};單詞"string"是指字符串。提供RSS種子的Web服務也是可用的。在由上述工具進行了分析之后,該Web服務可以例如提供如下所指明的輸出{輸出1,類型^string,語義標簽=標題行};{輸出2,類型^string,語義標簽=標題行的語言};{輸出3,類型Hring,語義標簽=描述};以及{輸出4,類型^string,語義標簽=描述的語言};此外,顯示服務是可用的,它在分析之后可如下讀取識別出的特點{輸入=待顯示的文本,類型-string,語義標簽=文本);以及(輸出-顯示,類型=屏幕,語義標簽二顯示);接著,確定待組合的每個服務的連接性,優(yōu)選地是每次兩個。為了達到這個目的,可以搜索一個Web服務的輸入與另一服務的輸出之間的語義對應,也即兩個語義三元組之間的兼容性。特別地,這種兼容性可滿足三個條件a)第一三元組屬于輸出,另一個三元組屬于輸入b)兩個類型是相同的或可兼容的c)兩個語義標簽是相同的或可兼容的。出于該目的,可以針對上述計算工具提供兼容性表并使該兼容性表對于上述計算工具是可用的。在上面的例子中,按下述方向自動地發(fā)現(xiàn)兼容性RSS服務-〉翻譯服務->顯示服務實際上,對于語義模塊可用的表格使得可以通過使用每個服務來創(chuàng)建完美的每次兩個的匹配。另一方面,順序"RSS服務》顯示服務》翻譯服務"將不再被考慮,因為顯示服務的輸出與翻譯服務的輸入之間的語義不兼容。應當注意,如果可行,迭代過程或"重復處理,,可以被采納,目的是將給定數(shù)量的來自第一服務的相同類型的輸出耦合到來自另一服務的輸入。在前面的例子中,這特別有用。通過這種方式,每個RSS服務輸出(標題、描述,等等)被翻譯并且接著被顯示。更為詳細地,可以在兩個步驟中執(zhí)行對Web服務的連接性的確定i)首先,基于從檢查它們各自的輸入-輸出所提取的邏輯次序;以及ii)接著,通過輸入-輸出它們自身的連接,基于它們的語義標簽和它們的類型的詳細描述(通過進4于上述兼容性測試)。通過這種方式,某個具體的模塊被賦予全面確定用于編制這些服務的次序(服務X在服務Y之前,等等)的任務,并且在更為詳細的級別上接著確定一個服務的哪個輸出連接到另一服務的哪個輸入。如果可行并如上所述,全面的編制次序可以纟皮:f是議(步驟52)給用戶進行核準(步驟55)。然而,該用戶可以決定改變該次序或者引入另一服務。該編制次序可以例如基于規(guī)則數(shù)據(jù)庫內(nèi)可實現(xiàn)的直觀推斷來確定,并在推理引擎的控制下來放置。例如,如果服務A在其輸入-輸出處擁有對應于文本的語義標簽,并且服務B在其輸入處具有不同或不兼容的標簽,則次序?qū)?yōu)選地是B,接下來A。在上述例子中首先,RSS服務被調(diào)用,其輸出具有對應于文本的語義標簽(輸入標簽可以例如對應于Web地址,并且不同于"文本")。接著,翻譯服務被調(diào)用,翻譯服務在其輸入和輸出處具有對應于文本的標簽。此外,RSS服務的輸出可連接到翻譯服務的輸入。考慮到從語義標簽與類型標簽的比較中可以看出的明顯的不兼容性,所提出的自動連接將如下-對應于RSS服務的標題行的文本輸出可以;故連^妾到翻碎,服務的(唯一的)文本輸入;以及-對應于RSS服務的描述的文本輸出可以連接到翻譯服務的(唯一的)文本輸入。這些提議可以被直接地保持用于后續(xù)的組合步驟,或者如果可行,可以供用戶核準,如上面所描述的那樣。接著,一旦連接性已經(jīng)建立,取決于Web服務的連接性,Web服務的實際組合由專門的匯編模塊來執(zhí)行。為了這個目的,連接的字符串可以例如凈皮翻i奪成形式化的編制(orchestration)或編排(choreography)語言,諸如BPEL(參見本文檔開始處的定義)。連接的字符串接著可以被提交給編制引擎,其將負責執(zhí)行它(步驟60),因為它是分立的Web服務。特別地,以下類型的連接的字符串服務A的"輸入1"=>產(chǎn)生"輸出1"-〉服務B的"輸入2"=>產(chǎn)生"輸出2"-〉服務C的"輸入3"=>產(chǎn)生"輸出3"可以被翻譯并接著被提交給編制引擎,編制引擎將它作為由A、B和C組成的分立的服務D來執(zhí)行,并且給定輸入1時其可以直接提供"最終結(jié)果3"。該匯編模塊接著使得可以自動連接Web服務。通過這種方式,就獲得了由所述計算工具自動地組合(步驟60)的服務。使得以這種方式組合的服務對于用戶是可用的(步驟65,70)。作為一個替代選擇,服務還可以保留(在這種情況下,它被創(chuàng)建)對于用戶可用,并且如果可行,可以保留一段給定的時間。將該工具集成到某個應用使得可以實時獲得服務的組合。在上面的例子中,可以基于請求獲得被翻譯成想要的語言的指明了必須元素的RSS種子。自然,其他例子和組合可以^皮預見。權(quán)利要求1.一種根據(jù)請求創(chuàng)建服務的方法(100),包括步驟:-對自然語言的請求進行語義分析(30);-基于所進行的語義分析(30)識別(35)Web服務需求;以及-取決于識別出的服務需求來確定(40)Web服務并對其進行排序(50)。2.根據(jù)權(quán)利要求1所述的方法(100),還包括編制(60)已排序的Web服務的步驟。3.根據(jù)權(quán)利要求1所述的方法(100),其中所述確定Web服務的步驟包括訪問UDDI注冊(200)的動作。4.根據(jù)權(quán)利要求1所述的方法(100),其中所述對請求進行語義分析的步驟包括-詞法和語義分析(30)。5.根據(jù)權(quán)利要求4所述的方法(100),其中所述確定(40)并排序(50)的步驟被劃分成確定(40)Web服務和接著對所確定的Web服務進行排序(50)的步驟。6.根據(jù)權(quán)利要求5所述的方法(100),其中所述確定(40)Web服務的步驟包括-基于Web服務的描述來識別Web服務的特點;-將這些特點中的至少某些特點與識別出的需求進行比較;以及-基于所述比較結(jié)果確定Web服務。7.根據(jù)權(quán)利要求5所述的方法(100),其中所述對Web服務進行排序(50)的步驟還包括步驟_基于識別出的需求來進行排序。8.根據(jù)權(quán)利要求6所述的方法(100),其中所述識別Web服務的特點的步驟包括針對每個服務,-訪問所述Web服務的描述;以及-基于所述服務的描述來識別所述服務的特點。9.根據(jù)權(quán)利要求8所述的方法(100),其中所述Web服務的描述是用WSDL語言進行的。10.根據(jù)權(quán)利要求6所述的方法(100),其中所述識別特點的步驟包括對Web服務的描述的語義分析。11.根據(jù)權(quán)利要求6所述的方法(100),其中所述識別出的特點包括每個確定的服務的輸入和/或輸出。12.根據(jù)權(quán)利要求6所述的方法(100),其中所述排序(50)步驟包括-涉及到每個確定的服務的至少一個識別出的特點的兼容性測試。13.根據(jù)權(quán)利要求11所述的方法(100),其中針對所述服務中的每一個,所述識別出的特點包括-至少兩個組,每個組具有至少三個字段,其中-一個組中的第一字段屬于所述服務的輸入;-另一個組中的第一字段屬于所述服務的輸出;-每個組中的第二字段屬于與所述第一字段相關(guān)的數(shù)據(jù)類型;-每個組中的第三字段屬于與所述第一字段相關(guān)的語義標簽;以及其中組合步驟還包括-涉及到所述每個組中的三個字段的兼容性測試步驟。14.根據(jù)權(quán)利要求1所述的方法(100),還包括步驟-基于所述確定的且排序的Web服務來創(chuàng)建(60)新的Web服務。15.根據(jù)權(quán)利要求14所述的方法(100),還包括步驟-接收(55)對所述確定的且排序的Web服務的核準;以及-使得所述新的Web服務可用(65)。16.—種計算機程序產(chǎn)品,其能夠?qū)崿F(xiàn)權(quán)利要求1至15中的任何一項所述的方法(100)的各步驟。17.—種計算機系統(tǒng),其包括能夠?qū)崿F(xiàn)權(quán)利要求1至15中的任何一項所述的方法(100)的各步驟的代碼裝置。全文摘要本發(fā)明涉及一種根據(jù)請求創(chuàng)建服務的方法(100)。本發(fā)明的方法包括步驟包括對自然語言請求的語義分析(30),該請求可以例如傳輸自便攜式電話或個人數(shù)字助理(150)。通過這種方式,可以使用自然語言來闡述(10)請求,而不需要用戶具有任何技術(shù)知識。上述語義分析(30)可以用于識別(35)Web服務需求(或規(guī)范)。隨后,基于識別出的服務需求,確定(40)Web服務并且對其進行排序(50)。接著,使得新的服務對于例如做出對應的自然語言請求的用戶可用。文檔編號G06F9/44GK101375247SQ200780003412公開日2009年2月25日申請日期2007年1月23日優(yōu)先權(quán)日2006年1月24日發(fā)明者P·拉爾韋申請人:阿爾卡特朗訊