WebService是一種跨編程語言和跨操作系統(tǒng)平臺的遠程調(diào)用技術(shù)。
所謂跨編程語言和跨操作平臺,就是說服務端程序采用java編寫,客戶端程序則可以采用其他編程語言編寫,
反之亦然!跨操作系統(tǒng)平臺則是指服務端程序和客戶端程序可以在不同的操作系統(tǒng)上運行。
所謂遠程調(diào)用,就是一臺計算機a上 的一個程序可以調(diào)用到另外一臺計算機b上的一個對象的方法,
譬如,銀聯(lián)提供給商場的pos刷卡系統(tǒng),商場的POS機轉(zhuǎn)賬調(diào)用的轉(zhuǎn)賬方法的代碼其實是跑在銀 行服務器上。
再比如,amazon,天氣預報系統(tǒng),淘寶網(wǎng),校內(nèi)網(wǎng),百度等把自己的系統(tǒng)服務以webservice服務的形式暴露出來,
讓第三方網(wǎng)站和程 序可以調(diào)用這些服務功能,這樣擴展了自己系統(tǒng)的市場占有率,往大的概念上吹,就是所謂的SOA應用。
其實可以從多個角度來理解 WebService,
從表面上看,WebService就是一個應用程序向外界暴露出一個能通過Web進行調(diào)用的API,
也就是說能用編程的方法通過 Web來調(diào)用這個應用程序。我們把調(diào)用這個WebService的應用程序叫做客戶端,
而把提供這個WebService的應用程序叫做服務端。
從深層次 看,WebService是建立可互操作的分布式應用程序的新平臺,
是一個平臺,是一套標準。它定義了應用程序如何在Web上實現(xiàn)互操作性,你可以用任何 你喜歡的語言,
在任何你喜歡的平臺上寫Web service ,只要我們可以通過Web service標準對這些服務進行查詢和訪問。
WebService平臺需要一套協(xié)議來實現(xiàn)分布式應用程序的創(chuàng)建。
任何平臺都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。
要實現(xiàn)互操作性,WebService平臺 必須提供一套標準的類型系統(tǒng),用于溝通不同平臺、編程語言和組件模型中的不同類型系統(tǒng)。
Web service平臺必須提供一種標準來描述 Web service,讓客戶可以得到足夠的信息來調(diào)用這個Web service。
最后,我們還必須有一種方法來對這個Web service進行遠 程調(diào)用,這種方法實際是一種遠程過程調(diào)用協(xié)議(RPC)。
為了達到互操作性,這種RPC協(xié)議還必須與平臺和編程語言無關(guān)。
|