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

Web服務(wù)的計(jì)量與統(tǒng)計(jì)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

Web服務(wù)的計(jì)量與統(tǒng)計(jì)
 
 --一種動(dòng)態(tài)電子商務(wù)解決方案


Dietmar Kuebler

軟件設(shè)計(jì)師,IBM Software Group

Wolfgang Eibach

軟件設(shè)計(jì)師,Banking Solutions,IBM Software Group

2001 年 7 月

作者在本文中描述了一個(gè)面向可由服務(wù)提供者為服務(wù)請(qǐng)求者實(shí)現(xiàn)的商業(yè) Web 服務(wù)的通用定價(jià)模型。他們提出的解決方案顯示了 Web 服務(wù)的使用如何被計(jì)量以及計(jì)量所得到的數(shù)據(jù)(供隨后的統(tǒng)計(jì)與記賬使用)。文中提出的解決方案自身以示例的方式作為 Web 服務(wù)得以實(shí)現(xiàn)。

對(duì) Web 服務(wù)定價(jià)模型的需求

隨著 Web 服務(wù)在業(yè)界的發(fā)展,面向商業(yè) Web 服務(wù)提供者的商業(yè)模型會(huì)成為受到越來越多的矚目和討論的對(duì)象。如今發(fā)布的 Web 服務(wù)基本上都是免費(fèi)的,因此并未對(duì)其價(jià)值進(jìn)行衡量。然而隨著更高價(jià)值的服務(wù)(例如,支付處理)的出現(xiàn),對(duì)于一個(gè)能有效衡量由服務(wù)請(qǐng)求者調(diào)用的 Web 服務(wù)模型的需求也將不斷增長(zhǎng)。由于這些服務(wù)并不依賴于瀏覽器,因此廣告收入在這一環(huán)境中多少會(huì)失去意義,這就必須用另一個(gè)模型來對(duì)其進(jìn)行替換。

Web 服務(wù)及其體系結(jié)構(gòu)的概述

Web 服務(wù)是一個(gè)被包裝成單一實(shí)體,且被發(fā)布以供其它程序使用的功能集合,它引入了由程序啟動(dòng)的事務(wù)對(duì)使用瀏覽器人工啟動(dòng)的事務(wù)的置換。它們能在分布式環(huán)境中得到描述、發(fā)布、發(fā)現(xiàn)以及動(dòng)態(tài)調(diào)用,這意味著 Web 服務(wù)是完全建立在因特網(wǎng)標(biāo)準(zhǔn)之上的。

Web 服務(wù)背后的體系結(jié)構(gòu)概念是面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)。它描述了三個(gè)基本角色:

服務(wù)提供者

服務(wù)中介者

服務(wù)請(qǐng)求者

如圖 1 所示,這些角色通過 find、bind 和 publish/unpublish 操作進(jìn)行交互。

圖 1:Web 服務(wù)組件


服務(wù)提供者提供服務(wù),并將它們通過注冊(cè)方進(jìn)行發(fā)布。服務(wù)中介者為發(fā)布及定位服務(wù)提供支持。而服務(wù)請(qǐng)求者則通過服務(wù)中介者查找所需的服務(wù)并通過服務(wù)提供者綁定到服務(wù)。

創(chuàng)建 Web 服務(wù)定價(jià)模型的難題

當(dāng)前 Web 服務(wù)倡議的發(fā)展相當(dāng)快,并且面臨著許多技術(shù)難題,其中有:

可靠性與安全性

事務(wù)與可伸縮性

可統(tǒng)計(jì)性與測(cè)試,等等。

本文中簡(jiǎn)要說明的解決方案主要關(guān)注的是 Web 服務(wù)的統(tǒng)計(jì)這一問題領(lǐng)域,特別觀察了面向服務(wù)提供者的商務(wù)管理以及他們?nèi)绾尾拍苡行У貫樗麄兯峁┑姆?wù)向服務(wù)請(qǐng)求者收費(fèi)。

計(jì)量與統(tǒng)計(jì)模型

計(jì)量與統(tǒng)計(jì)模型是專為 Web 服務(wù)設(shè)計(jì)的,它采用了比測(cè)量 IP 地址間的流量、對(duì)發(fā)送的電子郵件進(jìn)行計(jì)數(shù),或者記錄特定用戶所使用的存儲(chǔ)量更為高級(jí)的方法。盡管它的設(shè)計(jì)是用來支持使用 Web 服務(wù)的服務(wù)提供者的,但每個(gè)提供者仍能在他們自己的系統(tǒng)中運(yùn)行不同的 Web 服務(wù)??偟膩碚f,我們考慮的是:

簡(jiǎn)單服務(wù),類似股票行情服務(wù)或溫度服務(wù)等沒有服務(wù)質(zhì)量擔(dān)保、且可以免費(fèi)獲得的服務(wù)。

客戶在商業(yè)交易中所使用的服務(wù)。在這種服務(wù)中,服務(wù)質(zhì)量起到了非常重要的作用,而該服務(wù)很可能不是免費(fèi)提供的。

對(duì)于后一種服務(wù),服務(wù)提供者需在使用時(shí)對(duì)其進(jìn)行審計(jì),并為其記賬。這通常是定期實(shí)行的,同時(shí)也是要用到計(jì)量和統(tǒng)計(jì)模型的地方。

模型是在這樣一個(gè)基本設(shè)想上進(jìn)行操作的,即價(jià)值較高的 Web 服務(wù)是通過服務(wù)級(jí)別協(xié)議(Service Level Agreement)(SLA's)或其等效協(xié)議訂立合同的,這表明雙方對(duì)合同達(dá)成一致意見。合同涵蓋了服務(wù)慣例的所有屬性以及提供者和請(qǐng)求者如何對(duì)其進(jìn)行使用,它的訂立為計(jì)量服務(wù)的使用建立了基礎(chǔ)。合同還可包含使用 Web 服務(wù)的環(huán)境先決條件。

一旦請(qǐng)求者(或客戶方)與提供者簽訂了合同(或進(jìn)行了注冊(cè)),請(qǐng)求者就為提供者和服務(wù)計(jì)量所知了。這可通過用電子方式簽訂關(guān)于使用 Web 服務(wù)的合同和證書來實(shí)現(xiàn)。

合同提供了有關(guān)下列事項(xiàng)的詳細(xì)信息:

合同的類型:長(zhǎng)期的、臨時(shí)的、限期的、無限期的,等等

合同的生效日期和終止日期

使用的時(shí)間模型:每天、周一到周五,等等

數(shù)量模型,規(guī)定了所提供服務(wù)的數(shù)量限制

安全性:加密與認(rèn)證的簽名或證書

計(jì)量與統(tǒng)計(jì)服務(wù)通過證書的內(nèi)部使用將合同中詳細(xì)說明的請(qǐng)求者與提供者之間的關(guān)系存儲(chǔ)起來。這對(duì)于記賬用途來說特別重要,從而可以避免對(duì)服務(wù)請(qǐng)求者的錯(cuò)誤收費(fèi)。服務(wù)請(qǐng)求者在使用有合同的服務(wù)時(shí)必須同時(shí)使用一個(gè)帶簽名的 SOAP 消息。

請(qǐng)注意,合同的使用并不能排除不同地動(dòng)態(tài)發(fā)布的 Web 服務(wù)之間的關(guān)系;它僅僅要求使用一個(gè)合適的使用模型。

計(jì)量的功能性適合很多可能的商業(yè)模型,如:

點(diǎn)擊付款/付費(fèi)使用模型

預(yù)訂模型

租用模型

欲了解關(guān)于不同收入模型的討論,請(qǐng)參閱參考資料部分。

用途與功能性

計(jì)量與統(tǒng)計(jì) Web 服務(wù)通常充當(dāng) Web 服務(wù)的資源計(jì)數(shù)器。它為下列事項(xiàng)提供了輸入:

根據(jù)服務(wù)提供者的等級(jí)模型進(jìn)行記賬(例如:公共記賬接口)

支付與稅收處理

定義如下的功能與統(tǒng)計(jì)圖:

記錄用戶使用服務(wù) xyz 的起始時(shí)間

記錄用戶使用服務(wù) xyz 的結(jié)束時(shí)間

記錄一個(gè)特定用戶的全部資源使用量

報(bào)告每次請(qǐng)求的使用服務(wù)統(tǒng)計(jì)數(shù)據(jù)

創(chuàng)建服務(wù)請(qǐng)求者(Service Requestor,SR)賬戶(臨時(shí)賬戶和合同)

創(chuàng)建服務(wù)提供者(Service Provider,SP)賬戶

如果用戶標(biāo)識(shí)得到使用所請(qǐng)求的服務(wù)標(biāo)識(shí)(合同元素)的許可,則對(duì)查詢作出答復(fù)。

創(chuàng)建與 XML 一致的 IPDR.org 使用記錄

計(jì)量服務(wù)使得用 XML 文件那樣的標(biāo)準(zhǔn)格式來檢索使用數(shù)據(jù)成為可能。該數(shù)據(jù)能在成批的模型中使用,也就是說,它可供一個(gè)支持符合處理標(biāo)準(zhǔn)的輸入的記賬產(chǎn)品使用。

面向基于 IP 的服務(wù)的網(wǎng)絡(luò)數(shù)據(jù)管理用途

服務(wù)元素參與了基于 IP 的服務(wù)的傳遞,這些服務(wù)元素中的使用數(shù)據(jù)的交換用到了一些技術(shù)信息,IPDR 組織指定這些技術(shù)信息中哪些是充分的。他們開發(fā)了一個(gè)框架,可以限定 IP 網(wǎng)絡(luò)和服務(wù)元素以及支持系統(tǒng),并描述了系統(tǒng)間的關(guān)系。這一框架提供了一個(gè)模板,該模板指定了需要交換的 IP 資源類型和服務(wù)使用信息。

所有 IPDR 服務(wù)通用的元素是在一個(gè)單獨(dú)的 Master IPDR Schema 文檔中被聲明。服務(wù)專用模式指定了定義每項(xiàng)服務(wù)特定的 IPDR 元素所需的數(shù)據(jù)類型。在本文展示的引導(dǎo)實(shí)現(xiàn)中,我們根據(jù)計(jì)量與統(tǒng)計(jì)模型開發(fā)了一個(gè) Web 服務(wù)專用模式。
 
概念體系結(jié)構(gòu)的計(jì)量

圖 2:概念體系結(jié)構(gòu)的計(jì)量


圖 2 展示了作為 Web 服務(wù)實(shí)現(xiàn)的資源計(jì)數(shù)器的概念體系結(jié)構(gòu)。服務(wù)請(qǐng)求者(客戶方)在服務(wù)提供者的服務(wù)器上執(zhí)行服務(wù)。如果存在合同,并且調(diào)用的服務(wù)不是免費(fèi)的,服務(wù)提供者就會(huì)向計(jì)量服務(wù)發(fā)送一個(gè)“記錄用戶起始時(shí)間”的請(qǐng)求。這一請(qǐng)求攜帶著服務(wù)請(qǐng)求者的用戶標(biāo)識(shí),可供計(jì)量服務(wù)作為關(guān)鍵字用來為該用戶查找統(tǒng)計(jì)模型及當(dāng)前計(jì)量數(shù)據(jù)。被提議的概念還將計(jì)量服務(wù)定義為一種需使用 SOAP 消息進(jìn)行訪問的 Web 服務(wù)。它允許服務(wù)提供者或者將計(jì)量作為在其自身的位置實(shí)現(xiàn)的本地服務(wù),或者使用提供該項(xiàng)服務(wù)的可用的 Web 服務(wù)提供者。

計(jì)量服務(wù)在其數(shù)據(jù)庫中保存著不同的統(tǒng)計(jì)模型,它反映了服務(wù)請(qǐng)求者與服務(wù)提供者之間合同的統(tǒng)計(jì)部分。合同的這一部分可能指出了允許客戶方何時(shí)使用服務(wù)、每天或每月的服務(wù)最大使用量,等等。它還根據(jù)時(shí)間、調(diào)用數(shù)目或一些其它的模型規(guī)定如何對(duì)服務(wù)收費(fèi)。

作為對(duì)“記錄用戶起始時(shí)間”的響應(yīng),計(jì)量服務(wù)可能會(huì)指出當(dāng)前不允許客戶使用請(qǐng)求的服務(wù),或者已經(jīng)超過了最大使用量。在得到肯定的響應(yīng)時(shí),服務(wù)提供者會(huì)執(zhí)行請(qǐng)求的服務(wù),并且會(huì)在執(zhí)行結(jié)束后用“記錄用戶結(jié)束時(shí)間”的請(qǐng)求通知計(jì)量服務(wù)。

服務(wù)提供者可以隨時(shí)請(qǐng)求得到客戶方的統(tǒng)計(jì)數(shù)據(jù)供記賬使用。

解決方案的組件

圖 3 顯示了建立一個(gè)計(jì)量服務(wù)平臺(tái)所需的組件。與服務(wù)提供者的連接是使用 SOAP 通過 HTTP 實(shí)現(xiàn)的。我們假定計(jì)量服務(wù)是在 Web 服務(wù)器平臺(tái)上實(shí)現(xiàn)的。一個(gè)類似 Websphere 的 Web 應(yīng)用服務(wù)器和一個(gè) SOAP 服務(wù)器是 Web 應(yīng)用服務(wù)器平臺(tái)上可用的標(biāo)準(zhǔn)組件。另外還需要兩個(gè)附加組件(稍后我們將加以討論)以實(shí)現(xiàn)計(jì)量服務(wù)。

圖 3:組件概述

資源計(jì)數(shù)器服務(wù)組件從服務(wù)提供者處接收進(jìn)入的請(qǐng)求,提供被請(qǐng)求的服務(wù)并返回響應(yīng)。該組件與一個(gè)帶有 XML 擴(kuò)展的關(guān)系數(shù)據(jù)庫連接在一起,如帶有 XML 擴(kuò)展器的 DB2,并為指定的服務(wù)請(qǐng)求者檢索統(tǒng)計(jì)模型和當(dāng)前賬戶記錄。如果該統(tǒng)計(jì)模型不排除服務(wù)的執(zhí)行,則資源計(jì)數(shù)器服務(wù)組件將更新當(dāng)前數(shù)據(jù),并給服務(wù)提供者一個(gè)肯定的響應(yīng),隨后該服務(wù)提供者開始執(zhí)行該服務(wù)。

已訂立合同的 Web 服務(wù)組件會(huì)對(duì)進(jìn)入的 SOAP 請(qǐng)求進(jìn)行認(rèn)證。合同對(duì)于服務(wù)請(qǐng)求者必須可用,否則請(qǐng)求將遭拒絕。

使用案例

圖 4 中的順序圖表顯示了一個(gè)經(jīng)過認(rèn)證的服務(wù)請(qǐng)求者是如何請(qǐng)求可記賬的服務(wù)的。服務(wù)請(qǐng)求者與服務(wù)提供者之間有一個(gè)有效合同。服務(wù)提供者利用過濾器來檢查請(qǐng)求者的權(quán)限,并與計(jì)量服務(wù)提供者進(jìn)行交互。然后該過濾器在 SOAP RPC 調(diào)用過程中集成數(shù)字簽名。(請(qǐng)參閱參考資料部分中的教程,來獲取一個(gè)這樣的示例。)

圖 4:資源計(jì)數(shù)器使用案例


上述圖表示范的過程中執(zhí)行了下列步驟:

SOAP 綁定(SOAP Bind)請(qǐng)求服務(wù)提供者提供的 Web 服務(wù)

服務(wù)提供者過濾器使用提供的簽名來檢查服務(wù)請(qǐng)求者的認(rèn)證,并在萬一沒有認(rèn)證的情況下給出一個(gè) SOAP 錯(cuò)誤(SOAP Fault)響應(yīng)。

SOAP 請(qǐng)求被發(fā)送給計(jì)量服務(wù)提供者,請(qǐng)求其對(duì) Web 服務(wù)進(jìn)行計(jì)數(shù),而計(jì)量服務(wù)提供者根據(jù)合同的詳細(xì)信息驗(yàn)證服務(wù)提供者的請(qǐng)求,并開始計(jì)數(shù)

服務(wù)提供者執(zhí)行服務(wù)

Web 服務(wù)完成

SOAP 請(qǐng)求消息被發(fā)送到資源計(jì)數(shù)器以停止計(jì)數(shù)

SOAP 響應(yīng)消息被發(fā)送到服務(wù)請(qǐng)求者,表明服務(wù)已經(jīng)完成,并返回結(jié)果

為簡(jiǎn)單起見,我們省略了次要的交互作用(也就是出錯(cuò)情況以及驗(yàn)證簽名所需的認(rèn)證機(jī)構(gòu))。

引導(dǎo)實(shí)現(xiàn)

我們實(shí)現(xiàn)了一個(gè)原型來展示計(jì)量的用法。代碼被集成到 IBM Web Services ToolKit(可從 IBM Alphaworks 中獲得;請(qǐng)參閱參考資料)中的 Gourmet2Go 演示應(yīng)用程序中。

圖 5 展示了由使用 Gourmet2Go 演示應(yīng)用程序和注冊(cè)服務(wù)的用戶在幾次會(huì)話期間收集到的數(shù)據(jù)。正如我們先前討論過的那樣,服務(wù)根據(jù)不同的演示目的被分配了不同類型的使用模型。

結(jié)論

應(yīng)包含在企業(yè)商務(wù)交易中的有價(jià)值的 Web 服務(wù)需要關(guān)于服務(wù)提供者如何對(duì)服務(wù)的使用進(jìn)行收費(fèi)的模型。在本文中,我們已經(jīng)就此問題展示了一個(gè)可能的解決方案。

一個(gè)使用該服務(wù)來計(jì)量 Web 服務(wù)使用的服務(wù)提供者首先在計(jì)量服務(wù)中注冊(cè)可用的 Web 服務(wù)。選擇使用服務(wù)提供者提供的某個(gè)服務(wù)(如,在仔細(xì)地查過 UDDI 注冊(cè)方以后)的服務(wù)請(qǐng)求者預(yù)訂使用該服務(wù)并訂立合同。合同的一部分是選擇一個(gè)預(yù)先定義的使用模型并在諸如 X509.v3 的證書標(biāo)準(zhǔn)上達(dá)成一致。這對(duì)于請(qǐng)求者簽名 SOAP 消息以及提供者評(píng)測(cè)正確的請(qǐng)求者都是必要的。一種典型的情況是,提供者定期使用計(jì)量服務(wù)來生成記賬數(shù)據(jù)對(duì)簽過合同的請(qǐng)求者進(jìn)行收費(fèi)。

我們建議的模型是作為 Web 服務(wù)自身來實(shí)現(xiàn)的。服務(wù)提供者能將一個(gè)類似的模型直接集成到其服務(wù)提供者平臺(tái)中,但這樣就會(huì)失去一些可能會(huì)飛速發(fā)展的 Web 服務(wù)的優(yōu)勢(shì)。

參考資料

  • 請(qǐng)閱讀關(guān)于 Web 服務(wù)體系結(jié)構(gòu)的內(nèi)容。
  • 請(qǐng)閱讀 Web 服務(wù)設(shè)計(jì)師,第 2 部分:動(dòng)態(tài)電子商業(yè)模型,看看關(guān)于 Web 服務(wù)和收入模型的價(jià)值問題的討論。
  • 請(qǐng)從 IBM Alphaworks 頁中查找 IBM Web Services Tookkit。
  • 在這里您能找到關(guān)于 IPDR.org 倡議的所有詳細(xì)信息。
  • 請(qǐng)使用關(guān)于 SOAP 數(shù)字簽名的出色教程。
  • 白皮書: Dynamic e-business and with DB2 and Web services 展示了 DB2 是如何通過 DB2 XML 擴(kuò)展器支持 Web 服務(wù)的。



關(guān)于作者

Dietmar Kuebler 是一個(gè)在 IBM Boeblingen 實(shí)驗(yàn)室工作的軟件設(shè)計(jì)師。他曾擔(dān)任過開發(fā)、技術(shù)營(yíng)銷和項(xiàng)目管理幾個(gè)方面的各種職務(wù),具有在多環(huán)境下進(jìn)行結(jié)構(gòu)設(shè)計(jì)和軟件開發(fā)方面的廣泛經(jīng)驗(yàn)。它的專業(yè)技術(shù)領(lǐng)域包括 OO 技術(shù)、Java、WebSphere 以及中間件技術(shù)。


Wolfgang Eibach 在 IBM Boeblingen 實(shí)驗(yàn)室工作,擔(dān)任開發(fā)與體系結(jié)構(gòu)方面的多個(gè)職務(wù)。他作為軟件設(shè)計(jì)師的專業(yè)經(jīng)驗(yàn)包括大型的基于主機(jī)的軟件系統(tǒng)、OO 技術(shù)、MQSeries、Workflow 以及金融應(yīng)用程序。

Dietmar 和 Wolfgang 目前正在 IBM Boeblingen 實(shí)驗(yàn)室從事 Web 服務(wù)倡議的工作。

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢