監(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ù)的(革)創(chuàng)新,第1部分

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

AMTeam.org

Web服務(wù)的(革)創(chuàng)新,第1部分

--將Web服務(wù)應(yīng)用于應(yīng)用程序

 

Graham Glass

CEO/首席設(shè)計(jì)師,The Mind Electric

2000 年 11 月

這是本新專欄的開篇文章,講述了構(gòu)建 Web 服務(wù)應(yīng)用的一些好處和挑戰(zhàn)。Web 服務(wù)也許是設(shè)計(jì)分布式應(yīng)用中一個(gè)創(chuàng)造性步驟,但是,它們并不是完美無缺的。Graham 概述了開發(fā)者在創(chuàng)建確實(shí)可工作的 Web 服務(wù)分布式系統(tǒng)時(shí)會(huì)遇到的困難。本文還概述了在本專欄的后續(xù)文章中介紹構(gòu)建對(duì)等 Web 應(yīng)用的計(jì)劃。

歡迎閱讀這個(gè)新專欄的第一部分,本文講述了 Web 服務(wù)技術(shù)的革新和創(chuàng)新。之所以稱為“革新”,是因?yàn)?Web 服務(wù)是超越于面向?qū)ο蠹夹g(shù)的抽象范疇中的下一個(gè)階段,而稱之為“創(chuàng)新”是因?yàn)槲覉?jiān)信它們將推進(jìn)從客戶機(jī)-服務(wù)器體系結(jié)構(gòu)到對(duì)等體系結(jié)構(gòu)的轉(zhuǎn)變。

在本系列中,我將從 Web 服務(wù)的概述和一些為了實(shí)現(xiàn)大規(guī)模采用而必須克服的障礙入手。接著,構(gòu)建一些簡(jiǎn)單的 Web 服務(wù),并使用它們來創(chuàng)建分布式系統(tǒng)。然后,檢查一些棘手問題,如安全性、事務(wù)和可伸縮性。最后,使用 Web 服務(wù)來創(chuàng)建一些對(duì)等系統(tǒng),這些系統(tǒng)將演示與傳統(tǒng)分布式體系結(jié)構(gòu)不同的思想方法。

概述

Web 服務(wù)是封裝成單個(gè)實(shí)體并發(fā)布到網(wǎng)絡(luò)上以供其它程序使用的功能集合。Web 服務(wù)是用于創(chuàng)建開放分布式系統(tǒng)的構(gòu)件,并可以使公司和個(gè)人迅速且廉價(jià)地將向全世界提供他們的數(shù)字資產(chǎn)。其早期的示例是 Microsoft Passport,Microsoft 擁有的一種便利認(rèn)證服務(wù)。以下是其它一些示例:

信用檢查服務(wù),給出個(gè)人分配社會(huì)保障號(hào)時(shí),它將返回信用信息。

股票報(bào)價(jià)服務(wù),返回與指定股票行情自動(dòng)收錄器符號(hào)相關(guān)的股票價(jià)格。

采購服務(wù),如果給定了項(xiàng)目代碼和數(shù)量,允許計(jì)算機(jī)系統(tǒng)購買辦公用品。

Web 服務(wù)可以集合其它 Web 服務(wù)以提供一套更高級(jí)的功能。例如,Web 服務(wù)可以通過吸納低級(jí)的汽車租借、航空旅行和酒店等 Web 服務(wù)來提供一套高級(jí)的旅行服務(wù)。將根據(jù)成本、質(zhì)量和可用性在運(yùn)行時(shí)動(dòng)態(tài)選擇 Web 服務(wù),并根據(jù)這些 Web 服務(wù)來構(gòu)建未來的應(yīng)用。

幾乎可以保證 Web 服務(wù)是下一代分布式系統(tǒng)的核心部分。其原因如下:

互操作性。任何 Web 服務(wù)都可以與其它 Web 服務(wù)進(jìn)行交互。應(yīng)感謝 SOAP,這是所有主要供應(yīng)商(以及大多數(shù)中小供應(yīng)商)都支持的新標(biāo)準(zhǔn)協(xié)議,這樣就避免了在 CORBA、DCOM 和其它協(xié)議之間轉(zhuǎn)換的麻煩。還因?yàn)榭梢允褂萌魏握Z言來編寫 Web 服務(wù)(甚至 COBOL,我敢打賭),開發(fā)者無需更改他們的開發(fā)環(huán)境就可生產(chǎn)和使用 Web 服務(wù)。

普遍性。Web 服務(wù)使用 HTTP 和 XML 進(jìn)行通信。因此,任何支持這些技術(shù)的設(shè)備都可以擁有和訪問 Web 服務(wù)。不久,它們將在電話、汽車甚至汽水販賣機(jī)中出現(xiàn)。汽水供應(yīng)不足嗎?沒問題,無線聯(lián)網(wǎng)的汽水販賣機(jī)可以與本地供應(yīng)商的 Web 服務(wù)聯(lián)系,訂購更多您喜愛的飲料。

低進(jìn)入屏障。Web 服務(wù)背后的概念易于理解,并且來自 IBM 和微軟這樣的供應(yīng)商的免費(fèi)工具箱能夠讓開發(fā)者快速創(chuàng)建和部署 Web 服務(wù)。此外,其中的某些工具箱還可以讓已有的 COM 組件和 JavaBean 方便地成為 Web 服務(wù)。

行業(yè)支持。所有主要的供應(yīng)商都支持 SOAP 和周邊 Web 服務(wù)技術(shù)。例如,微軟的 .NET 平臺(tái)就基于 Web 服務(wù),因此用 Visual Basic 編寫的組件很容易作為 Web 服務(wù)部署,并由使用 IBM VisualAge 編寫的 Web 服務(wù)使用,反之亦然。

挑戰(zhàn)

到目前為止,一切順利。但要使 Web 服務(wù)成功,還會(huì)遇到許多技術(shù)挑戰(zhàn),其中有許多與它們賴以生存的開放、不利的環(huán)境有關(guān)。以下是一些問題:

發(fā)現(xiàn)。Web 服務(wù)如何做自我宣傳以引起其它服務(wù)的關(guān)注?如果服務(wù)在其自我宣傳后做了改動(dòng),會(huì)發(fā)生什么情況?WSDL(Web 服務(wù)定義語言)和 UDDI(通用描述、發(fā)現(xiàn)和集成)是解決這個(gè)問題的兩個(gè)新標(biāo)準(zhǔn)。

可靠性。某些 Web 服務(wù)主機(jī)將比其它主機(jī)更可靠。那如何測(cè)量和傳遞這個(gè)可靠性呢?當(dāng) Web 服務(wù)主機(jī)暫時(shí)脫機(jī)時(shí)會(huì)發(fā)生什么情況?您是尋求和使用其它供應(yīng)商擁有的替代服務(wù),還是等待原來的那個(gè)重新可用呢?您怎么知道哪些供應(yīng)商可以信賴?

安全性。某些 Web 服務(wù)將在公開情況下可用而沒有保護(hù)措施,但大多數(shù)與商業(yè)相關(guān)的服務(wù)將使用帶認(rèn)證的加密通信。SSL 上的 HTTP 往往能夠提供基本的安全性,但有個(gè)別服務(wù)需要更高顆粒度級(jí)別。Web 服務(wù)如何認(rèn)證用戶?服務(wù)需要在方法級(jí)別上提供安全性的能力嗎?如果您與在世界范圍內(nèi)提供服務(wù)的供應(yīng)商簽約,這些服務(wù)如何了解您的安全性特權(quán)呢?

事務(wù)。傳統(tǒng)的事務(wù)處理系統(tǒng)使用兩階段提交方式,所有參與的資源都被集中起來,并在整個(gè)事務(wù)發(fā)生之前鎖定,等到事務(wù)發(fā)生后,資源被最后釋放。這種方式在事務(wù)生存時(shí)間很短的封閉環(huán)境中很有效,但在事務(wù)可能跨越幾小時(shí),甚至幾天的開放環(huán)境中就不那么好用了。微軟支持一種替代的方案,稱為補(bǔ)償事務(wù),用在他們新的分布式商業(yè)過程 XLANG 系統(tǒng)。這種事務(wù)應(yīng)不應(yīng)該集成到 Web 服務(wù)中?如果應(yīng)該,這種方式和建議的標(biāo)準(zhǔn),例如 XAML(一種將要發(fā)布的支持傳統(tǒng)事務(wù)的 XML 標(biāo)記語言)之間有什么重疊嗎?

可伸縮性。因?yàn)橛锌赡軐F(xiàn)有的組件系統(tǒng),例如 Enterprise Java Bean 當(dāng)作 Web 服務(wù),所以應(yīng)該有可能利用已有的負(fù)載均衡和其它可伸縮性機(jī)制。但在進(jìn)行的過程中有沒有未預(yù)見的障礙?需不需要一種新的 Web 服務(wù)應(yīng)用服務(wù)器?

可管理性。管理高度分布式的系統(tǒng)需要哪種機(jī)制?因?yàn)橄到y(tǒng)的特性是其各個(gè)部分特性的函數(shù),所以每種不同 Web 服務(wù)的管理器是否需要以一種特殊的方式協(xié)調(diào)?是否可能將一些 Web 服務(wù)的管理“外包”給其它 Web 服務(wù)?

可說明性。如何定義一個(gè)用戶可以訪問和執(zhí)行 Web 服務(wù)多久?如何收取 Web 服務(wù)的費(fèi)用?占主導(dǎo)地位的模式是基于訂閱的還是現(xiàn)購現(xiàn)付?如果您銷售 Web 服務(wù),如何表明所有權(quán)的變更? Web 服務(wù)是在使用時(shí)完全消費(fèi),還是可以作為采購協(xié)議的一部分多次重用該服務(wù)?
測(cè)試。如果系統(tǒng)由位置和質(zhì)量潛在地不斷變化的許多 Web 服務(wù)組成,測(cè)試和調(diào)試就會(huì)采用全新的方式。如何實(shí)現(xiàn)可預(yù)測(cè)的響應(yīng)時(shí)間?如何調(diào)試可能來自不同供應(yīng)商、在不同環(huán)境和不同操作系統(tǒng)上駐留的 Web 服務(wù)?

除非您知道解決這些問題的系統(tǒng)已經(jīng)存在,否則聽上去它們都相當(dāng)令人望而卻步。人類社會(huì)和生態(tài)組織就是兩個(gè)這樣的例子。這兩個(gè)示例展示了以下特性:

容錯(cuò)。

大規(guī)模并行。

分布式。

良好組織的。

自我修復(fù)。

按分層方式設(shè)計(jì)。

在簡(jiǎn)單組件上設(shè)計(jì)。

通過這些現(xiàn)有示例中的榜樣,應(yīng)該有可能創(chuàng)建一個(gè) Web 服務(wù)的社會(huì),其中各個(gè)組件相互之間進(jìn)行合作以實(shí)現(xiàn)其各自目的。您可以很容易想象這樣一個(gè)聯(lián)網(wǎng)市場(chǎng),其中 Web 服務(wù)將它們自己出租給最高的出價(jià)者。 MojoNation 就是采取這種方法的開放源碼項(xiàng)目。

對(duì)等和 Web 服務(wù)

除了 Web 服務(wù)的直接使用以外,在對(duì)等 (P2P) 計(jì)算領(lǐng)域中,這種技術(shù)還有許多精彩的應(yīng)用。例如,考慮一個(gè) eBay 的 P2P 版本,在這里,消費(fèi)者將一個(gè)簡(jiǎn)單的拍賣 Web 服務(wù)安裝到他們的家庭計(jì)算機(jī)或智能電話上。一旦告訴了拍賣服務(wù)您的買賣意向后,它就與世界范圍內(nèi)的其它拍賣服務(wù)聯(lián)系,幫您找到適當(dāng)?shù)馁I家和賣家。交易在消費(fèi)者的設(shè)備之間直接發(fā)生,不需要任何服務(wù)器。

一個(gè)更大膽的想法是 P2P 蜂窩網(wǎng)絡(luò),它使用其它中間消費(fèi)者的電話,而不是基站。當(dāng)您撥打電話時(shí),通話沿著相鄰的蜂窩電話進(jìn)行路由,到達(dá)它的最終目的地。使用這種體系結(jié)構(gòu),從理論上說,可以將 10,000 個(gè)蜂窩電話投放到以前未裝電話線的區(qū)域中,并且只要有適當(dāng)?shù)娜巳海涂梢粤⒓丛诓皇褂没净蚱渌鼈鹘y(tǒng)電話網(wǎng)絡(luò)基礎(chǔ)設(shè)施的情況下?lián)艽螂娫挘?/FONT>

我想,Web 服務(wù)的強(qiáng)大威力和簡(jiǎn)單性將加速分布式計(jì)算世界的革新。在本系列的其余部分中,我打算培養(yǎng)、接納和促進(jìn)這一領(lǐng)域中開發(fā)者之間的討論。盡管預(yù)測(cè)演示的特定順序比較困難,但將涉及到以下方面:

上機(jī)實(shí)踐教程。

新興標(biāo)準(zhǔn),例如 SOAP、UDDI、WSDL 和 XAML。

對(duì)等體系結(jié)構(gòu)。

動(dòng)態(tài)發(fā)現(xiàn)。

安全性和事務(wù)。

Web 服務(wù)的用戶界面。

Web 服務(wù)的安排。

測(cè)試基于 Web 服務(wù)的應(yīng)用。

下一專欄將指導(dǎo)您完成創(chuàng)建自己的 Web 服務(wù)的每個(gè)步驟。到那時(shí)再享受其中的樂趣吧!

參考資料

  • UDDI 組織有一本關(guān)于 UDDI 接口的白皮書。
  • Web 服務(wù)描述語言 1.1 說明了 Web 服務(wù)之間如何描述自己。
  • James Snell 在 SOAP Web 資源中心上有許多新聞項(xiàng)。
  • Apache 項(xiàng)目還存放著有用的有關(guān) SOAP 的信息。
  • 查看將要發(fā)布的 XAML 事務(wù)權(quán)限標(biāo)記語言。
  • 第二部分:你好世界,Web 服務(wù)風(fēng)格
  • 第三部分:SOAP 是如何工作的
  • 第四部分:Web 服務(wù)描述語言 (WSDL)

關(guān)于作者
Graham Glass 是 The Mind Electric 的創(chuàng)建者、CEO 和首席設(shè)計(jì)師,該公司致力于大型分布式計(jì)算的構(gòu)建。他相信因特網(wǎng)的發(fā)展將反映生物頭腦的發(fā)展,而幫助人們和商家有效聯(lián)網(wǎng)的那些體系結(jié)構(gòu)將提供對(duì)將人類思想連接在一起的體系結(jié)構(gòu)的深入了解。

在創(chuàng)建 The Mind Electric 之前,Graham 是 ObjectSpace 的主席、CTO 和聯(lián)合發(fā)起人之一,該公司總部位于達(dá)拉斯,專門從事商家到商家的集成。在 ObjectSpace 時(shí),他擔(dān)任分布式計(jì)算、JGL Java 集合庫和跨平臺(tái) C++ 工具箱的 Voyager 產(chǎn)品線的設(shè)計(jì)師和首席開發(fā)者。Graham 由于 Voyager 和 JGL 的開發(fā),于 1996 年榮獲年度 Ernst and Young Entrepeneur 獎(jiǎng)和一些行業(yè)大獎(jiǎng)。

Graham 還是 ObjectLesson(一家提供前沿技術(shù)培訓(xùn)的公司)的創(chuàng)辦人。他為 Prentice Hall 撰寫了兩本有關(guān) UNIX 和 STL 的書籍,并以他對(duì)新興技術(shù)的熱情和清晰闡述而成為受歡迎的演說家。

Graham 從南安普敦大學(xué)獲得了數(shù)學(xué)和計(jì)算機(jī)科學(xué)理學(xué)士學(xué)位,從達(dá)拉斯的得州大學(xué)獲得了計(jì)算機(jī)科學(xué)碩士學(xué)位,并從 Haberdashers 的 Aske's School 獲得 British "O" 和 "A" 級(jí)。在轉(zhuǎn)向企業(yè)之前,他在 UTD 作為高級(jí)講師,教授 UNIX、C、C++、Smalltalk 和編程語言??赏ㄟ^ graham-glass@mindspring.com 與他聯(lián)系。

瀏覽: Web服務(wù)的(革)創(chuàng)新,第2部分

Web服務(wù)的(革)創(chuàng)新,第3部分

Web服務(wù)的(革)創(chuàng)新,第4部分

發(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在線咨詢