監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關閉

Web服務準備:理解和使用Web服務托管技術

申請免費試用、咨詢電話:400-8352-114

AMTeam.org

Web服務準備:理解和使用Web服務托管技術


Mike Polan(polan@ca.ibm.com

WebSphere 托管體系架構設計師,IBM Electronic Commerce 部門

2002 年 1 月

準備 Web 服務是在企業(yè)間實施按使用付費的 Web 服務的關鍵所在。無論是在您公司內部還是在業(yè)務合作伙伴之間,在使用期間控制 Web 服務的行為的是服務認證、登記、評測、計費以及管理操作的復雜混合體。這篇論文研究了“Web 服務托管技術”(Web Services Hosting Technology,WHST)包,該包通過 alphaWorks 發(fā)布,用來處理這項主要任務。

介紹

Web 服務體系架構利用因特網(wǎng)普遍深入的特性簡化了分布式應用的創(chuàng)建?,F(xiàn)在,企業(yè)組織可以有廉價、開放的渠道通到他們的客戶和合作伙伴。這使企業(yè)實體間能夠創(chuàng)建和集成自動化過程,也能夠創(chuàng)建托管的服務(可作為分布式業(yè)務流程的部分環(huán)節(jié))。

例如,一個企業(yè)可能要實現(xiàn)一個采購系統(tǒng)。除跟蹤定單和管理內部審核所需的工作流程之外,通過外部的供應商,該系統(tǒng)還可以自動地發(fā)現(xiàn)服務、招標以及下定單。它可以發(fā)現(xiàn)服務、為定單安排籌集資金和裝運工作以及跟蹤定單情況。通過利用 Web 服務,采購系統(tǒng)仍然在管理這個流程的企業(yè)組織的控制范圍內,還可以將完成此流程所需的服務委托給外部的企業(yè)組織。

雖然實現(xiàn)這個目標還有大量工作要做,但 Web 服務托管這種基礎架構已日見端倪。因特網(wǎng)提供了連通性;Web 服務體系架構提供了交換數(shù)據(jù)的機制。標準組織將繼續(xù)改進服務接口規(guī)范,從而進一步減少集成要做的工作。

服務提供者或發(fā)布供內部或外部使用的 Web 服務的企業(yè)需要具備管理功能,從而準備和控制這些服務。Dan Gisolfi 在其 Web 服務體系架構專欄(請參閱參考資料)中描述了這些要求,這些要求是虛構的“Trumpet”公司的 IT 部門所確定的。一個 alphaWorks 包,“Web 服務托管技術”(WSHT V1.0)說明了如何能部分地滿足 Trumpet 的 IT 部門所涉及的要求。這篇論文討論了在那種環(huán)境中使用 WSHT,以及其余的要求如何在將來得到滿足。

托管方案

Web 服務準備是以 WSHT 為中心的,主要領域有下面這些:

允許將 Web 服務發(fā)布到由預訂系統(tǒng)引用的目錄的工具。

Web 服務預訂和準備系統(tǒng)。

與合同(和預訂相關聯(lián))有關的 Web 服務的評測和計費。

用于預訂、準備、評測和計費組件的管理系統(tǒng)。

我們將從研究以下兩個主要的方案開始討論:

構建且運行于公司內部網(wǎng)中本地應用服務器上的 Web 服務的托管。

構建且運行于公司內部網(wǎng)之外的應用服務器上的 Web 服務的托管。

這兩種情況的區(qū)別是第一個是簡單的托管方案,而第二個可以被描述為代理或批發(fā)方案。要獲取關于這種區(qū)別的更進一步的信息,您應該閱讀“Applying Web services to the application service provider environment”(請參閱參考資料)。

這兩種方案的目標都是允許以一種將服務本身的問題域從預訂、準備和管理系統(tǒng)的問題域分離出來的方式管理 Web 服務;在許多情況下,當編寫服務時,服務的設計者將不需要考慮準備系統(tǒng)的需要。

開發(fā)和部署方面將包括以下幾個步驟:

開發(fā)者使用 Web 服務工具箱和單元測試環(huán)境來創(chuàng)建和測試 Web 服務。

開發(fā)者提供準備掛鉤(hook),從而允許準備系統(tǒng)有計劃地登記服務的新用戶(如果需要)。

服務提供者為定價和計費引擎創(chuàng)建定價包(使用由這些應用提供的工具)。

將 Web 服務部署到服務提供者的生產(chǎn)服務器。

將 Web 服務定義(WSDL)部署到 UDDI 或其它一些 WSDL 注冊中心。

服務提供者創(chuàng)建報價(一個報價包含一個或多個 WSDL 注冊中心列出的與定價包相關聯(lián)的服務)。

服務提供者將報價部署到在線目錄,該在線目錄引用服務目錄和定價包。

登記和預訂方面:

潛在的訂戶(消費者)通過引用目錄的注冊中心發(fā)現(xiàn) Web 服務,反之亦然。

如果還不是成員,新的訂戶向服務提供者登記(建立一個帳戶)。

訂戶選擇預訂新的 Web 服務。

自動為新訂戶準備服務。

訂戶下載使用 Web 服務所必需的資產(chǎn),編寫并部署一個客戶應用程序。

使用方面:

客戶應用程序使用 Web 服務,由 Web 服務準備基礎架構對這種使用進行評測并給出報告。

使用事件被傳給定價引擎,為計費系統(tǒng)生成發(fā)票行。

服務提供者和訂戶都通過訪問計費系統(tǒng)獲知當前的使用費用。

服務提供者使用管理 UI 來控制對 Web 服務的訪問。

以上每一個方面都在一定程度上與準備系統(tǒng)有關。開發(fā)和部署方面需要構建一個到準備系統(tǒng)的接口;登記和預訂構建準備系統(tǒng);使用方面利用準備系統(tǒng)。因此,登記和準備系統(tǒng)及其支持系統(tǒng)是成功地托管企業(yè)級 Web 服務的關鍵。

“Web 服務托管”要求

為了支持在企業(yè)級托管 Web 服務,您將需要許多重要的組件。這一節(jié)以“Metering and accounting for Web services”(請參閱參考資料)中介紹的為托管 Web 服務而確定的要求為基礎。

服務的目錄

為了管理托管的 Web 服務,服務可能需要與一個報價或一次交易相關聯(lián)。報價將 Web 服務與用來確定使用費用(計費)的恰當?shù)亩▋r包聯(lián)系起來。報價及其相關聯(lián)的服務被發(fā)布到目錄,之后便可供消費者發(fā)現(xiàn)和預訂。

定價包是將預訂和使用評測事件與費用關聯(lián)起來的一組規(guī)則。定價引擎根據(jù)確定的定價包對這些事件進行評估,將發(fā)票行提供給計費系統(tǒng)。計費系統(tǒng)將發(fā)票行與相應的帳戶關聯(lián)起來,也與其它許多功能(比如:跟蹤發(fā)票和收款)關聯(lián)起來。

一旦定義好了,發(fā)布步驟就使消費者可以使用 Web 服務消費所必需的資產(chǎn)。與服務相關聯(lián)的報價信息被發(fā)布到目錄服務,并由預訂服務引用。

登記和預訂

登記是使托管系統(tǒng)知道訂戶標識的過程。在隨后將 Web 服務的使用與該服務的消費者相關聯(lián)時需要這個標識。通常將登記和預訂步驟結合在一起。

預訂是將用戶添加到給定的 Web 服務消費者列表的行為。消費者通過選擇報價來選定所希望的服務,報價包含所希望的服務并確定合同中的使用條款。預訂可能需要付安裝費。一旦預訂了,消費者可以使用服務操作(消費)所必需的任何資產(chǎn)。

準備

準備是為消費者使用服務準備系統(tǒng)的行為。它包括為支持消費者活動在技術和業(yè)務兩方面作準備。

Web 服務準備

服務可以是匿名的或有準備的。匿名服務在運行時不需要消費者的標識就可以進行操作。匿名服務的一個例子是檢索股票價格。Web 服務的認證、授權和評測被委托給托管系統(tǒng),因此,匿名服務通常不需要其它的準備。

有準備的服務是需要將用戶帳戶和/或其它信息與服務關聯(lián)起來的服務。例如,當必須確定要檢索的帳戶余額時,從用戶資產(chǎn)清單檢索帳戶余額就是有準備的服務。對與該服務相關聯(lián)的資產(chǎn)的細粒度保護還需要其它訪問控制。

要使登記和預訂過程自動化,每個有準備的服務都需要一些擴展。這些通常是構建在服務中的 API,只需要通過服務代理映射為準備系統(tǒng)功能。接下來,準備系統(tǒng)在預訂時將通過代理驅動這些功能。

支持系統(tǒng)

當托管 Web 服務時,任何分布式系統(tǒng)設計中提供的許多系統(tǒng)同樣有用,并且必須是有準備的,如表 1 所示。

表 1. 準備支持系統(tǒng)

系統(tǒng) 描述 成員 允許服務間共享用戶簡檔信息的公共資源庫。在登記步驟中,數(shù)據(jù)被植入成員資源庫。理想情況下,簡檔管理是自助式的,管理功能像作為報價一部分的其它服務一樣被準備。 認證 認證在運行時建立服務調用者的標識。認證系統(tǒng)通常在登記期間被準備。 授權 該系統(tǒng)存儲并報告策略和許可權,從而確定讓授權的用戶訪問服務,并且阻止未授權的用戶訪問組件或服務。授權系統(tǒng)將在預訂時被準備,并且在服務運行時被查閱。 許可證管理 該系統(tǒng)協(xié)助服務提供者確保對服務的訪問完全在該服務許可證協(xié)議條款的控制下。許可證協(xié)議可能是服務提供者和最終用戶之間的協(xié)議,或者是服務提供者和服務供應商之間的協(xié)議。許可證管理系統(tǒng)將在安裝服務時被準備,并且在服務運行時被查閱。 定價系統(tǒng) 當評測事件出現(xiàn)時,定價系統(tǒng)用來確定適用于這些事件的費用。定價系統(tǒng)由定價引擎以及為每一個消費者協(xié)議準備的定價包(可以共享定價包)組成。定價包將在服務預訂時被創(chuàng)建(或被引用)。雖然一些實現(xiàn)可能需要在服務運行時進行處理,但是定價引擎通常會在服務執(zhí)行之后處理評測事件(確定費用)。


合同

合同可以用來存有這樣一種信息,這種信息將 Web 服務的消費者與該服務、服務的條款(包括定價包)以及計費帳戶聯(lián)系起來。認證和標識系統(tǒng)與所調用的服務一起提供上下文,當調用服務時,該上下文用來發(fā)現(xiàn)恰當?shù)暮贤?。通過“服務級協(xié)議”(Service Level Agreement,SLA)和“服務質量”(Quality of Service,QoS)管理系統(tǒng),合同上下文用來對信息進行評測。在預訂的基礎上,托管系統(tǒng)創(chuàng)建消費者、服務、SLA、QoS 和計費帳戶,并將它們關聯(lián)起來。

在托管的環(huán)境中,如果不存在使用這些服務的有效合同,則試圖調用托管的 Web 服務將被拒絕。

評測、定價和計費

用于準備的帳戶管理過程分為:評測、日志記錄、定價和計費這樣幾個子過程。

評測

如果您需要基于使用的計費,則消費者對 Web 服務的使用必須被評測。系統(tǒng)還收集登記、預訂和準備事件,可以使用這些信息來確定預訂費用。

使用評測通過 Web 服務運行時的裝備來完成,無需給服務本身強加額外設計要求。Web 服務的設計者可以進一步裝備服務,以提供其它評測事件。

日志記錄

評測事件被寫到公共日志中,稍后由定價引擎進行處理。評測和評測事件日志記錄都會在 Web 服務的服務器和客戶端出現(xiàn),允許稍后進行核對。

定價

使用所指定的定價包,定價引擎將評測事件轉換為傳給計費系統(tǒng)的發(fā)票項。定價引擎根據(jù)使用和預訂的情況確定費用(基于時間)。通常定價引擎是較大的計費系統(tǒng)的一部分。

計費

計費系統(tǒng)接受來自定價引擎的發(fā)票信息,并將它與正確的用戶帳戶關聯(lián)起來。計費系統(tǒng)提供一些信息,從而允許消費者檢索計費信息并根據(jù)計費信息進行支付、在發(fā)生爭議的情況下進行核對以及更正支付給提供者的供應商(供應商反過來也可能向原提供者提供批發(fā)服務)的付款。

Web 服務托管的運行時

運行時,各種支持系統(tǒng)將再次發(fā)揮作用,如表 2 所示。

表 2:在運行時的托管支持系統(tǒng)

系統(tǒng) 運行時過程 成員 服務可能需要從這個公共資源庫檢索成員信息。 認證 建立并驗證服務調用者的標識。 授權 確保用戶只能訪問那些他們有權訪問的服務。 評測 Web 服務基礎架構將把使用事件記錄到日志記錄系統(tǒng)。 日志記錄 公共的日志記錄系統(tǒng)將捕獲審計和評測記錄,以便稍后進行處理。 許可證管理 確保系統(tǒng)和服務的組件以一種遵循適用的任何許可證協(xié)議的條款的方式被使用。

當調用了服務,Web 服務基礎架構將試圖發(fā)現(xiàn)合同,使之應用于該調用。合同將包含對信息(服務將根據(jù)此信息被處理)的引用。最低限度,合同的存在將起到授權核查的作用;如果沒有有效的合同,將不能調用服務。當對由該調用生成的評測事件進行處理時,合同還可以確定將會用到的定價包;當調度服務時,合同可以確定要用到的 QoS 和 SLA 參數(shù)。

管理

自助式簡檔管理功能的使用將可以降低服務提供者的操作成本,將賦予消費者管理其組織和個人數(shù)據(jù)的權利。

認證和授權系統(tǒng)的管理功能通常由這些系統(tǒng)本身提供。

目錄發(fā)布工具將用來管理目錄中的服務和報價信息,而托管系統(tǒng)將提供合同和預訂管理。

計費系統(tǒng)通常提供定制的管理功能。計費系統(tǒng)還可以提供訂戶接口組件,這些組件將被集成到最終用戶門戶網(wǎng)站中。

Web 服務托管技術

“Web 服務托管技術”(WHST)是發(fā)布在 alphaWorks 上的新包,它實現(xiàn)了準備的所有主要功能。以下的內容是 WSHT 及其工作原理的概述。

組件和功能

WSHT 的主要組件有門戶網(wǎng)站,報價目錄,登記和預訂系統(tǒng),運行時擴展以及定價、計費和帳戶管理系統(tǒng)。

WHST 門戶網(wǎng)站

WSHT 包滿足了托管 Web 服務的許多要求。其目的并不是生產(chǎn)服務,因此為了方便,將登記、預訂和管理功能組合到一個門戶網(wǎng)站。門戶網(wǎng)站提供了對以下內容的訪問:

目錄構建和管理功能。

用戶和預訂管理。

計費帳戶狀況。

登記功能。

預訂功能。

權利列表。

Web 服務測試接口。

報價創(chuàng)建和報價目錄

WHST 提供了創(chuàng)建和管理稱為報價的預訂元素的工具。報價將來自 UDDI 注冊中心的一個或多個 Web 服務與用來計費的定價包相關聯(lián)。

報價放在一個簡單的目錄里提供給已登記用戶,作為登記和預訂操作的一部分。

登記和預訂

簡單的登記系統(tǒng)在 WSTK“標識”服務的基礎上被提供。要登記,用戶只需要選擇一個獨一無二的用戶標識并提供一個密碼。

預訂接口允許已登記用戶從可用的報價列表中進行選擇。接受了報價中的條款就會創(chuàng)建服務調用時所用到的合同。

運行時擴展

基本的 Web 服務運行時在 WHST 環(huán)境中被擴展。運行時被裝備為記錄審計和評測記錄?;镜?WSTK 標識服務用來進行授權(如果用戶存在且與密碼匹配,他們將被授權使用系統(tǒng))。WSTK 合同服務用來確定服務的用戶是否擁有一個有效的合同,之后合同標識符將在評測記錄中被引用。

定價、計費和帳戶管理

輕量的定價引擎周期性地處理審計和評測日志中的評測記錄,將發(fā)票記錄傳給輕量的計費系統(tǒng)。計費系統(tǒng)將發(fā)票記錄與訂戶帳戶關聯(lián)起來。將提供一個用戶界面,允許用戶查看匯總的訂戶帳單。

操作 WSHT

操作 WSHT 是一個分為兩步的過程:第一步,用準備系統(tǒng)建立服務;第二步,將服務消費者客戶綁定到準備系統(tǒng)。

WSHT 發(fā)布、登記和預訂

圖 1 展示了服務開發(fā)者怎樣將服務定義發(fā)布到 UDDI 注冊中心。服務提供者將服務與定價包相匹配作為報價,并創(chuàng)建一個目錄條目。消費者向服務提供者登記,從目錄選出所希望的服務,并且預訂服務??蛻糍Y產(chǎn)被消費者下載,并在調用服務的客戶應用程序的開發(fā)中使用。

圖 1. 用準備系統(tǒng)建立服務。


WHST 運行時

在運行時(請參閱圖 2),客戶應用程序綁定到服務,并使用恰當?shù)臋C制調用服務,該機制報告在登記階段建立的標識(請參閱圖 1)。Web 服務的服務器調用標識處理程序來驗證消費者標識,然后調用合同處理程序來驗證合同是否存在。接下來調用評測處理程序來記錄服務調用的啟動,之后,記錄它的結束。定價引擎處理事件日志中的事件,確定費用并且在計費系統(tǒng)中創(chuàng)建發(fā)票項。消費者使用服務門戶網(wǎng)站來查看使用費用。

圖 2. 運行時客戶應用程序綁定和服務交互


WSHT 配置

為了支持 Web 服務協(xié)議的不同實現(xiàn),WSHT 有兩種配置:簡式和網(wǎng)關。

簡式

為了建立服務用戶的標識,簡式配置假設使用 Apache SOAP 3.0(Axis)協(xié)議實現(xiàn)中的處理程序系統(tǒng)。服務客戶將用戶標識和密碼插入到請求中。Web 服務工具箱(Web Services ToolKit)3.0 服務器(請參閱參考資料)檢索標識,并用它來發(fā)現(xiàn)適用的合同,服務將按照這個合同被調用。

網(wǎng)關

“Web 服務網(wǎng)關”(Web Services Gateway,WSGW)可以用于更復雜的情況,比如:

支持非 Axis 客戶。

支持非 Axis 托管的服務。特別是,網(wǎng)關可以用在“批發(fā)”方案中,在這種方案中服務提供者是外部服務的中介者或門戶網(wǎng)站。

支持調用 WSIF 的內部服務,包括 RMI-IIOP。

為了托管,通過添加攔截器來裝備 WSGW,攔截器的功能與上面描述的 Axis 處理程序的功能相同。網(wǎng)關將允許建立消費者標識,而不用依賴 Axis 客戶處理程序。例如,當使用 WSGW 時,WHST 將支持 HTTP 認證。

結束語

WSHT 說明了“Web 服務工具箱”和“Web 服務網(wǎng)關”如何能用來提供操作按使用付費的 Web 服務托管系統(tǒng)所需要的核心功能。合同可以用來將服務和消費者標識與定價包聯(lián)系起來。定價包把使用評測記錄轉換為發(fā)票記錄,并且與消費者帳戶關聯(lián)起來。

最重要的是,任何服務(本地的或遠程的)都可由 WHST 托管支持準備和管理,而不需要改變 Web 服務本身。像本文中介紹的這種體系架構將可以簡化 Web 服務進入服務提供者環(huán)境的接受過程。

參考資料

  • 請參與本文的討論論壇。
  • Dan Gisolfi 的專欄的關于基于付費的 Web 服務問題:第 1 部分、第 2 部分、第 3 部分。
  • Dietmar Kuebler 和 Wolfgang Eibach 的關于評測 Web 服務的文章。
  • Greg Flurry 的 Applying Web services to the application service provider environment,第 1 部分第 2 部分。
  • 從 IBM alphaWorks 下載 Web Services ToolKit。
  • 從 IBM alphaWorks 下載 Web 服務托管技術包。

關于作者

Mike Polan 是一名 WebSphere 體系架構設計師,目前他致力于應用和服務準備,特別是 Web 服務準備開發(fā)的研究。他是 WebSphere Commerce Suite 的開發(fā)經(jīng)理并領導 VisualAge C++ 和 VisualAge Java 開發(fā)小組。您可以通過
polan@ca.ibm.com 與他聯(lián)系。

發(fā)布:2007-03-25 13:26    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
石家莊OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢