6]圖16示出用于選擇特許選項的屏幕。
[0037]圖17示出用于編輯服務詳情的屏幕。
【具體實施方式】
[0038]下面的詳細說明是參考附圖進行的。描述優(yōu)選實施例是為了說明本發(fā)明,而不是限制權利要求限定的范圍。本領域的技術人員可以知道對下面說明做出的各種等價修改。
[0039]團體以及團體網(wǎng)絡是一個其中實現(xiàn)文檔交換安排的計算機輔助設備和方法非常有用的環(huán)境。在這些團體中,有一個團體維護包括諸如作為該團體一部分的用戶、公司、月艮務和連接器的信息的本地記錄。該團體可以是市場、公司或子公司。團體可以屬于一個或多個團體網(wǎng)絡。典型地,團體和網(wǎng)絡都具有一些共同的商業(yè)興趣?;ゲ僮鞔嬖谟谝粋€或多個團體網(wǎng)絡中的成員團體之間。一個團體網(wǎng)絡提供團體的全局記錄。該全局記錄允許查找該團體并確定至該團體或外部連接器的一個或多個路線,通過該外部連接器可以路由綁定給該團體的電子商務文檔。從一個團體到另一個團體路由的文檔可以直接在這兩個團體的外部連接器之間路由,或間接通過一個或多個中間團體路由。還可以定義涉及這些團體的事務的商業(yè)和安全規(guī)則,并保持在團體記錄中。連接器是用于一個與其它應用通信的應用的通用術語。連接器可以基于對等(P2P)通信,或以定向為基礎通過其它作用為集線器、網(wǎng)關、夕卜部端口、中央連接器等的連接器通信。P2P通信的連接器可以與其它采用相同傳輸/包絡協(xié)議的連接器通信?;蛘?,P2P通信的連接器在試圖與不采用相同傳輸/包絡協(xié)議的連接器通信時,可以征集其它執(zhí)行翻譯服務的集線連接器的幫助。以定向為基礎通信的連接器通過集線連接器根據(jù)路由規(guī)則來通信。在連接器之間的路由規(guī)則可以映射為定向圖,支持用于一個或多個傳輸/包絡協(xié)議的一個或多個集線和輻射拓撲結構。集線和輻射拓撲沿著至集線器的輻射在一層(tier)或多層中引導通信。這有利于諸如結帳、商務智能采集、跟蹤、審計、會計等等的集中服務。多個集線和輻射組織結構可以覆蓋相同的連接器,以支持不同的傳輸/包絡協(xié)議和技術。例如,可要求更強大的集線和輻射組織結構采用Sonic作為傳輸技術,而不是采用HTTP或HTTPS?;蛘?,通信路線可取決于源和目標是否屬于同一團體。在子團體(可以包括整個團體)內,當與其它子團體中的目標通信時,可能不需要集中功能,并且可以在在其它情況下只能與父連接器通信的連接器之間進行P2P通信。
[0040]連接器可以分類為簡單連接器(有時簡稱為連接器)、集線器(有時稱為網(wǎng)關或路由器)或中心連接器?;蛘?,還可以對它們進行功能描述。簡單連接器只能通過集線連接器通信,但是它們被允許在同一子團體中的連接器之間進行P2P2通信。所謂的集線器由明確指向它們或鏈接到它們的連接器使用。集線器可以提供多種功能,并因此可以在從源到目標的路線上出現(xiàn)不止一次。集線器傳遞電子商務文檔或消息。集線器還可以在支持公共包絡協(xié)議的傳輸協(xié)議之間進行翻譯。例如,集線器可以翻譯包絡協(xié)議,還在傳輸時實施與接收時不同的傳輸協(xié)議。中心連接器是一種特殊的集線器,可由非顯式地指向它們或鏈接到它們的連接器使用。中心連接器例如用于在根據(jù)路由規(guī)則從不引向任何支持由目標使用的傳輸/包絡協(xié)議的源穿越連接器時實施翻譯功能。
[0041 ]在標準語境中,WSDL是基于標準的語言,用于定義所謂的服務定義(WSDL中稱為端口類型)、服務實例(服務)和連接器(端口)。服務定義類似于類定義。WSDL為服務類型命名,為該服務定義限定一組操作,該組操作實質上就是服務方法,并定義該操作的輸入/輸出消息。由WSDL規(guī)定的操作類型包括通告(向外綁定的消息)、單向(向內綁定的消息)、懇求/響應(與一個跟隨了一個向內消息的向外消息同步)和請求/響應(與一個跟隨了一個向外消息的向內消息同步)C3WSDL不處理服務之間交互的安排(choreography)。
[0042]本發(fā)明的方面大大超越WSDL而涉及服務中經(jīng)過安排的操作。協(xié)同操作由協(xié)作交互調用,其中在一個服務實例中的操作調用在另一個服務實例中的操作。兩個服務實例之間的協(xié)作交互是單會話的一部分,其中會話是消息的雙向流,并且是安排實例。在會話中的消息通常包括安排采用的會話ID,和初始服務/操作的標識或返回地址。
[0043]圖1結合本發(fā)明的幾個方面示出為安排成會話的特定消息交換動態(tài)確定文檔版本和翻譯版本101、服務版本102、安排版本103的能力。下面以相關應用描述這些動態(tài)確定。
[0044]WSDL中的消息具有名稱和一組部件。每個部件都具有名稱、MHffi內容類型、和如果是XML還有用于該部件的圖解(schema)定義。
[0045]本發(fā)明添加了文檔系列的概念,而不是針對XML部件的顯式圖解定義,其支持對文檔版本的動態(tài)確定。文檔系列是一組其圖解定義文檔結構的文檔版本。這允許兩個正在交互的服務支持不同的文檔版本。提供了版本轉換邏輯,以便將源文檔轉換為要求的目標文檔圖解。這允許在不升級網(wǎng)絡中所有采用該文檔相互交互的服務的情況下來發(fā)展文檔版本。這就是所謂的文檔版本互操作,其進一步描述在上面指出的Registry DrivenInteroperability and Exchange of Documents應用中。
[0046]本發(fā)明介紹了服務定義版本的概念,該服務定義版本也可以動態(tài)確定。新版本可以向已存在的輸入/輸出參數(shù)或文檔添加新的可選部分或刪除已經(jīng)存在的可選部分,還可以向早期的服務版本添加新的操作。采用該早期版本的服務實例可以用升級的新服務實例版本來正確尋址,因為版本號不是消息地址中服務定義名稱的一部分。(地址通常包括團體/服務定義名稱/操作)總之,服務定義是允許該定義的服務實例(有時簡稱服務)的模板。定義服務模板就像定義類型,而定義服務實例就像定義該類型的變量。服務定義具有名稱和版本,并定義了在該服務中的活動列表以及一個或多個活動接口。該接口不顯式地指明所支持的文檔,但至少指明所支持的文檔系列。文檔系列是一組具有相同業(yè)務功能的文檔。例如“purchase order(購買訂單)”是一個文檔系列,xCBL3.5purchase order和Rosettanet 1.0purchase order是該系列的成員。服務定義可以由團體管理員來建立,可以從供應商那里采用,如Commerce One,或者在將來,可以由標準聯(lián)盟來定義。服務實例通過指定實際使用的版本文檔來完成接口定義。實例還指定服務的策略和提供該服務的CP。實例還指定該實例所駐留的連接器。消息由服務實例發(fā)送和接收。優(yōu)選地,服務實例中的活動駐留在一個連接器中。
[0047]安排定義語言通常定義角色之間的消息流。WSDL定義角色的服務接口。但是安排定義語言沒有與WSDL合并。在安排和服務之間缺乏清晰的綁定。本發(fā)明的一個方面包括將安排角色映射為服務實例,并將安排消息映射為服務操作的輸入/輸出參數(shù)。這在上面指出的BPSS Conversat1n Management和Local Business Management應用之間的DynamicInterface中詳細討論了。
[0048]本發(fā)明允許服務定義來定義一組該服務支持的安排(例如由名稱標識的)和可以動態(tài)確定的安排中的角色。服務實例將指明它所支持的安排的子集,并可以指明在所支持的安排之間的優(yōu)先順序。運行時,計算參與的服務實例中所支持的安排的交叉,并選擇安排的一個特定版本用于消息交換。對一個或多個服務的偏好可以成為決定采用哪個安排版本的因素。諸如發(fā)起人取勝、響應者取勝、最后版本取勝、最早版本取勝的規(guī)則或偏好的加權可以成為考慮因素。或者,還可以預先定義兩個服務之間指定采用哪個安排版本的協(xié)議。所有安排參與者對隨后在經(jīng)過安排的會話中的所有消息都使用相同的安排。這使得安排可以在不需要將整個網(wǎng)絡中的所有服務都升級的情況下來發(fā)展。這就是所謂的安排版本互操作。該互操作的實現(xiàn)不依賴于用于描述該安排的語言,而取決于從名稱理解安排含義的服務。
[0049]圖2和圖3示出兩種選擇安排版本或發(fā)現(xiàn)服務版本的方法。在圖2中,消息用于在第一服務201和第二服務202之間交換關于版本的信息。該方法可以擴展到多于兩個服務,其中將第一消息發(fā)送到所有其它服務,或將附加的第一消息從第二或隨后的服務發(fā)送到其它服務。例如在安排中,安排的不同變形和版本中的第一消息211實際上都是相同的。由于文檔版本的考慮,消息可能有輕微差別,可以允許第一消息中的其它次要變形,而第一消息仍然保持與所有安排版本兼容。當所采用的安排在第一消息中選擇之后,在服務之間任一方向上的所有后來消息都是該安排的一部分。在選擇了安排版本之后,后來的消息212-224都遵循所選擇的安排。在圖3中,引用一個或多個記錄來發(fā)現(xiàn)關于由第一服務和第二服務支持的版本的信息。發(fā)現(xiàn)過程本地的服務可以在方法321可以訪問的第一記錄331中存儲版本信息。遠程服務則在方法323可以訪問的第二記錄332中存儲版本信息。在一些情況下,遠程服務的信息在第一記錄331中,并且可以由方法322訪問。例如,如果第一和第二服務都在同一團體中并依靠同一記錄?;蛘?,如果第一和第二服務近來有過接觸,并且第一服務在第一記錄中緩存了第二服務的信息。關于由兩個服務都支持的版本的信息由版本選擇邏輯311考慮O
[0050]因此,本發(fā)明的方面可以按照若干方式組合,以動態(tài)確定一些或所有文檔版本、月艮務版本和安排版本。根據(jù)本發(fā)明來實施,web服務實際上可以得到更新,并與還沒有得到類似更新的其它服務保持互操作性。
[0051 ]本發(fā)明的其它發(fā)面以所謂的對等交互或協(xié)作交互實現(xiàn)了將在互聯(lián)網(wǎng)或其它網(wǎng)絡上的分布的協(xié)作web服務之間定義和執(zhí)行的復雜安排和商業(yè)過程。其還支持在繼承web服務實施中常見的標準客戶機/服務器交互(或非協(xié)作交互)。在對等交互中,安排支持將服務之間交換的相關消息進行相關,并將返回地址包括在會話消息中。
[0052]協(xié)作服務可能具有與非協(xié)作web服務或其它應用接口之間的虛擬會話。原則上,這兩個服務相互之間使用客戶機/服務器交互,并且在綁定之外知道返回地址。這些服務采用檢查消息有效載荷的應用邏輯