一、web service
的概念想要理解
web service
,必須先理解什麼是
service
(服務)。
傳統上,我們把計算機後台程式(
daemon
)提供的功能,稱為"服務
"(service
)。比如,讓乙個防毒軟體在後台執行,它會自動監控系統,那麼這種自動監控就是乙個"服務
"。通俗地說,"服務"
就是計算機可以提供的某一種功能。
根據**的不同,"服務
"又可以分成兩種:一種是"
本地服務
"(使用同一臺機器提供的服務,不需要網路),另一種是
"網路服務
"(使用另一台計算機提供的服務,必須通過網路才能完成)。
舉例來說,我現在有一批,需要把它們的大小縮小一半。那麼,我們可以把"縮放
"看成是一種服務。你可以使用
"本地服務
",在自己計算機上用軟體縮小,也可以使用
"網路服務
",將上傳到某個**,讓伺服器替你縮小,完成後再通過網路送回給你。這就好比,一件事你可以自己做,也可以交給另乙個人去做。肚子餓了,你可以自己做飯,也可以打**去訂乙份比薩,讓店家替你做好送上門。
"
網路服務"(
web service
)的本質,就是通過網路呼叫其他**的資源。
舉例來說,去年我寫過乙個
"四川大**牆
",它能動態顯示關於四川**的最新。但是,所有的都不是儲存在我的伺服器上,而是來自
flickr.com
。我只是發出乙個動態請求,要求
flickr.com
向我提供。這種情況下,
flickr.com
提供的就是一種
web service
。如果我把都存放在本地伺服器,不呼叫
flickr.com
,那麼我就是在使用
"本地服務"。
所以,web service
讓你的**可以使用其他**的資源,比如在網頁上顯示天氣、地圖、
twitter
上的最新動態等等。
二、
web service
架構和雲
如果乙個軟體的主要部分採用了
"網路服務
",即它把儲存或計算環節"外包
"給其他**了,那麼我們就說這個軟體屬於
web service
架構。web service
架構的基本思想,就是盡量把非核心功能交給其他人去做,自己全力開發核心功能。比如,如果你要開發乙個相簿軟體,完全可以使用
flickr
的網路服務,把相片都儲存到它上面,你只要全力做好相簿本身就可以了。總體上看,凡是不屬於你核心競爭力的功能,都應該把它"外包
"出去。
最近很紅的
"雲計算"(
cloud computing
)或者"
雲服務"
(cloud services
),實際上就是
web service
的同義詞,不過更形象一些罷了。它們不說你把事情交給其他計算機去做,而說你把事情交給"雲
"去做。
三、本地服務的缺陷
"網路服務
"是未來軟體開發和使用的趨勢,本地服務將用得越來越少,主要因為以下三個原因:
*本地資源不足。很多資料和資料,本地得不到,只有向其他**要。
*成本因素。本地提供服務,往往是不經濟的,使用專業**的服務更便宜。這裡面涉及硬體和人員兩部分,即使你買得起硬體,專門找乙個人管理系統,也是很麻煩的事。
*可移植性差。如果你想把本機的服務,移植到其他機器上,往往很困難,尤其是在跨平台的情況下。
四、
web service
的優勢除了本地服務的缺點以外,
web service
還有以下的優越性:
*平台無關。不管你使用什麼平台,都可以使用
web service。 *
web service
。這大大增加了
webservice
的適用性,降低了對程式設計師的要求。
*對於webservice
提供者來說,部署、公升級和維護
web service
都非常單純,不需要考慮客戶端相容問題,而且一次性就能完成。
*對於webservice
使用者來說,可以輕易實現多種資料、多種服務的聚合(
mashup
),因此能夠做出一些以前根本無法想像的事情。
五、
web service
的發展趨勢
根據我的觀察,目前
web service
有這樣幾種發展趨勢。
*在使用方式上,
rpc和
soap
的使用在減少,
restful
架構佔到了主導地位。
*在資料格式上,
xml格式的使用在減少,
json
等輕量級格式的使用在增多。
*在設計架構上,越來越多的第三方軟體讓使用者在客戶端(即瀏覽器),直接與雲端對話,不再使用第三方的伺服器進行中轉或處理資料。
webservicedemo
1. 在專案中單擊右鍵新增webservice服務專案。
2. 在要使用webservice的專案中新增服務引用。把webservice專案的url位址輸入到「t新增服務引用」的「位址」中。
3. 在要使用webservice的asox面的某個事件下,new乙個webservice服務,即可呼叫weswevice中的任何方法。
webservice頁面**:
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.linq;
using system.web;
using system.web.services;
using system.web.services.protocols;
using system.xml.linq;
namespace webservicedemo}}
呼叫webservice的aspx頁面**:
using system;
using system.collections;
using system.configuration;
using system.data;
using system.linq;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.htmlcontrols;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.xml.linq;
namespace demoweb}}
我的webservice服務的url是:http://localhost:31046/service1.asmx
Webservice簡單案例
東西不用,時間長了就會被忘掉。重新拾起來 做乙個簡單的demo,便於以後的查詢 伺服器端 新建calculator.asmx using system using system.collections.generic using system.linq using system.web using ...
webservice的簡單示例
是webservice.就概念上來說,可能比較複雜,不過我們可以有個巨集觀的了解 webservice就是個對外的介面,裡面有 函式可供外部客戶呼叫 注意 裡面同樣有客戶不可呼叫的函式 假若我們是服務端,我們寫好了個webservice,然後把它給了客戶 同時我們給了他們呼叫規則 客戶就可以在從服務...
webservice簡單環境搭建
1 在pom.xml中新增cxf的包 2 在spring配置檔案中新增配置 1 首先一定要引入下面三個配置檔案 2 新增需要發布成webservice的實現類配置 class com.deppon.fims.inter.fssc.service.webservice.isyntaxcosttypei...