專利名稱:展示過程流以及作為萬(wàn)維網(wǎng)服務(wù)的安排控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及支持文檔交換安排(choreography)的基于計(jì)算機(jī)的設(shè)備和方 法。具體地說,本發(fā)明的一些方面涉及便于通過安排版本、服務(wù)版本和文檔版 本的各種組合來升級(jí)系統(tǒng)的設(shè)備和方法。本發(fā)明提供采用安排代理的安排管理
器,并向非安排使能的應(yīng)用提供能使用安排的界面。本發(fā)明的其它方面包括圖 形設(shè)計(jì)工具和將主機(jī)服務(wù)透明地別名為多語(yǔ)境設(shè)置特許服務(wù)。
背景技術(shù):
商業(yè)到商業(yè)(B2B)和應(yīng)用到應(yīng)用(A2A)的電子商務(wù)正將以前的協(xié)議替 換為電子數(shù)據(jù)交換(EDI)。由于商業(yè)力爭(zhēng)用B2B和A2A系統(tǒng)來提高效率,因 此出現(xiàn)了很多不兼容的平臺(tái)和相互竟?fàn)幍臉?biāo)準(zhǔn)。即使在兼容標(biāo)準(zhǔn)中也存在需要 填補(bǔ)的空白。例如工業(yè)上定義了什么是簡(jiǎn)單的web服務(wù)。涉及簡(jiǎn)單Web服務(wù)的 標(biāo)準(zhǔn)包括UDDI、 WSDL、 XSDL和SOAP。但是,這些標(biāo)準(zhǔn)沒有完全滿足對(duì)實(shí) 際B2B和A2A電子商務(wù)的安全性、可靠性、可管理性以及安排需求。在本文 中,服務(wù)之間的消息交換安排包括為安排的交換設(shè)置一種模式,并用標(biāo)識(shí)符(例 如會(huì)話ID)跟蹤作為交換一部分的消息。安排尤其表示具有大量選項(xiàng)和配置問 題的竟?fàn)幤脚_(tái)。期望協(xié)作web服務(wù)及其安排逐漸成為非web業(yè)務(wù)。不存在任何廣泛或統(tǒng)一的設(shè)備或方法可以動(dòng)態(tài)解決發(fā)展中產(chǎn)生的問題。
實(shí)施B2B和A2A電子商務(wù)的一種方法是采用web服務(wù)。web服務(wù)是一種 以模塊方式展示功能于萬(wàn)維網(wǎng)上的根本的新方法。在web服務(wù)發(fā)展的當(dāng)前階段, 大量注意力都集中在文檔交換和RPC web服務(wù)上。RPC web服務(wù)支持其中調(diào)用
程范例。
web服務(wù)的當(dāng)前實(shí)現(xiàn)通常遵循3個(gè)標(biāo)準(zhǔn)。UDDI是基于搜索準(zhǔn)則發(fā)現(xiàn)web 服務(wù)并下載其界面的登錄標(biāo)準(zhǔn)。WSDL是定義web服務(wù)的消息界面的界面標(biāo)準(zhǔn)。 SOAP是包括與用于通過導(dǎo)線傳送有效載荷的HTTP傳送器之間的定義的綁定 的包絡(luò)協(xié)議。web服務(wù)通常依賴于XML標(biāo)準(zhǔn),例如XSDL、 Xlink、 Xbase和 Xpointer以及通用web標(biāo)準(zhǔn),例如HTTP和URI。
目前大多數(shù)web服務(wù)都是簡(jiǎn)單的web服務(wù)。簡(jiǎn)單web服務(wù)采用同步的不 可靠的HTTP傳送器,并且不支持除發(fā)送級(jí)安全性之外的安全性,或者允諾有 效載荷中的、只能由通信雙方理解的安全信息。簡(jiǎn)單web服務(wù)包含操作。調(diào)用 web服務(wù)意味著調(diào)用該web服務(wù)的操作。操作可能設(shè)計(jì)成接受單路消息或支持 其中調(diào)用者為響應(yīng)而進(jìn)行阻塞并且被調(diào)用的服務(wù)立即響應(yīng)的請(qǐng)求/響應(yīng)范例。簡(jiǎn) 單web服務(wù)可以采用RPC編程范例或基于文檔的編程范例。
對(duì)標(biāo)準(zhǔn)兼容的web服務(wù)的挑戰(zhàn)是定義高性能web服務(wù)以改善企業(yè)的業(yè)務(wù)能 力。這樣的web服務(wù)支持具有可靠性(就是一次性)、異步傳送如SMTP、 JMS、 專有性(加密)、完整性(簽名)、驗(yàn)證和授權(quán)、以及路由的調(diào)用。
所出現(xiàn)的另一個(gè)挑戰(zhàn)是定義協(xié)作的web服務(wù)。這些web服務(wù)可能與其它 web服務(wù)保持長(zhǎng)時(shí)間的交互,并且可以在沒有安排的會(huì)話式語(yǔ)境的情況下調(diào)用 非協(xié)作web服務(wù)。這種協(xié)作web服務(wù)需要對(duì)在會(huì)話中將相關(guān)的消息相關(guān)的支持, 以及對(duì)返回地址的支持。
有很多企業(yè)著手?jǐn)U展可用于B2B及A2A的電子商務(wù)的標(biāo)準(zhǔn)。對(duì)于安排 (choreography)方面的努力包括來自O(shè)ASIS的ebXML/BPSS、來自IBM的 WSFL、來自Microsoft的XLANG。對(duì)于會(huì)話方面的努力包括來自O(shè)ASIS的 ebXML/TRP和Microsoft的WS-routing。其它方面的努力包括來自IBM、 Microsoft和BEA Systems的BPEL4WS (用于Web服務(wù)的商業(yè)處理執(zhí)行語(yǔ)言)、 來自Sun Microsystems的"Web Service Choreography Interface 、 WSCL ( AVeb月良 務(wù)會(huì)話語(yǔ)言)和BPML (商業(yè)處理建模語(yǔ)言)。這么多的安排(choreography)努力都在進(jìn)行中,以至于一些企業(yè)領(lǐng)導(dǎo)人在2002年9月要求W3C標(biāo)準(zhǔn)協(xié)會(huì)的 Web Service Architecture Working Group ( Web月良務(wù)體系結(jié)構(gòu)工作組)設(shè)立可以 解決不兼容性的標(biāo)準(zhǔn)。對(duì)于可靠性,有來自Microsoft的建議、來自O(shè)ASIS的 ebXML/TRP和來自IBM的HTTPR。 W3C正在所有這些領(lǐng)域致力于標(biāo)準(zhǔn)化。 基礎(chǔ)工業(yè)的參與者已經(jīng)形成了稱為WSI的竟?fàn)幫恕5撬麄兩形粗铝τ诜?wù) 進(jìn)展和安排問題。
因此,就出現(xiàn)了開發(fā)支持發(fā)展文檔交換安排的方法和設(shè)備的機(jī)會(huì)。
發(fā)明內(nèi)容
本發(fā)明涉及支持文檔交換安排的基于計(jì)算機(jī)的設(shè)備和方法。具體地說,本 發(fā)明的一些方面涉及便于通過安排版本、服務(wù)版本和文檔版本的各種組合來發(fā) 展系統(tǒng)的設(shè)備和方法。本發(fā)明是為采用安排代理的安排管理器提供的,并向非 安排使能的應(yīng)用提供安排使能的界面。本發(fā)明的其它方面包括圖形設(shè)計(jì)工具和 將主機(jī)服務(wù)透明地別名為多語(yǔ)境設(shè)置特許服務(wù)。
圖1示出動(dòng)態(tài)確定文檔版本和翻譯版本、服務(wù)版本和安排版本的能力。
圖2示出消息交換如何涉及服務(wù)版本。
圖3示出對(duì)一個(gè)或多個(gè)記錄的引用以發(fā)現(xiàn)用于談判的信息。
圖4示出活動(dòng)的4種類型。
圖5示出活動(dòng)和內(nèi)部過程之間的交互。
圖6示出在過程引擎中執(zhí)行的用于構(gòu)建安排代理的的內(nèi)部過程流。 圖7示出消息的相關(guān)。
圖8和9有助于區(qū)分常規(guī)的非特許服務(wù)和特許服務(wù)。
圖10-17示出本發(fā)明的實(shí)施例的多個(gè)屏幕。
圖10是管理主機(jī)軟件包屏幕。
圖11示出注冊(cè)新主機(jī)服務(wù)的部分。
圖12示出用于編輯文檔交換活動(dòng)的屏幕。
圖13示出用于驗(yàn)證或修改簽名和加密策略的屏幕。
圖14示出用于注冊(cè)主機(jī)服務(wù)軟件包的屏幕。
圖15示出用于選擇新的特許包的屏幕。圖16示出用于選擇特許選項(xiàng)的屏幕。
圖17示出用于編輯服務(wù)詳情的屏幕。
具體實(shí)施例方式
下面的詳細(xì)說明是參考附圖進(jìn)行的。描述優(yōu)選實(shí)施例是為了說明本發(fā)明, 而不是限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員可以知道對(duì)下面說明做出的各種 等價(jià)修改。
團(tuán)體以及團(tuán)體網(wǎng)絡(luò)是一個(gè)其中實(shí)現(xiàn)文檔交換安排的計(jì)算機(jī)輔助設(shè)備和方 法非常有用的環(huán)境。在這些團(tuán)體中,有一個(gè)團(tuán)體維護(hù)包括諸如作為該團(tuán)體一部 分的用戶、公司、服務(wù)和連接器的信息的本地記錄。該團(tuán)體可以是市場(chǎng)、公司 或子公司。團(tuán)體可以屬于一個(gè)或多個(gè)團(tuán)體網(wǎng)絡(luò)。典型地,團(tuán)體和網(wǎng)絡(luò)都具有一 些共同的商業(yè)興趣?;ゲ僮鞔嬖谟谝粋€(gè)或多個(gè)團(tuán)體網(wǎng)絡(luò)中的成員團(tuán)體之間。一 個(gè)團(tuán)體網(wǎng)絡(luò)提供團(tuán)體的全局記錄。該全局記錄允許查找該團(tuán)體并確定至該團(tuán)體 或外部連接器的一個(gè)或多個(gè)路線,通過該外部連接器可以路由綁定給該團(tuán)體的 電子商務(wù)文檔。從一個(gè)團(tuán)體到另一個(gè)團(tuán)體路由的文檔可以直接在這兩個(gè)團(tuán)體的 外部連接器之間路由,或間接通過一個(gè)或多個(gè)中間團(tuán)體路由。還可以定義涉及 這些團(tuán)體的事務(wù)的商業(yè)和安全規(guī)則,并保持在團(tuán)體記錄中。連接器是用于一個(gè) 與其它應(yīng)用通信的應(yīng)用的通用術(shù)語(yǔ)。連接器可以基于對(duì)等(P2P)通信,或以 定向?yàn)榛A(chǔ)通過其它作用為集線器、網(wǎng)關(guān)、外部端口、中央連接器等的連接器 通信。P2P通信的連接器可以與其它采用相同傳輸/包絡(luò)協(xié)議的連接器通信?;?者,P2P通信的連接器在試圖與不采用相同傳輸/包絡(luò)協(xié)議的連接器通信時(shí),可 以征集其它執(zhí)行翻譯服務(wù)的集線連接器的幫助。以定向?yàn)榛A(chǔ)通信的連接器通 過集線連接器根據(jù)路由規(guī)則來通信。在連接器之間的路由規(guī)則可以映射為定向 圖,支持用于一個(gè)或多個(gè)傳輸/包絡(luò)協(xié)議的一個(gè)或多個(gè)集線和輻射拓樸結(jié)構(gòu)。集 線和輻射拓樸沿著至集線器的輻射在一層(tier)或多層中引導(dǎo)通信。這有利于 諸如結(jié)帳、商務(wù)智能采集、跟蹤、審計(jì)、會(huì)計(jì)等等的集中服務(wù)。多個(gè)集線和輻 射組織結(jié)構(gòu)可以覆蓋相同的連接器,以支持不同的傳輸/包絡(luò)協(xié)議和技術(shù)。例如, 可要求更強(qiáng)大的集線和輻射組織結(jié)構(gòu)采用Sonic作為傳輸技術(shù),而不是采用 HTTP或HTTPS?;蛘?,通信路線可取決于源和目標(biāo)是否屬于同一團(tuán)體。在子 團(tuán)體(可以包括整個(gè)團(tuán)體)內(nèi),當(dāng)與其它子團(tuán)體中的目標(biāo)通信時(shí),可能不需要 集中功能,并且可以在在其它情況下只能與父連接器通信的連接器之間進(jìn)行P2P通信。
連接器可以分類為簡(jiǎn)單連接器(有時(shí)簡(jiǎn)稱為連接器)、集線器(有時(shí)稱為 網(wǎng)關(guān)或路由器)或中心連接器。或者,還可以對(duì)它們進(jìn)行功能描述。筒單連接 器只能通過集線連接器通信,但是它們被允許在同一子團(tuán)體中的連接器之間進(jìn)
行P2P2通信。所謂的集線器由明確指向它們或鏈接到它們的連接器使用。集
線器可以提供多種功能,并因此可以在從源到目標(biāo)的路線上出現(xiàn)不止一次。集 線器傳遞電子商務(wù)文檔或消息。集線器還可以在支持公共包絡(luò)協(xié)議的傳輸協(xié)議 之間進(jìn)行翻譯。例如,集線器可以翻譯包絡(luò)協(xié)議,還在傳輸時(shí)實(shí)施與接收時(shí)不 同的傳輸協(xié)議。中心連接器是一種特殊的集線器,可由非顯式地指向它們或鏈 接到它們的連接器使用。中心連接器例如用于在根據(jù)路由規(guī)則從不引向任何支 持由目標(biāo)使用的傳輸/包絡(luò)協(xié)議的源穿越連接器時(shí)實(shí)施翻譯功能。
在標(biāo)準(zhǔn)語(yǔ)境中,WSDL是基于標(biāo)準(zhǔn)的語(yǔ)言,用于定義所謂的服務(wù)定義 (WSDL中稱為端口類型)、服務(wù)實(shí)例(服務(wù))和連接器(端口 )。服務(wù)定義類 似于類定義。WSDL為服務(wù)類型命名,為該服務(wù)定義限定一組操作,該組操作 實(shí)質(zhì)上就是服務(wù)方法,并定義該操作的輸入/輸出消息。由WSDL規(guī)定的操作 類型包括通告(向外綁定的消息)、單向(向內(nèi)綁定的消息)、懇求/響應(yīng)(與一 個(gè)跟隨了 一個(gè)向內(nèi)消息的向外消息同步)和請(qǐng)求/響應(yīng)(與 一個(gè)跟隨了 一個(gè)向外 消息的向內(nèi)消息同步)。WSDL不處理服務(wù)之間交互的安排(choreography )。
本發(fā)明的方面大大超越WSDL而涉及服務(wù)中經(jīng)過安排的操作。協(xié)同操作由 協(xié)作交互調(diào)用,其中在一個(gè)服務(wù)實(shí)例中的操作調(diào)用在另 一個(gè)服務(wù)實(shí)例中的操作。 兩個(gè)服務(wù)實(shí)例之間的協(xié)作交互是單會(huì)話的一部分,其中會(huì)話是消息的雙向流, 并且是安排實(shí)例。在會(huì)話中的消息通常包括安排采用的會(huì)話ID,和初始服務(wù)/ 操作的標(biāo)識(shí)或返回地址。
圖1結(jié)合本發(fā)明的幾個(gè)方面示出為安排成會(huì)話的特定消息交換動(dòng)態(tài)確定文 檔版本和翻譯版本101、服務(wù)版本102、安排版本103的能力。下面以相關(guān)應(yīng)用 描述這些動(dòng)態(tài)確定。
WSDL中的消息具有名稱和一組部件。每個(gè)部件都具有名稱、MIME內(nèi)容 類型、和如果是XML還有用于該部件的圖解(schema)定義。
本發(fā)明添加了文檔系列的概念,而不是針對(duì)XML部件的顯式圖解定義, 其支持對(duì)文檔版本的動(dòng)態(tài)確定。文檔系列是一組其圖解定義文檔結(jié)構(gòu)的文檔版 本。這允許兩個(gè)正在交互的服務(wù)支持不同的文檔版本。提供了版本轉(zhuǎn)換邏輯,以便將源文檔轉(zhuǎn)換為要求的目標(biāo)文檔圖解。這允許在不升級(jí)網(wǎng)絡(luò)中所有采用該 文檔相互交互的服務(wù)的情況下來發(fā)展文檔版本。這就是所謂的文檔版本互操作,
其進(jìn)一步描述在上面指出的Registry Driven Interoperability and Exchange of Documents應(yīng)用中。
本發(fā)明介紹了服務(wù)定義版本的概念,該服務(wù)定義版本也可以動(dòng)態(tài)確定。新 版本可以向已存在的輸入/輸出參數(shù)或文檔添加新的選項(xiàng)部件或刪除已經(jīng)存在 的選項(xiàng)部件,還可以向早期的服務(wù)版本添加新的操作。采用該早期版本的服務(wù) 實(shí)例可以用升級(jí)的新服務(wù)實(shí)例版本來正確尋址,因?yàn)榘姹咎?hào)不是消息地址中服 務(wù)定義名稱的一部分。(地址通常包括團(tuán)體/服務(wù)定義名稱/4喿作)總之,服務(wù)定 義是允許該定義的服務(wù)實(shí)例(有時(shí)簡(jiǎn)稱服務(wù))的模板。定義服務(wù)模板就像定義 類型,而定義服務(wù)實(shí)例就像定義該類型的變量。服務(wù)定義具有名稱和版本,并 定義了在該服務(wù)中的活動(dòng)列表以及一個(gè)或多個(gè)活動(dòng)界面。該界面不顯式地指明 所支持的文檔,但至少指明所支持的文檔系列。文檔系列是一組具有相同業(yè)務(wù) 功能的文檔。例如"purchase order (購(gòu)買訂單),,是一個(gè)文檔系列,xCBL3.5 purchase order和Rosettanet 1.0 purchase order是該系歹'J的成員。月良務(wù)定義可以由 團(tuán)體管理員來建立,可以從供應(yīng)商那里采用,如Commerce One,或者在將來, 可以由標(biāo)準(zhǔn)聯(lián)盟來定義。服務(wù)實(shí)例通過指定實(shí)際使用的版本文檔來完成界面定 義。實(shí)例還指定服務(wù)的策略和提供該服務(wù)的CP。實(shí)例還指定該實(shí)例所駐留的連 接器。消息由服務(wù)實(shí)例發(fā)送和接收。優(yōu)選地,服務(wù)實(shí)例中的活動(dòng)駐留在一個(gè)連 接器中。
安排定義語(yǔ)言通常定義角色之間的消息流。WSDL定義角色的服務(wù)界面。 但是安排定義語(yǔ)言沒有與WSDL合并。在安排和服務(wù)之間缺乏清晰的綁定。本 發(fā)明的一個(gè)方面包括將安排角色映射為服務(wù)實(shí)例,并將安排消息映射為服務(wù)操 作的輸入/輸出參數(shù)。這在上面指出的BPSS Conversation Management和Local Business Management應(yīng)用之間的Dynamic Interface中詳細(xì)討論了 。
本發(fā)明允許服務(wù)定義來定義一組該服務(wù)支持的安排(例如由名稱標(biāo)識(shí)的) 和可以動(dòng)態(tài)確定的安排中的角色。服務(wù)實(shí)例將指明它所支持的安排的子集,并 可以指明在所支持的安排之間的優(yōu)先順序。運(yùn)行時(shí),計(jì)算參與的服務(wù)實(shí)例中所 支持的安排的交叉,并選擇安排的一個(gè)特定版本用于消息交換。對(duì)一個(gè)或多個(gè) 服務(wù)的偏好可以成為決定采用哪個(gè)安排版本的因素。諸如發(fā)起人取勝、響應(yīng)者 取勝、最后版本取勝、最早版本取勝的規(guī)則或偏好的加權(quán)可以成為考慮因素?;蛘?,還可以預(yù)先定義兩個(gè)服務(wù)之間指定采用哪個(gè)安排版本的協(xié)議。所有安排 參與者對(duì)隨后在經(jīng)過安排的會(huì)話中的所有消息都使用相同的安排。這使得安排 可以在不需要將整個(gè)網(wǎng)絡(luò)中的所有服務(wù)都升級(jí)的情況下來發(fā)展。這就是所謂的 安排版本互操作。該互操作的實(shí)現(xiàn)不依賴于用于描述該安排的語(yǔ)言,而取決于 從名稱理解安排含義的服務(wù)。
圖2和圖3示出兩種選擇安排版本或發(fā)現(xiàn)服務(wù)版本的方法。在圖2中,消 息用于在第一服務(wù)201和第二服務(wù)202之間交換關(guān)于版本的信息。該方法可以 擴(kuò)展到多于兩個(gè)服務(wù),其中將第一消息發(fā)送到所有其它服務(wù),或?qū)⒏郊拥牡谝?消息從第二或隨后的服務(wù)發(fā)送到其它服務(wù)。例如在安排中,安排的不同變形和 版本中的第一消息211實(shí)際上都是相同的。由于文檔版本的考慮,消息可能有 輕微差別,可以允許第一消息中的其它次要變形,而第一消息仍然保持與所有 安排版本兼容。當(dāng)所采用的安排在第一消息中選擇之后,在服務(wù)之間任一方向 上的所有后來消息都是該安排的一部分。在選擇了安排版本之后,后來的消息 212-224都遵循所選擇的安排。在圖3中,引用一個(gè)或多個(gè)記錄來發(fā)現(xiàn)關(guān)于由 第一服務(wù)和第二服務(wù)支持的版本的信息。發(fā)現(xiàn)過程本地的服務(wù)可以在方法321 可以訪問的第一記錄331中存儲(chǔ)版本信息。遠(yuǎn)程服務(wù)則在方法323可以訪問的 第二記錄332中存儲(chǔ)版本信息。在一些情況下,遠(yuǎn)程服務(wù)的信息在第一記錄331 中,并且可以由方法322訪問。例如,如果第一和第二^^務(wù)都在同一團(tuán)體中并 依靠同一記錄?;蛘撸绻谝缓偷诙?wù)近來有過接觸,并且第一服務(wù)在第 一記錄中緩存了第二服務(wù)的信息。關(guān)于由兩個(gè)服務(wù)都支持的版本的信息由版本 選擇邏輯311考慮。
因此,本發(fā)明的方面可以按照若干方式組合,以動(dòng)態(tài)確定一些或所有文檔 版本、服務(wù)版本和安排版本。根據(jù)本發(fā)明來實(shí)施,web服務(wù)實(shí)際上可以得到更 新,并與還沒有得到類似更新的其它服務(wù)保持互操作性。
本發(fā)明的其它發(fā)面以所謂的對(duì)等交互或協(xié)作交互實(shí)現(xiàn)了將在互聯(lián)網(wǎng)或其 它網(wǎng)絡(luò)上的分布的協(xié)作web服務(wù)之間定義和執(zhí)行的復(fù)雜安排和商業(yè)過程。其還 支持在繼承web服務(wù)實(shí)施中常見的標(biāo)準(zhǔn)客戶機(jī)/服務(wù)器交互(或非協(xié)作交互)。 在對(duì)等交互中,安排支持將服務(wù)之間交換的相關(guān)消息進(jìn)行相關(guān),并將返回地址 包括在會(huì)話消息中。
協(xié)作服務(wù)可能具有與非協(xié)作web服務(wù)或其它應(yīng)用界面之間的虛擬會(huì)話。原 則上,這兩個(gè)服務(wù)相互之間使用客戶機(jī)/服務(wù)器交互,并且在綁定之外知道返回
10地址。這些服務(wù)采用檢查消息有效載荷的應(yīng)用邏輯來將消息相關(guān)。
協(xié)作服務(wù)具有o個(gè)或更多相關(guān)的語(yǔ)境。新語(yǔ)境由一個(gè)或多個(gè)觸發(fā)操作創(chuàng)建。
或者,語(yǔ)境還可以自發(fā)地初始化(從收發(fā)消息的觀點(diǎn)來看)。后面的非觸發(fā)操作 初始化受該語(yǔ)境的約束。過程流實(shí)例是所引用的語(yǔ)境。 一個(gè)操作開始(kick Off) 該過程實(shí)例和所有涉及該實(shí)例的后來消息。該語(yǔ)境有助于與發(fā)起者進(jìn)行雙向會(huì) 話以及與其它由該語(yǔ)境驅(qū)動(dòng)的服務(wù)進(jìn)行雙向會(huì)話。對(duì)于非協(xié)作服務(wù),每個(gè)操作 本身就是完備的,發(fā)起者可以是任意程序,而不需要是服務(wù),并且獨(dú)立于服務(wù) 中每個(gè)其它操作的調(diào)用。
總之,在部件之間存在兩類消息交互。對(duì)等消息通常與安排關(guān)聯(lián)。在對(duì)等 交互中,提供一些附加信息。提供返回地址,通常標(biāo)識(shí)發(fā)送CP、服務(wù)定義和活
動(dòng)定義。提供消息相關(guān)數(shù)據(jù),例如會(huì)話ID和安排ID和對(duì)ID的引用。返回地 址標(biāo)識(shí)被調(diào)用服務(wù)應(yīng)當(dāng)在何處響應(yīng)。為進(jìn)一步幫助該服務(wù),用于該交互的可應(yīng) 用安排可以在該會(huì)話中返回到每個(gè)消息上的兩個(gè)服務(wù)。在兩個(gè)服務(wù)之間,會(huì)話 ID對(duì)該會(huì)話中的每個(gè)消息都具有相同的值。這允許服務(wù)方便地將相關(guān)的消息相 關(guān)聯(lián)。安排ID在第一消息上選擇,并對(duì)該會(huì)話保持原樣。對(duì)ID的引用是指響 應(yīng)消息的消息ID。 一個(gè)消息可以具有多個(gè)響應(yīng)。
第二種消息交互是客戶機(jī)/服務(wù)器交互(也稱為非協(xié)作交互)。在客戶機(jī)/ 服務(wù)器交互中,通常不存在發(fā)送服務(wù)/活動(dòng)。請(qǐng)求和可選的一個(gè)響應(yīng)通常結(jié)束該 交互,隨后的客戶機(jī)/服務(wù)器與該交互沒有關(guān)聯(lián)。
客戶機(jī)/服務(wù)器的一個(gè)特殊方面是在請(qǐng)求/響應(yīng)調(diào)用中對(duì)響應(yīng)的轉(zhuǎn)換支持。 在對(duì)等交互中,發(fā)送服務(wù)在其界面上提到它希望哪個(gè)文檔響應(yīng)。但對(duì)于客戶機(jī)/ 服務(wù)器來說不是這樣,請(qǐng)求者必須在請(qǐng)求中提到它希望哪個(gè)文檔響應(yīng)。如果請(qǐng) 求者不為 一個(gè)部件指定期望的文檔,則響應(yīng)者產(chǎn)生的文檔不經(jīng)任何變換就被發(fā) 送。
服務(wù)可以包括多個(gè)文檔交換活動(dòng)界面。文檔交換活動(dòng)界面可以定義為服務(wù) 定義的一部分,和當(dāng)?shù)卿浽摲?wù)實(shí)例時(shí)(定制)?;顒?dòng)由其界面和策略描述。 UI服務(wù)例如將它們的活動(dòng)記錄到用于特許確定、和其它訪問控制信息(例如在 web代理上的單個(gè)簽名)和資源路徑的寄存器中。
活動(dòng)可以有4種類型,如圖4所示。請(qǐng)求/響應(yīng)411:該活動(dòng)接收請(qǐng)求并進(jìn) 行響應(yīng)。懇求/響應(yīng)412:這是請(qǐng)求/響應(yīng)的反界面。懇求響應(yīng)活動(dòng)可以調(diào)用另一 個(gè)服務(wù)實(shí)例中的請(qǐng)求/響應(yīng)活動(dòng)。單向414:這是接收異步消息的活動(dòng)。通告413:
ii這是單向的反界面。通告活動(dòng)調(diào)用在另一個(gè)服務(wù)實(shí)例中的單向活動(dòng)。這些定義
與WSDL—致。
向活動(dòng)的輸入或輸出稱為消息。消息由多個(gè)部件組成。部件按照如下方式 描述。部件名稱是該部件的唯一名稱,對(duì)于每個(gè)來自/去往針對(duì)該部件的活動(dòng)的 消息都可以重新^使用。部件類型可以是XML部件,或由MIME類型描述的部 件。如果該部件沒有定義的MIME類型,則該部件的MIME類型可以在運(yùn)行時(shí) 由調(diào)用者提供。部件位置指定該部件是位于體內(nèi)還是一個(gè)附件?;蛘?,還可以 在消息標(biāo)題內(nèi)或在消息外部,并且消息只是引用它。部件可以是必要的或可選 的。根指示器在該消息中應(yīng)當(dāng)有一個(gè)根部件。這通常是消息的主題,且通常 是XML部件。根部件表明要找到其它部件的橫跨的起始點(diǎn)。根部件可以包括 對(duì)其它部件的引用,但不一定所有的部件都能通過從根部件橫i夸來發(fā)現(xiàn)。消息 還可以包括文檔ID列表。任何部件(XML或非XML )都可以屬于一個(gè)文檔系 列。與一個(gè)文檔系列的成員(稱為文檔Id)相關(guān)的是描述符信息,還可以是圖 解,或者來自/去往該成員的各種類型的可選轉(zhuǎn)換映射。文檔系列元凝:據(jù)獨(dú)立于 服務(wù)而被記錄。
在安排的服務(wù)中,過程流可以用于協(xié)調(diào)在界面相對(duì)一側(cè)上的活動(dòng)。用設(shè)計(jì) 工具定義并由定義在過程引擎中執(zhí)行的過程流的概念已在其它語(yǔ)境中使用。例 如Commerce One具有稱為CPM的過程流解決方案。過程定義了具有潛在分支 點(diǎn)以及并行執(zhí)行線程的流。過程實(shí)例與語(yǔ)境關(guān)聯(lián),并由某個(gè)事件初始化,且持 續(xù)時(shí)間;f艮長(zhǎng)。該語(yǔ)境貫穿由其它事件觸發(fā)的一系列狀態(tài)變遷,并且該過程本身 可以初始化作為該流的部分的事件。這些事件可以包括UI交互、文檔交換事件 (發(fā)送或接收具有文檔有效載荷的消息)、語(yǔ)境狀態(tài)或相關(guān)數(shù)據(jù)庫(kù)狀態(tài)的變化、 或業(yè)務(wù)邏輯的調(diào)用。
圖5示出活動(dòng)和內(nèi)部過程之間的交互?;顒?dòng)411至414與過程流5 21至5 2 5 交換消息。過程流步驟在它們自己之間傳遞消息。在另一個(gè)例子中,過程流可 以包括分支和過程的并行執(zhí)行。
在過程引擎中執(zhí)行的內(nèi)部過程流也可以用于構(gòu)建集中管理安排的安排代 理,如圖6所示。安排可以通過使所有的消息流經(jīng)過安排代理610來被集中管 理,該安排代理本身作為安排web服務(wù)出現(xiàn),并采用內(nèi)部過程流612。適用于 安排代理,從服務(wù)630到服務(wù)640的消息改變?yōu)閺姆?wù)630到中間服務(wù)610的 消息,該中間服務(wù)610將消息轉(zhuǎn)發(fā)到服務(wù)640。從服務(wù)640返回服務(wù)630的異步響應(yīng)改變?yōu)閺姆?wù)640到中間服務(wù)610的消息,該中間服務(wù)610將消息轉(zhuǎn)發(fā) 到服務(wù)630。安排代理601包括界面611、 613、 614,通過它們來傳遞消息。內(nèi) 部過程流612可以用于跟蹤一個(gè)或多個(gè)安排的狀態(tài)。 一些或所有內(nèi)部過程流步 驟可以在事務(wù)返回日志中存儲(chǔ)信息,該信息用于安排的消息交換在沒有完成的 情況下就終止的情況??梢蕴砑咏缑?,以支持查詢通過安排代理協(xié)調(diào)的一個(gè)或 更多安排實(shí)例的狀態(tài)。同樣,活動(dòng)統(tǒng)計(jì)可以在安排協(xié)調(diào)期間編輯,并通過界面 報(bào)告。該集中化允許為了跟蹤而查詢安排的狀態(tài)。錯(cuò)誤處理和錯(cuò)誤補(bǔ)正行為可 以更為容易地實(shí)施。當(dāng)中間服務(wù)實(shí)施為過程流時(shí),安排可能是全局正確的,因 為內(nèi)部過程流遵循過程定義。為正確起見而提供了對(duì)安排的全局檢查。
在過程引擎中執(zhí)行的過程流獲得觸發(fā)事件的消息,并發(fā)送消息作為處理事 件的一部分。這些消息可以用諸如WSDL的標(biāo)準(zhǔn)web服務(wù)定義語(yǔ)言來描述。這 些描述可以用諸如UDDI的標(biāo)準(zhǔn)記錄輕易發(fā)現(xiàn)。因此這些消息可以被分組成web 服務(wù)。消息系統(tǒng)可以將發(fā)給該服務(wù)的活動(dòng)的消息路由到執(zhí)行該流的連接器。一 些操作可以具有開始一個(gè)新過程實(shí)例的語(yǔ)義。發(fā)給這些操作的消息會(huì)產(chǎn)生新的 過程實(shí)例。對(duì)其它到達(dá)消息,連接器中的調(diào)度器通過基于有效載荷內(nèi)容、過程 實(shí)例的狀態(tài)(如果該過程實(shí)例處于等待發(fā)往特定操作的特定消息的步驟上)或 在消息包絡(luò)中的消息相關(guān)數(shù)據(jù)(當(dāng)?shù)竭_(dá)消息是對(duì)先前送出消息的異步響應(yīng)時(shí)很 有用)來推斷出該實(shí)例,可以將該消息鏈接到現(xiàn)有的過程實(shí)例。
按照分布方式在多過程引擎610、 620、 630、 640中執(zhí)行的過程流可以被 看成一組相互交互的協(xié)作服務(wù),其中這些過程引擎在它們之間傳遞其內(nèi)部狀態(tài)。
本發(fā)明的另一個(gè)方面是可選的在^皮調(diào)用之前請(qǐng)求訂購(gòu)服務(wù)。在服務(wù)訂購(gòu)期 間,對(duì)于協(xié)作服務(wù),可以選擇其中一個(gè)可能的安排,并由消費(fèi)者和提供商協(xié)商 其使用。該服務(wù)的其它方面可以在訂購(gòu)時(shí)協(xié)商,如訪問控制。
面向服務(wù)的訪問控制具有3個(gè)關(guān)鍵概念,它們一起工作來提供可管理性并 加強(qiáng)對(duì)服務(wù)和服務(wù)中的活動(dòng)/操作的訪問服務(wù)可見性、服務(wù)訂購(gòu)和服務(wù)優(yōu)先級(jí) 或授權(quán)。服務(wù)可見性允許服務(wù)提供商指定誰(shuí)能發(fā)現(xiàn)該服務(wù),并允許發(fā)現(xiàn)機(jī)制來 基于該可見性限制發(fā)現(xiàn)。服務(wù)可見性規(guī)則可以包括任何人可見、管理員/操作 員可見、團(tuán)體中的指定團(tuán)隊(duì)可見、團(tuán)體中的指定角色可見、網(wǎng)絡(luò)中的任意團(tuán)體 可見、或網(wǎng)絡(luò)中的指定團(tuán)體可見。可見性也可用于協(xié)作團(tuán)隊(duì)(有時(shí)稱為貿(mào)易團(tuán) 隊(duì)或伙伴)。當(dāng)一個(gè)團(tuán)隊(duì)登錄到該團(tuán)體時(shí),默認(rèn)情況下該團(tuán)隊(duì)在該團(tuán)體中可見。 另外,該團(tuán)隊(duì)可以對(duì)網(wǎng)絡(luò)中的任意團(tuán)體可見,或者對(duì)網(wǎng)絡(luò)中的指定團(tuán)體可見。服務(wù)和團(tuán)隊(duì)信息還可以基于指定的可見性規(guī)則推入公共UDDI記錄中。
對(duì)于每個(gè)服務(wù)活動(dòng),還可以在訂購(gòu)時(shí)(或默認(rèn))建立一組優(yōu)先權(quán)。對(duì)于每 個(gè)服務(wù),應(yīng)用可以指定作為優(yōu)先權(quán)組的服務(wù)角色。對(duì)于一個(gè)優(yōu)先權(quán),可以指定 附加的細(xì)節(jié),例如"該優(yōu)先權(quán)是否支持特定組織單元的范圍"和"該優(yōu)先權(quán)是 否只能用作服務(wù)角色"等等。服務(wù)可以指定是否請(qǐng)求在某人使用它之前進(jìn)行某 種訂購(gòu)。例如,供應(yīng)商可以指定在一個(gè)訂購(gòu)管理力良務(wù)中,買家只能在訂購(gòu)之后 向該服務(wù)發(fā)送訂單。訂購(gòu)過程允許服務(wù)提供商接收關(guān)于訂購(gòu)團(tuán)隊(duì)的信息,以及 需要時(shí)訂購(gòu)服務(wù)的能力?;谶@些消息,服務(wù)提供商可以選擇贊成或拒絕該訂 購(gòu)。
一旦團(tuán)隊(duì)管理員訂購(gòu)了服務(wù),他們就在他們自己的組織內(nèi)通過分組服務(wù)角
角色,A 、^ 、 、 、,、' 、
另一個(gè)支持經(jīng)過安排的交互的主要挑戰(zhàn)是后臺(tái)辦公系統(tǒng)。使用服務(wù)合成代 理可以針對(duì)與后臺(tái)辦公系統(tǒng)綜合關(guān)聯(lián)的問題。后臺(tái)辦公系統(tǒng)通常不理解支持經(jīng)
過安排的會(huì)話的SOAP擴(kuò)展,包括支持消息相關(guān)和返回地址描述的擴(kuò)展。因此, 使合成代理展示雙向映射到后臺(tái)辦公系統(tǒng)的簡(jiǎn)單web服務(wù)界面的協(xié)作web服務(wù) 界面是有用的,如圖7所示。合成代理通過對(duì)照有效載荷執(zhí)行規(guī)則將相關(guān)消息 相互關(guān)聯(lián),并從來自應(yīng)用的對(duì)等調(diào)用消息中推導(dǎo)出應(yīng)用的返回地址。后臺(tái)辦公 系統(tǒng)不同地展示他們的功能,從而通常對(duì)每個(gè)后臺(tái)辦公系統(tǒng)都存在一組不同的 服務(wù)定義。合成代理通過將多個(gè)升級(jí)的后臺(tái)辦公系統(tǒng)放在一個(gè)界面上而簡(jiǎn)化了 對(duì)該多個(gè)升級(jí)后臺(tái)辦公系統(tǒng)的跟蹤。合成代理選擇正確的后臺(tái)辦公服務(wù)和行為。 后臺(tái)辦公系統(tǒng)當(dāng)它們被用EAI界面擴(kuò)展時(shí)支持多種XML文檔定義。例子包括 xCBL、 IDOC、 OAGI等等。本發(fā)明的方面允許將這些采用該多種定義語(yǔ)言定 義的文檔看作一個(gè)文檔系列的成員??梢哉{(diào)用翻譯邏輯,以便在文檔系列成員 之間來回轉(zhuǎn)換消息。至后臺(tái)辦公系統(tǒng)的EAI界面通常不支持精確的安全性、可 靠消息發(fā)送等。合成代理可以支持它本身和查詢服務(wù)之間的安全性、可靠性等。 合成代理可以采用較少魯棒和安全的方案,它們能用于后臺(tái)辦公系統(tǒng)和最后一 個(gè)本地連接器之間的最后一次跳躍(hop),或采用特殊的安全和可靠措施。
合成代理服務(wù)可以對(duì)與后臺(tái)辦公系統(tǒng)之間的、包括由后臺(tái)辦公系統(tǒng)啟始的 會(huì)話支持邏輯路由(通過有效負(fù)荷檢查和/或記錄查找的目標(biāo)地址選擇)。圖7 示出消息關(guān)聯(lián)。非安排使能的系統(tǒng)710 (例如后臺(tái)終端系統(tǒng))與使能過程或合 成的代理720通信。部分通過在合成代理721、 722、 723接收的消息內(nèi)指定字段來配置通信。消息相關(guān)邏輯724可以用于將消息與新的或正在進(jìn)行的安排725 相關(guān)聯(lián)。該安排可以如上所述模式化為內(nèi)部過程。相關(guān)邏輯724可以定位在消 息流中,以按照其被接收的樣子來處理每個(gè)來自后臺(tái)終端系統(tǒng)的消息。或者相 關(guān)邏輯可以是過程流725中的過程步驟可以訪問的資源。相關(guān)邏輯724的定位 比其如下行為次要檢查由后臺(tái)辦公應(yīng)用界面產(chǎn)生的消息,并使用字段的描述 將后臺(tái)辦公消息與安排實(shí)例相關(guān)聯(lián)。相關(guān)邏輯可以擴(kuò)展到由后臺(tái)辦公系統(tǒng)初始 化的會(huì)話。當(dāng)該相關(guān)邏輯確定消息源總是初始化會(huì)話,或確定不存在與消息中 的指定字段相關(guān)的會(huì)話時(shí),相關(guān)邏輯可以告知需要?jiǎng)?chuàng)建新會(huì)話實(shí)例。相關(guān)邏輯 還可以使用指定字段來確定應(yīng)當(dāng)調(diào)用哪個(gè)安排。例如,后臺(tái)辦公系統(tǒng)可以初始 化供應(yīng)商訂單。供應(yīng)商名稱字段可以用于標(biāo)識(shí)正確的CP和該CP用來接收新訂 單的服務(wù)??梢哉{(diào)用與該服務(wù)關(guān)聯(lián)的安排。將合成代理720通過標(biāo)準(zhǔn)界面726、 727展示給可以進(jìn)行安排的服務(wù)730。 一個(gè)或多個(gè)服務(wù)可以通過服務(wù)界面與合成 代理交互。合成代理和關(guān)聯(lián)邏輯跟蹤經(jīng)過安排的會(huì)話的狀態(tài),并將與后臺(tái)辦公 系統(tǒng)710交換的消息關(guān)聯(lián)到用于與其它服務(wù)730交換的消息中的合適會(huì)話ID。 本發(fā)明的另 一方面通過由主機(jī)特許的多個(gè)別名將一個(gè)主服務(wù)展示給服務(wù) 經(jīng)銷商。和實(shí)物貿(mào)易中的經(jīng)銷商不同,不期望這些經(jīng)銷商對(duì)主機(jī)的身份進(jìn)行廣 告。在某種意義上,這些服務(wù)經(jīng)銷商更像OEM商品中的專有標(biāo)簽。被特許的 服務(wù)可以記錄,以便與其它服務(wù)交互,或者路由到主機(jī)支持的一個(gè)或多個(gè)后臺(tái) 辦7>系統(tǒng)。
圖8和圖9幫助區(qū)分常規(guī)非特許的服務(wù)和特許服務(wù)。在圖8中,兩個(gè)服務(wù) 811、 812出現(xiàn)在服務(wù)810的記錄中。在非特許的情況下,這些記錄項(xiàng)提供對(duì)應(yīng) 于同一服務(wù)邏輯的兩個(gè)不同實(shí)例831和832的邏輯地址。服務(wù)邏輯的這些實(shí)例 就像在兩個(gè)不同web服務(wù)器上運(yùn)行的兩個(gè)得到許可的服務(wù)器基礎(chǔ)設(shè)施軟件的拷 貝。在圖9中,3個(gè)特許服務(wù)911、 912、 913出現(xiàn)在服務(wù)910的記錄中。這些 特許服務(wù)具有不同的邏輯地址。所有邏輯地址都邏輯地連接到主服務(wù)921,后 者沒有按照與特許服務(wù)相同的方式通過記錄來展示。發(fā)送到不同邏輯地址的消 息在不同的語(yǔ)境中,對(duì)應(yīng)于3個(gè)特許服務(wù)的經(jīng)銷商。利用由特許服務(wù)911、 912、 913和主服務(wù)921之間的邏輯關(guān)系設(shè)置的語(yǔ)境,特許主服務(wù)921的特許商可以 采用主邏輯931的一個(gè)實(shí)例,而不是對(duì)每個(gè)注冊(cè)的服務(wù)都運(yùn)行邏輯831、 832 的實(shí)例。
考慮其中市場(chǎng)操作員主辦訂單管理應(yīng)用(服務(wù)的集合)的用例。 一組供應(yīng)商特許該主服務(wù)包來管理所有訂單。在這種情況下,發(fā)往經(jīng)銷商的消息指向
<franchisee CP>、 <service definition)、 <activity definition〉。 UI和文才當(dāng)交牙灸月良務(wù) 都被特許。在實(shí)際術(shù)語(yǔ)中,實(shí)施特許服務(wù)的一個(gè)實(shí)施例包括如下步驟l.創(chuàng)建 服務(wù)的主實(shí)例。2.通過收集一組主服務(wù)創(chuàng)建主包。該主實(shí)體是該包的擁有者。 同樣該包受到其中駐留實(shí)際實(shí)施例的連接器的制約。3.將主包與經(jīng)銷商訂購(gòu)的、 允許該經(jīng)銷商處理所接收文檔的一組服務(wù)關(guān)聯(lián)。這允許一個(gè)或多個(gè)經(jīng)銷商特許 該主包。步驟1和2在某些環(huán)境中應(yīng)當(dāng)由團(tuán)體管理員完成,而步驟3可以由服 務(wù)供應(yīng)商完成。
特許協(xié)作服務(wù)可選地可以將記錄中的授權(quán)委托給主服務(wù)CP。這么做的一 個(gè)原因是經(jīng)銷商不希望采用經(jīng)銷商的證件,因?yàn)樵摻?jīng)銷商不希望完全表明它本 身的身份。在這種情況下,對(duì)于來自該服務(wù)的所有消息,經(jīng)銷商將授權(quán)委托給 主CP。
特許服務(wù)類似于"穿過(pass-through)"服務(wù),其設(shè)置語(yǔ)境并允許所有信 息簡(jiǎn)單地流向主服務(wù)并由該主服務(wù)進(jìn)行處理。特許服務(wù)將引用該主服務(wù),并通 常會(huì)從該主服務(wù)那里繼承實(shí)施能力和策略,根據(jù)業(yè)務(wù)需要收取一些傭金。優(yōu)選 地,不存在直接受特許服務(wù)約束的實(shí)現(xiàn)。如果需要定制,優(yōu)選提供多個(gè)主服務(wù) 變形。或者,多個(gè)安排可能得到一個(gè)主服務(wù)和為特定的特許服務(wù)而受支持的安 排的子集的支持。發(fā)給經(jīng)銷商的消息指向<franchisee CP> 、 <service defmition> 、 <activitydefinition>,就像該經(jīng)銷商正在操作一個(gè)孤立的服務(wù)。服務(wù)消費(fèi)者可以 相互交換地訂購(gòu),并使用常規(guī)或特許服務(wù)。與經(jīng)銷商交互的服務(wù)消費(fèi)者不會(huì)看 見特許和非特許服務(wù)之間的任何差異。
主服務(wù)包由通常通過主應(yīng)用來實(shí)施的所有服務(wù)組成。單個(gè)主應(yīng)用可以公布 多個(gè)主包。在多數(shù)情況下,主應(yīng)用會(huì)公布一個(gè)主包。綁定主服務(wù)包的服務(wù)可以 分組為兩種類型。 一類主服務(wù)包是代表經(jīng)銷商"再提供"為特許服務(wù)。另一類 包括由經(jīng)銷商用于處理通過特許服務(wù)接收的信息的門戶(或UI)服務(wù),但并不 再提供或展示在該經(jīng)銷商之外。例如,訂單管理包可以具有基于"接收的訂單" 服務(wù)的標(biāo)準(zhǔn),還具有諸如"查看訂單"、"訂單報(bào)告"、"批準(zhǔn)訂單"等等的其它 UI服務(wù)。當(dāng)經(jīng)銷商簽約以特許該訂單管理包時(shí),他需要不僅能通過基于文檔交 換服務(wù)的標(biāo)準(zhǔn)接收訂單,而且能查看并批準(zhǔn)這些訂單等等。主包具有成為該包 中每個(gè)發(fā)送或接收消息的服務(wù)的默認(rèn)連接器的包連接器。
啟動(dòng)經(jīng)銷商和主供應(yīng)商之間的業(yè)務(wù)過程,以便允許該經(jīng)銷商在需要時(shí)利用
16在線批準(zhǔn)過程在線地特許主包。當(dāng)服務(wù)供應(yīng)商特許該主包時(shí),自動(dòng)創(chuàng)建一個(gè)特 許服務(wù)并向該包中的每個(gè)主服務(wù)記錄為"穿過"。此外,當(dāng)經(jīng)銷商登錄時(shí),該經(jīng) 銷商還自動(dòng)訂購(gòu)(并因此被授權(quán)使用)該包中的其它訂購(gòu)服務(wù)。
可選地,特許服務(wù)可以將授權(quán)委托給主服務(wù),如前所述。在一個(gè)實(shí)施例中,
涉及將授權(quán)委托給主服務(wù)的實(shí)際步驟可以包括l.創(chuàng)建服務(wù)的主實(shí)例(通常只 有文檔交換服務(wù))。2.創(chuàng)建將會(huì)被經(jīng)銷商用作包的一部分的常規(guī)服務(wù)。3.創(chuàng)建主 包以及指定將會(huì)作為由經(jīng)銷商提供的而被啟動(dòng)的主服務(wù)集合。4.關(guān)聯(lián)為主服務(wù) 發(fā)送/接收消息的主包的連接器。5.關(guān)聯(lián)由經(jīng)銷商訂購(gòu)的一組服務(wù),該服務(wù)允許 該經(jīng)銷商處理所接收的文檔。6.主供應(yīng)商可以對(duì)該包指定請(qǐng)求特許時(shí)是否需要 批準(zhǔn)。7.主供應(yīng)商可以指定是否對(duì)該包允許委托授權(quán)。在經(jīng)銷商那里l.經(jīng)銷商 請(qǐng)求特許主包。如果由主供應(yīng)商請(qǐng)求則觸發(fā)批準(zhǔn)過程。2.主供應(yīng)商接收通知來 批準(zhǔn)該請(qǐng)求,或者批準(zhǔn)或者拒絕該請(qǐng)求。3.如果主供應(yīng)商批準(zhǔn)該請(qǐng)求,則系統(tǒng) 創(chuàng)建一個(gè)特許包、對(duì)該包中訂購(gòu)服務(wù)的訂購(gòu)、以及用于該包中能被特許的服務(wù) 的特許服務(wù)。
為便于理解特許服務(wù),考慮面向提供商的訂單管理系統(tǒng)。對(duì)于這里的討論, 該系統(tǒng)稱為SOMS(提供商訂單管理系統(tǒng))。SOMS提供可以被提供商用于從買 家那里接收訂單的訂單管理系統(tǒng)。在一個(gè)實(shí)施例中,以下步驟可以包含在設(shè)計(jì) 和設(shè)置SOMS中。設(shè)計(jì)者將待公布的服務(wù)分為將被經(jīng)銷商特許的服務(wù)組(例如 接收訂單、檢查訂單狀態(tài)等等)、將被經(jīng)銷商使用(或消費(fèi))的服務(wù)組(例如查 看訂單、批準(zhǔn)/拒絕訂單、訂單統(tǒng)計(jì)/報(bào)告等等)以及其中應(yīng)用提供給諸如集成 了其它應(yīng)用或后臺(tái)辦公系統(tǒng)的A2A (應(yīng)用到應(yīng)用)的集成的服務(wù)組。(例如集 成了用戶管理系統(tǒng)、公共登錄、目錄系統(tǒng)等)設(shè)計(jì)者判定是否所有經(jīng)銷商都將 具有相同的服務(wù)集或是否將來需要不同的子集。基于該需要識(shí)別一個(gè)主服務(wù)包 或多個(gè)主服務(wù)包,或者,識(shí)別多個(gè)相同服務(wù)的安排。主服務(wù)包應(yīng)當(dāng)包含"待特 許,,的服務(wù)和"由經(jīng)銷商使用"的服務(wù)。其它用于集成的服務(wù)通常記錄為常規(guī) 服務(wù),具有作為應(yīng)用的cp或主供應(yīng)商。在團(tuán)體環(huán)境中,主供應(yīng)商通常是團(tuán)體搡 作員,但他也可以是該團(tuán)體中的任意協(xié)作團(tuán)隊(duì)。在設(shè)計(jì)時(shí)應(yīng)當(dāng)注意,"待特許" 服務(wù)實(shí)際上是代表多個(gè)服務(wù)供應(yīng)商接收和發(fā)送的消息。因此應(yīng)用業(yè)務(wù)邏輯需要 將該消息中的地址用作處理這些消息的語(yǔ)境。主服務(wù)實(shí)現(xiàn)應(yīng)當(dāng)查看到達(dá)的消息, 以找出接受者CP并觸發(fā)/映射到合適的業(yè)務(wù)過程。對(duì)于被UI觸發(fā)的業(yè)務(wù)過程, 主服務(wù)應(yīng)當(dāng)將經(jīng)銷商CP看作過程語(yǔ)境的輸入,并將該CP用于該過程內(nèi)的委托
17策略。
在設(shè)計(jì)和編碼之后,至少在一些實(shí)施例中需要記錄樣本SOMS服務(wù)。在附 圖中用若干建立屏幕示出記錄被特許的服務(wù)、記錄被經(jīng)銷商使用的服務(wù)、以及 記錄主服務(wù)包本身。記錄的一部分是記錄待特許的主服務(wù)。在一個(gè)實(shí)施例中, 記錄管理器UI用于為該服務(wù)創(chuàng)建一個(gè)新服務(wù)定義(如果不存在)。然后驗(yàn)證連 接器是否可用于應(yīng)用。這可以是可用于經(jīng)銷商的默認(rèn)連接器,也可以是記錄到 該經(jīng)銷商應(yīng)用的單獨(dú)連接器。同樣驗(yàn)證是否在記錄中加載了任何所需要的文檔
標(biāo)識(shí)符。然后如下創(chuàng)建主服務(wù)。圖10是管理主包屏幕。點(diǎn)擊"Register New" 1001 (新記錄)。圖11示出記錄新主服務(wù)的部分。選擇服務(wù)定義1101。選擇操 作符party作為"Providing Party"(提供團(tuán)隊(duì))1102或使用另 一個(gè)團(tuán)隊(duì)作為合適 團(tuán)隊(duì)。指定服務(wù)信息1103,保持"Application Instance Name"(應(yīng)用實(shí)例名) 和"Application Service Identifier"(應(yīng)用服務(wù)標(biāo)識(shí)符)空白。可選地,指定應(yīng)當(dāng) 與該服務(wù)關(guān)聯(lián)的任意服務(wù)類1104。選擇受該服務(wù)1105支持的安排,以及優(yōu)先 順序。將visibiliry (可見性)1106設(shè)置為默認(rèn)設(shè)置,即"Visible to All Parties in Community"(團(tuán)體中的所有團(tuán)隊(duì)都可見)。選擇所支持的文檔交換活動(dòng)1107, 并使用圖12的屏幕來編輯該活動(dòng)。創(chuàng)建優(yōu)先權(quán)1201。保持"Messaging Policies" 1202 (收發(fā)消息策略)為默認(rèn),除非應(yīng)用需要特殊的發(fā)送接收處理。對(duì)于輸入 1210和/或輸出1220消息,將輸入和加密策略1213、 1223設(shè)置為"需要"。編 輯所需要的部件1214、 1224,并指定受支持的文檔標(biāo)識(shí)符的有序列表。添加可 能公布在記錄中的可選消息部件。利用諸如圖13的屏幕,驗(yàn)證或修改如下策略 將異步發(fā)送接收1301設(shè)置為"是"。將"授權(quán)模式"1302設(shè)置為"文檔單簽名 (single sign-on)"。將"授權(quán)機(jī)制"1303設(shè)置為"用戶名/密碼"。然后可選地, 指定任意服務(wù)角色1304。點(diǎn)擊"提交/存儲(chǔ) "1305來記錄該服務(wù)。
記錄的另一部分是記錄由經(jīng)銷商使用的常規(guī)服務(wù)(與主服務(wù)相對(duì))。這以 web服務(wù)開發(fā)常見的方式進(jìn)行。
利用圖14的屏幕還記錄主服務(wù)包。在"記錄新主包"屏幕,指定包名1401 和描述1402。
指定應(yīng)用名1403。將操作符party拾取為"主服務(wù)供應(yīng)商"1404,或使用 另一個(gè)團(tuán)隊(duì)作為合適團(tuán)隊(duì)。指定服務(wù)信息(保持應(yīng)用實(shí)例名和應(yīng)用服務(wù)標(biāo)識(shí)符 為"空")。如果特許該包需要獲得批準(zhǔn)則進(jìn)行指定1405。如果為"是",則當(dāng) CP特許該包時(shí)將觸發(fā)批準(zhǔn)過程。指定應(yīng)用連接器1406。如果允許經(jīng)銷商將授權(quán)委托給主服務(wù)供應(yīng)商則進(jìn)行指定1407。在由主服務(wù)供應(yīng)商提供的主服務(wù)列表
之外選擇由經(jīng)銷商特許的服務(wù)1408。在由主服務(wù)供應(yīng)商提供的常規(guī)服務(wù)列表之 外選擇由經(jīng)銷商訂購(gòu)的服務(wù)列表1409。點(diǎn)擊"存儲(chǔ)"1410來記錄該主服務(wù)包。 經(jīng)銷商還記錄選擇新包來從圖15的屏幕中進(jìn)行特許。通過選擇單選按鈕 1501和點(diǎn)擊"選擇"1502來選擇一個(gè)或多個(gè)主包。圖16的屏幕變成可以訪問。 經(jīng)銷商的選項(xiàng)有限,因此設(shè)置是簡(jiǎn)單的。在另一個(gè)實(shí)施例中,經(jīng)銷商具有涉及 可提供和/或可訂購(gòu)的服務(wù)的選項(xiàng),尤其是在經(jīng)銷商再提供了該服務(wù)的情況下。 決定授權(quán)是否使用經(jīng)銷商的證件或委托給主人1601。編輯一個(gè)或多個(gè)待提供的 服務(wù)1602,以滿足所指示的對(duì)編輯的任意需要1603。選擇"提交"1604來為 處理提交該特許。
當(dāng)編輯服務(wù)詳情時(shí),圖17的屏幕變成可訪問。在一些實(shí)施例中,所呈現(xiàn) 的很多細(xì)節(jié)都只能由主人(host)編輯,而不是經(jīng)銷商。這可以通過將圖17與圖 11和圖13進(jìn)行比較看出。所呈現(xiàn)的一些細(xì)節(jié)按照主人將該細(xì)節(jié)用于經(jīng)銷商的 相同方式用于下游用戶,其中服務(wù)將再提供給這些下游客戶。圖11的描述通用。 此外,如上所述可以建立哪個(gè)組優(yōu)先的服務(wù)角色。
經(jīng)銷商可能訂購(gòu)的一些服務(wù)是門戶服務(wù)。門戶服務(wù)(UI服務(wù))是通過門戶 訪問的服務(wù)。這些就是通過應(yīng)用展示的、使得用戶可以與應(yīng)用交互的服務(wù)。這 允許用戶面向il良務(wù)地查看應(yīng)用。特定用戶可以與來自不同應(yīng)用的服務(wù)交互,還 可以與/不與來自一個(gè)應(yīng)用的所有服務(wù)交互。在任何情況下,管理員對(duì)整個(gè)應(yīng)用
的經(jīng)驗(yàn)、訪問控制/優(yōu)先權(quán)、單簽名、導(dǎo)航等等都是一樣的,并且基于服務(wù)模板。 門戶服務(wù)可以沒有服務(wù)定義(還不存在標(biāo)準(zhǔn)。雖然本實(shí)施例沒有要求門戶 服務(wù)具有服務(wù)定義,但可以預(yù)想將來門戶服務(wù)將有服務(wù)定義)。門戶服務(wù)具有都 可以通過門戶訪問的記錄活動(dòng)的列表(需要時(shí)還具有URL)。對(duì)于活動(dòng),使得 可以訪問該活動(dòng)的優(yōu)先權(quán)列表也被指定。此外,諸如web代理和加密資源路徑 的單簽名(SSO)信息也為服務(wù)或每個(gè)活動(dòng)指定。通過將報(bào)告組/文件夾記錄為 活動(dòng),也可以通過門戶服務(wù)啟動(dòng)對(duì)報(bào)告的訪問。
當(dāng)UI服務(wù)標(biāo)識(shí)為記錄給應(yīng)用時(shí),考慮若干因素是很用的??紤]目標(biāo)用戶 或團(tuán)隊(duì)。應(yīng)用界面被設(shè)計(jì)成可由不同的目標(biāo)用戶使用。例如,特定UI用于管理 員,特定UI用于買家,特定UI用于提供商等等。這些角色不同的UI應(yīng)當(dāng)是 單獨(dú)的服務(wù)??紤]是否特定界面只針對(duì)特定提供商或買家。例如,你可能希望 只為高級(jí)提供商啟動(dòng)附加功能。將這些功能置于單獨(dú)的服務(wù)中。如果你具有很多針對(duì)一個(gè)目標(biāo)組(例如提供商)的服務(wù),則考慮創(chuàng)建服務(wù) 訂購(gòu)包,以便為了方便用戶而將這些服務(wù)分組。協(xié)作團(tuán)隊(duì)訂購(gòu)一個(gè)服務(wù),在這 個(gè)團(tuán)隊(duì)中的用戶被授以該服務(wù)內(nèi)特定的優(yōu)先權(quán)。這意味著整個(gè)團(tuán)隊(duì)的優(yōu)先權(quán)和
活動(dòng)不應(yīng)當(dāng)混合。例如,買家提交RFP而賣家響應(yīng)RFP的優(yōu)先權(quán)應(yīng)當(dāng)在兩種不
同的服務(wù)中。
對(duì)于門戶服務(wù),可以關(guān)聯(lián)特殊的顯示目錄。該顯示目錄在門戶上為該服務(wù) 預(yù)留了一個(gè)標(biāo)記。很多門戶服務(wù)可以位于一個(gè)顯示目錄中。顯示目錄與應(yīng)用指
定的服務(wù)室URL關(guān)聯(lián)。通過記錄該服務(wù)室URL,應(yīng)用對(duì)服務(wù)如何在該標(biāo)記內(nèi) 提交給門戶保留完全的控制。如果你希望自己的應(yīng)用作為多顯示目錄提交,則 基于服務(wù)關(guān)聯(lián)的顯示目錄來標(biāo)識(shí)該服務(wù)。
優(yōu)選地,服務(wù)、活動(dòng)、優(yōu)先權(quán)和web代理之間的關(guān)系如下l.服務(wù)可以具 有一個(gè)或多個(gè)活動(dòng)。2.活動(dòng)可以與零個(gè)或多個(gè)優(yōu)先權(quán)關(guān)聯(lián)。3.優(yōu)先權(quán)屬于服務(wù)并 且在該服務(wù)內(nèi)是唯一的。4.優(yōu)先權(quán)可以與同一服務(wù)內(nèi)的一個(gè)或多個(gè)活動(dòng)關(guān)聯(lián)。 5.服務(wù)可以與處理單簽名(SSO)的默認(rèn)web代理以及可通過該服務(wù)訪問的web 資源路徑列表關(guān)聯(lián)。6.該服務(wù)中的每個(gè)活動(dòng)都可以與該服務(wù)web代理關(guān)聯(lián),或 者用另 一個(gè)web代理來代替。還可以指定對(duì)活動(dòng)特殊資源路徑的訪問。
在標(biāo)識(shí)UI服務(wù)中的活動(dòng)和優(yōu)先權(quán)時(shí)考慮若干因素是很有用的。l.一個(gè)服務(wù) 中的活動(dòng)和優(yōu)先權(quán)應(yīng)當(dāng)作為協(xié)作團(tuán)隊(duì)中的目標(biāo)。這意味著整個(gè)團(tuán)隊(duì)中的優(yōu)先權(quán) 和活動(dòng)不應(yīng)當(dāng)是同一服務(wù)的一部分。此外,買家提交RFP而賣家響應(yīng)RFP的優(yōu) 先權(quán)應(yīng)當(dāng)在兩種不同的服務(wù)中。2.不希望將應(yīng)用中的每個(gè)鏈接都記錄為UI服務(wù) 中的活動(dòng)。如果需要訪問控制,則這些可以記錄為優(yōu)先權(quán)。3.在簡(jiǎn)單的情況下, 門戶服務(wù)可以只記錄一個(gè)活動(dòng)和一串優(yōu)先權(quán)。例如,"拍賣投標(biāo)"服務(wù)具有一個(gè) 活動(dòng)"投標(biāo)",具有一組允許特定投標(biāo)功能的優(yōu)先權(quán)。基于分配給用戶的優(yōu)先權(quán), 應(yīng)用可以選擇提交完全不同的頁(yè),或啟動(dòng)了不同選項(xiàng)的相同頁(yè)。如果對(duì)這些活 動(dòng)的鏈接由其它應(yīng)用/服務(wù)啟動(dòng),則用戶可以能希望記錄更細(xì)微的活動(dòng),包括 URL,從而這些活動(dòng)可以通過記錄來找到。例如,目錄管理可能希望記錄"搜 索目錄,,活動(dòng),包括"管理目錄"活動(dòng)。"搜索目錄"活動(dòng)可以展示為在獲得屏 幕、源屏幕、合同管理屏幕、以及管理目錄屏幕上的鏈接。5.如果服務(wù)中的特 定鏈接駐留在不同的應(yīng)用服務(wù)器或web服務(wù)器上并需要單獨(dú)的web服務(wù)器來保 護(hù),則這些鏈接或者分組為單獨(dú)的服務(wù),或者記錄為同一服務(wù)中的不同活動(dòng)。 (例如,可能在與其它目錄服務(wù)活動(dòng)不同的web服務(wù)器上運(yùn)行的產(chǎn)品配置活動(dòng))。
雖然本發(fā)明通過參考上面詳細(xì)描述的優(yōu)選實(shí)施例而被公開,但應(yīng)當(dāng)理解, 這些示例是說明性的而不是限制性的。從前面的描述中,本領(lǐng)域的技術(shù)人員可 以知道從本發(fā)明的方面和部分中可以構(gòu)建廣泛的系統(tǒng)和方法。在所描述的實(shí)施 例中隱含計(jì)算機(jī)輔助處理。因此,本發(fā)明可以實(shí)現(xiàn)在用于計(jì)算機(jī)輔助處理的方 法中、包括邏輯來實(shí)現(xiàn)該方法的系統(tǒng)中、具有邏輯來實(shí)施該方法的介質(zhì)中、具 有邏輯來實(shí)施該方法的數(shù)據(jù)流或計(jì)算機(jī)可訪問的處理服務(wù)中。本領(lǐng)域的技術(shù)人 員可以設(shè)想在本發(fā)明的精神范圍內(nèi)的修改和組合。
2權(quán)利要求
1. 一種確定具有一個(gè)或多個(gè)與標(biāo)準(zhǔn)兼容界面的服務(wù)實(shí)體的版本的方法,該方法包括維護(hù)服務(wù)的服務(wù)版本,其中,所述服務(wù)版本向基本服務(wù)添加可選操作;維護(hù)標(biāo)識(shí)由所述服務(wù)實(shí)體支持的服務(wù)版本的記錄數(shù)據(jù);訪問該記錄并確定由服務(wù)實(shí)體支持的服務(wù)版本;以及使用所支持的服務(wù)版本與服務(wù)實(shí)體進(jìn)行消息交換。
2. 根據(jù)權(quán)利要求1所述的方法,其中,該方法適用于多個(gè)服務(wù)實(shí)體接 口定義i吾言。
3. —種確定具有一個(gè)或多個(gè)與標(biāo)準(zhǔn)兼容界面的服務(wù)實(shí)體的版本的方 法,該方法包括維護(hù)服務(wù)的服務(wù)版本,其中,所述服務(wù)版本向基本服務(wù)添加可選操作; 向不依賴于由服務(wù)實(shí)體支持的服務(wù)版本的服務(wù)實(shí)體發(fā)送第 一消息; 從該服務(wù)實(shí)體接收標(biāo)識(shí)其支持的服務(wù)版本的響應(yīng);以及 使用所支持的服務(wù)版本進(jìn)行與該服務(wù)實(shí)體的消息交換。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述服務(wù)實(shí)體的各個(gè)版本基本 上使用同一第一消息。
5. —種用于將由多個(gè)非安排使能的界面產(chǎn)生的消息與對(duì)應(yīng)于一個(gè)安排 實(shí)例的會(huì)話標(biāo)識(shí)符相關(guān)的機(jī)制,包括映射到多個(gè)產(chǎn)生缺少安排會(huì)話標(biāo)識(shí)符的消息的應(yīng)用界面的內(nèi)部過程流;由該應(yīng)用界面產(chǎn)生的消息中的字段的說明,用于將該消息與安排實(shí)例相關(guān);以及檢查在內(nèi)部過程流接收的來自應(yīng)用界面的消息、應(yīng)用該字段說明、并 將消息與對(duì)應(yīng)于安排實(shí)例的特定會(huì)話標(biāo)識(shí)符相關(guān)的邏輯和資源。
6. —種用于將由多個(gè)非安排使能的界面產(chǎn)生的消息與對(duì)應(yīng)于一個(gè)安排 實(shí)例的會(huì)話標(biāo)識(shí)符相關(guān)的機(jī)制,包括在一個(gè)或多個(gè)安排使能的界面與多個(gè)產(chǎn)生缺少安排會(huì)話標(biāo)識(shí)符的消息 的應(yīng)用界面之間的映射;由這些應(yīng)用界面產(chǎn)生的消息中的字段的說明,用于將該消息與安排實(shí)例相關(guān);以及檢查從應(yīng)用界面接收的消息、應(yīng)用該字段說明、將消息與對(duì)應(yīng)于安排 實(shí)例的特定會(huì)話標(biāo)識(shí)符相關(guān)、并在安排使能的界面上展示的邏輯和資源。
7. —種從缺少會(huì)話標(biāo)識(shí)符的非安排的消息中組成包括會(huì)話標(biāo)識(shí)符的安 排的消息的方法,該安排的消息展示在第一界面上,該非安排的消息在第 二界面上從多個(gè)第三界面接收,所述方法包括在由第三界面產(chǎn)生的消息中指定用于將由該第三界面產(chǎn)生的非安排的消息與安排實(shí)例相關(guān)的字段;在第二和第三界面之間交換消息時(shí)維護(hù)特定安排實(shí)例的狀態(tài)信息;使用該字段說明和該狀態(tài)信息來將在第二界面上接收的特定非安排的 消息與對(duì)應(yīng)于特定安排實(shí)例的會(huì)話標(biāo)識(shí)符相關(guān);在該第一界面上展示該非安排的消息的至少一部分以及會(huì)話標(biāo)識(shí)符。
8. 根據(jù)權(quán)利要求3所述的方法,還包括在運(yùn)行時(shí) 確定中介代理和請(qǐng)求實(shí)體使用的消息安排的版本; 確定中介代理正使用的服務(wù)版本;以及確定在消息交換中由中介代理和請(qǐng)求實(shí)體使用的文檔版本并在文檔版 本之間進(jìn)行翻譯。
9. 一種將宿主服務(wù)別名為多個(gè)特許服務(wù)的方法,該方法包括 將一個(gè)或多個(gè)特許服務(wù)登記為具有不同邏輯地址的萬(wàn)維網(wǎng)服務(wù); 提供一個(gè)包括邏輯來檢查通過這些特許服務(wù)接收的消息的宿主萬(wàn)維網(wǎng)服務(wù),以確定這些消息的語(yǔ)境;以及將這些特許服務(wù)配置為將接收的消息傳遞到宿主萬(wàn)維網(wǎng)服務(wù)。
全文摘要
本發(fā)明涉及一種展示過程流以及作為萬(wàn)維網(wǎng)服務(wù)的安排控制器,涉及支持文檔交換安排(choreography)的基于計(jì)算機(jī)的設(shè)備和方法。具體地說,本發(fā)明的一些方面涉及便于通過安排版本、服務(wù)版本和文檔版本的各種組合來升級(jí)系統(tǒng)的設(shè)備和方法。本發(fā)明提供采用安排代理的安排管理器,并向非安排使能的應(yīng)用提供安排使能的界面。本發(fā)明的其它方面包括圖形設(shè)計(jì)工具和將主機(jī)服務(wù)透明地別名為多語(yǔ)境設(shè)置特許服務(wù)。
文檔編號(hào)G06Q10/00GK101471961SQ200810179599
公開日2009年7月1日 申請(qǐng)日期2003年8月21日 優(yōu)先權(quán)日2002年9月18日
發(fā)明者拉古納思·薩普拉姆, 拉姆申卡·文凱特, 文凱什·O·梅塔, 杰亞拉姆·R·卡西 申請(qǐng)人:開放創(chuàng)新網(wǎng)絡(luò)有限責(zé)任公司