當前位置:工程項目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
Web服務準備:理解和使用Web服務托管技術
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 服務部署到服務提供者的生產服務器。
將 Web 服務定義(WSDL)部署到 UDDI 或其它一些 WSDL
注冊中心。
服務提供者創(chuàng)建報價(一個報價包含一個或多個 WSDL
注冊中心列出的與定價包相關聯(lián)的服務)。
服務提供者將報價部署到在線目錄,該在線目錄引用服務目錄和定價包。
登記和預訂方面:
潛在的訂戶(消費者)通過引用目錄的注冊中心發(fā)現(xiàn) Web
服務,反之亦然。
如果還不是成員,新的訂戶向服務提供者登記(建立一個帳戶)。
訂戶選擇預訂新的 Web
服務。
自動為新訂戶準備服務。
訂戶下載使用 Web 服務所必需的資產,編寫并部署一個客戶應用程序。
使用方面:
客戶應用程序使用 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 服務消費所必需的資產。與服務相關聯(lián)的報價信息被發(fā)布到目錄服務,并由預訂服務引用。
登記和預訂
登記是使托管系統(tǒng)知道訂戶標識的過程。在隨后將 Web
服務的使用與該服務的消費者相關聯(lián)時需要這個標識。通常將登記和預訂步驟結合在一起。
預訂是將用戶添加到給定的 Web 服務消費者列表的行為。消費者通過選擇報價來選定所希望的服務,報價包含所希望的服務并確定合同中的使用條款。預訂可能需要付安裝費。一旦預訂了,消費者可以使用服務操作(消費)所必需的任何資產。
準備
準備是為消費者使用服務準備系統(tǒng)的行為。它包括為支持消費者活動在技術和業(yè)務兩方面作準備。
Web
服務準備
服務可以是匿名的或有準備的。匿名服務在運行時不需要消費者的標識就可以進行操作。匿名服務的一個例子是檢索股票價格。Web
服務的認證、授權和評測被委托給托管系統(tǒng),因此,匿名服務通常不需要其它的準備。
有準備的服務是需要將用戶帳戶和/或其它信息與服務關聯(lián)起來的服務。例如,當必須確定要檢索的帳戶余額時,從用戶資產清單檢索帳戶余額就是有準備的服務。對與該服務相關聯(lián)的資產的細粒度保護還需要其它訪問控制。
要使登記和預訂過程自動化,每個有準備的服務都需要一些擴展。這些通常是構建在服務中的 API,只需要通過服務代理映射為準備系統(tǒng)功能。接下來,準備系統(tǒng)在預訂時將通過代理驅動這些功能。
支持系統(tǒng)
當托管 Web
服務時,任何分布式系統(tǒng)設計中提供的許多系統(tǒng)同樣有用,并且必須是有準備的,如表 1 所示。
表 1. 準備支持系統(tǒng)
合同
合同可以用來存有這樣一種信息,這種信息將 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)
當調用了服務,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
服務的許多要求。其目的并不是生產服務,因此為了方便,將登記、預訂和管理功能組合到一個門戶網(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產被消費者下載,并在調用服務的客戶應用程序的開發(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)系。
- 1Ask the DotNetJunkies: Consuming Remote Web Services in ASP.
- 2Web Services with ASP.NET
- 3泛普軟件石家莊OA信息化平臺技術路線
- 4中國特色生態(tài)文明建設的理論創(chuàng)新和實踐
- 5Web服務設計師,第4部分:基于付費Web服務:術語
- 6Web服務內幕,第9部分:研究問題--安全性與保密性
- 7一波“三折”:我的OA選型經(jīng)歷(上)
- 8追問石家莊OA信息化(高麗華)
- 9Web服務的(革)創(chuàng)新,第3部分
- 10萬寶:中國首個石家莊OA信息化的暢飲者
- 11Web Services Interoperability and SOAP
- 12源天軟件為特優(yōu)仕照明實施協(xié)同辦公管理系統(tǒng)
- 13Consuming a Web Service from a Win Form Application
- 14企業(yè)借OA節(jié)省費用,減輕金融風暴影響
- 15A Platform for Web Services
- 16OA辦公系統(tǒng)可以幫助企業(yè)擺脫束縛
- 17架構Web Service:描述與注冊,發(fā)布Web服務
- 18OA支持工作流報表的格式自定義——通過工作流報表
- 19互聯(lián)網(wǎng)聯(lián)盟(W3C )發(fā)布Web服務體系新規(guī)范草案
- 20OA內容管理與知識管理方案介紹
- 21ColdFusion MX增加對J2EE、XML和Web服務的兼容
- 22石家莊OA信息化的基本XML和RDF技術(六):使用Versa的RDF查詢
- 23對于石家莊OA信息化的幾種不同理解(BY AMT 夏敬華)
- 24bindingTemplate與Web服務調用
- 25BEA實現(xiàn)安全的在線交易的web服務
- 26Web服務內幕,第3部分:Apache和Microsoft -- 良好的合作
- 27[編譯] 石家莊OA信息化測度:目標、過程及方法(夏敬華譯)
- 28Web服務的(革)創(chuàng)新,第2部分
- 29Web服務網(wǎng)絡:簡化企業(yè)間工程的中介
- 30微軟展示新版互聯(lián)網(wǎng)服務MSN 8.0
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓