一、 軟件開(kāi)發(fā)的形式
1、SaaS:Software as a Service(軟件即服務(wù))
(1)將軟件視為一種基礎(chǔ)設(shè)施與服務(wù)
(2)網(wǎng)絡(luò)無(wú)所不在,網(wǎng)絡(luò)可以看成是一個(gè)軟件服務(wù)的聚合體,是一個(gè)超級(jí)大“HUB”。
(3)開(kāi)發(fā)軟件就是“聚合服務(wù)”:大服務(wù)套小服務(wù),這一服務(wù)調(diào)用另一服務(wù),基于互聯(lián)網(wǎng)協(xié)同實(shí)現(xiàn)軟件功能。
(4)高度分布式和跨平臺(tái)
2、SOA:Service Oriented Architecture(面向服務(wù)的架構(gòu))
(1)以服務(wù)作為軟件的基本構(gòu)造塊來(lái)“組裝”軟件
(2)Web Service是當(dāng)前最成熟的一種SOA技術(shù)。它將網(wǎng)站的功能封裝為可復(fù)用的軟件服務(wù),供其他Web應(yīng)用程序調(diào)用。
二、 WebService簡(jiǎn)介
WebService技術(shù),能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無(wú)須借助附加的、專(zhuān)門(mén)的第三方軟件或硬件,就可以相互交換數(shù)據(jù)或集成。依據(jù)WebService 規(guī)范實(shí)施的應(yīng)用之間,無(wú)論它們所使用的語(yǔ)言、平臺(tái)或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。
簡(jiǎn)單的說(shuō),WebService就是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù)。所謂跨編程語(yǔ)言和跨操作平臺(tái),就是說(shuō)服務(wù)端程序采用java編寫(xiě),客戶(hù)端程序則可以采用其他編程語(yǔ)言編寫(xiě),反之亦然??绮僮飨到y(tǒng)平臺(tái)則是指服務(wù)端程序和客戶(hù)端程序可以在不同的操作系統(tǒng)上運(yùn)行。遠(yuǎn)程調(diào)用,就是一臺(tái)計(jì)算機(jī)的應(yīng)用可以調(diào)用其他計(jì)算機(jī)上的應(yīng)用。例如:支付寶,支付寶并沒(méi)有銀行卡等數(shù)據(jù),它只是去調(diào)用銀行提供的接口來(lái)獲得數(shù)據(jù)。還有天氣預(yù)報(bào)等,也是氣象局把自己的系統(tǒng)服務(wù)以WebService服務(wù)的形式暴露出來(lái),讓第三方網(wǎng)站和程序可以調(diào)用這些服務(wù)功能。
三、WebService特點(diǎn)
優(yōu)點(diǎn):
1、Web Service可看成是一個(gè)可復(fù)用的Web應(yīng)用程序組件
2、Web Service與平臺(tái)無(wú)關(guān),發(fā)布后可以被不同平臺(tái)調(diào)用
3、Web Service是自說(shuō)明,使用XML格式的純文本來(lái)描述自己如何使用
缺點(diǎn):
1、服務(wù)端接口方為WebService則客戶(hù)端也必須使用WebService。
2、因?yàn)閃ebService使用xml傳輸數(shù)據(jù),因此性能上不能滿(mǎn)足高并發(fā)
3、有點(diǎn)笨重
四、WebService組成要素
1、UDDI:查找方法,Web Service在哪里
UDDI(Universal Description,Discovery and Integration)統(tǒng)一描述、發(fā)現(xiàn)和集成。它是一種用于查找Web Service的機(jī)制。
UDDI服務(wù)器存儲(chǔ)了Web Service相關(guān)信息(其實(shí)就是此Web Service的WSDL文檔)可供Web應(yīng)用程序來(lái)定位和引用Web Service。
2、SOAP:通信協(xié)議,按照什么標(biāo)準(zhǔn)交換數(shù)據(jù)
SOAP(Simple Object Access Protocol)是Web Service的傳輸協(xié)議。它規(guī)定Web Service 提供者和調(diào)用者之間信息的編碼和傳送方式。
SOAP協(xié)議是建立在HTTP協(xié)議之上的互聯(lián)網(wǎng)應(yīng)用層協(xié)議(使用80端口),因此,它允許信息穿過(guò)防火墻而不被攔截。
SOAP僅是一種約定,是平臺(tái)中立與語(yǔ)言無(wú)關(guān)
SOAP與WSDL一樣,也是建立在XML規(guī)范之上,比較簡(jiǎn)單
3、WSDL:描述文檔
WSDL(Web Service Description Language,Web服務(wù)描述語(yǔ)言):用于描述Web Service的一種XML格式的語(yǔ)言,說(shuō)明服務(wù)端接口、方法、參數(shù)和返回值,通知其他的Web應(yīng)用程序如何調(diào)用自己,WSDL是隨服務(wù)發(fā)布成功,自動(dòng)生成,無(wú)需編寫(xiě)。
4、WebService是如何運(yùn)行的?
Web Service駐留于Web Server中
使用UDDI機(jī)制查找符合要求的Web Service
網(wǎng)絡(luò)中的機(jī)器通過(guò)SOAP協(xié)議進(jìn)行通訊
五、編寫(xiě)并使用自定義WebService
1、創(chuàng)建WebService工程
(1)創(chuàng)建一個(gè)空的Web項(xiàng)目,并添加后臺(tái)模塊
(2)添加Web服務(wù):添加asmx文件,并編寫(xiě)web服務(wù)方法
(3)運(yùn)行服務(wù)項(xiàng)目,要注意地址需要自己補(bǔ)全
(4)測(cè)試web服務(wù)中的方法,并觀(guān)察數(shù)據(jù)
首先創(chuàng)建一個(gè)空的Web項(xiàng)目
添加asmx文件
添加成功后,可以啟動(dòng)項(xiàng)目看一看(要加上地址)
選擇HelloWorld并調(diào)用
Hello World以xml的形式展現(xiàn),調(diào)用成功
自己添加一個(gè)web服務(wù)方法,數(shù)據(jù)庫(kù)隨便用一個(gè)即可
運(yùn)行看一下效果,能在WebService看到GetBooksByAuthor()這個(gè)方法
點(diǎn)擊并輸入?yún)?shù)
可以查看到數(shù)據(jù)以xml的格式展示
2、發(fā)布于服務(wù)器上
在代碼開(kāi)發(fā)完成之后,需要發(fā)布到服務(wù)器上供人使用
首先在“啟用或關(guān)閉Windows功能”里,把“Internet Information Services”這一項(xiàng)全都選中并更新
選擇項(xiàng)目--->發(fā)布
選擇文件夾--->下一步
選擇文件夾位置
發(fā)布WebService
發(fā)布成功后, 在發(fā)布的物理地址中,會(huì)有這幾個(gè)文件
打開(kāi)IIS管理器,右擊網(wǎng)站--->新建網(wǎng)站
配置新網(wǎng)站相關(guān)內(nèi)容,IP地址可自己選擇,主機(jī)名需要相應(yīng)的域名
在新建好的網(wǎng)站上添加權(quán)限
添加兩個(gè)用戶(hù)名IIS_IUSRS、NETWORK_SERVICE,并添加全部權(quán)限
重啟網(wǎng)站,瀏覽一下,404報(bào)錯(cuò)
需要配置一下默認(rèn)文檔,選擇網(wǎng)站--->默認(rèn)文檔
添加默認(rèn)文檔
WebService可以使用
六、 在本地測(cè)試調(diào)用WebService
創(chuàng)建一個(gè)MVC5項(xiàng)目--->添加服務(wù)引用
輸入本地的WebService網(wǎng)址,可以發(fā)現(xiàn)找到對(duì)應(yīng)的服務(wù)
添加對(duì)應(yīng)的控制器方法
添加對(duì)應(yīng)的畫(huà)面
最終效果如下
聯(lián)系客服