1. 分布式對(duì)象模型有一個(gè)共同的缺陷盔腔,即難以擴(kuò)展到互聯(lián)網(wǎng)上谤逼。
【要求服務(wù)的客戶與服務(wù)本身之間必須緊密耦合碑韵,即要求處在一個(gè)同質(zhì)的基礎(chǔ)結(jié)構(gòu)框架中】
2. Web服務(wù)是松散耦合的撬讽。它通過(guò)諸如HTTP蕊连、SMTP以及發(fā)揮了核心作用的XML等在Web上廣泛應(yīng)用的標(biāo)準(zhǔn)協(xié)議來(lái)實(shí)現(xiàn)統(tǒng)一的連接,使人們轉(zhuǎn)向基于消息的異步技術(shù)來(lái)實(shí)現(xiàn)具有高可靠性的系統(tǒng)游昼。
3. Web應(yīng)用和桌面應(yīng)用之間存在連接問(wèn)題甘苍。
【W(wǎng)eb應(yīng)用和桌面應(yīng)用之間的數(shù)據(jù)遷移常常是手動(dòng)完成】
4. Web服務(wù)作為一種新興的Web應(yīng)用模式,是一種嶄新的分布式計(jì)算模型烘豌,是Web上數(shù)據(jù)和信息集成的有效機(jī)制载庭。
5. Web服務(wù)是使用標(biāo)準(zhǔn)技術(shù)在Internet上運(yùn)行的商務(wù)流程,它可以使用標(biāo)準(zhǔn)的Internet協(xié)議廊佩,將功能綱領(lǐng)性的體現(xiàn)在Internet和Intranet上囚聚。
6. Web服務(wù)就像Web上的構(gòu)件編程,開發(fā)人員通過(guò)調(diào)用Web應(yīng)用編程接口标锄,將Web服務(wù)集成進(jìn)他們的應(yīng)用程序御吞,就像調(diào)用本地服務(wù)一樣。
7.?Web服務(wù)支持異構(gòu)操作系統(tǒng)之間的連接击敌。可以與分布在世界各地的應(yīng)用互連涡匀,實(shí)現(xiàn)無(wú)縫、高效的連接践剂。
8. Web服務(wù)的關(guān)鍵是Web服務(wù)體系結(jié)構(gòu)
(1)是由平臺(tái)構(gòu)建商提供的鬼譬、基于Internet的應(yīng)用解決方案
(2)這些方案可以用標(biāo)準(zhǔn)的格式通過(guò)Internet進(jìn)行調(diào)用,完成對(duì)業(yè)務(wù)的集成
9. Web服務(wù)技術(shù)核心基于可擴(kuò)展標(biāo)記語(yǔ)言XML的標(biāo)準(zhǔn)逊脯,包括:
(1)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議优质,SOAP
a. SOAP是一種輕量的、簡(jiǎn)單的军洼、基于XML的協(xié)議巩螃。
b. SOAP是Web Service的基本通信協(xié)議。
(2)Web服務(wù)描述語(yǔ)言匕争,WSDL
【W(wǎng)SDL是一種XML文檔牺六,它定義SOAP消息和這些消息是怎樣交換的】
(3)統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議汗捡,UDDI
10. Web服務(wù)可以分為5個(gè)邏輯層
(1)數(shù)據(jù)層:保存Web服務(wù)需要的所有物理數(shù)據(jù)
(2)數(shù)據(jù)訪問(wèn)層:為業(yè)務(wù)層提供數(shù)據(jù)服務(wù)
【優(yōu)點(diǎn):可以做數(shù)據(jù)的分布式處理淑际,有利于保護(hù)數(shù)據(jù)的完整性】
【缺點(diǎn):效率較低】
(3)業(yè)務(wù)層:提供業(yè)務(wù)邏輯
【業(yè)務(wù)邏輯:做一件事情的步驟】
(4)業(yè)務(wù)面:提供簡(jiǎn)單接口畏纲,直接映射到Web服務(wù)提供的過(guò)程
【提供一個(gè)到底層對(duì)象的可靠的接口,即功能列表】
(5)監(jiān)聽者:接收帶有請(qǐng)求服務(wù)的輸入消息春缕,解析這些消息盗胀,并把這些請(qǐng)求發(fā)送給業(yè)務(wù)面的相應(yīng)方法
【把消息發(fā)送給對(duì)應(yīng)的接口,有點(diǎn)像基于消息的隱式調(diào)用的體系風(fēng)格】
11. 共同特征
(1)應(yīng)用的分布式
【網(wǎng)絡(luò)中數(shù)據(jù)源和服務(wù)提供者都是分布式的锄贼,所以We服務(wù)是松散耦合的票灰,不關(guān)心數(shù)據(jù)源的格式】
【W(wǎng)eb服務(wù)對(duì)用戶具有分布透明性】
(2)應(yīng)用到應(yīng)用的交互
【集中式的控制對(duì)服務(wù)器壓力太大】
(3)平臺(tái)無(wú)關(guān)性
【W(wǎng)eb服務(wù)采用現(xiàn)有的規(guī)范的協(xié)議和約定,接口使用的標(biāo)準(zhǔn)簡(jiǎn)單宅荤、易理解】
(4)完好的封裝性
【使用者僅能看到提供的功能列表】
(5)高度集成能力
(6)松散耦合
【只要Web服務(wù)調(diào)用界面不變屑迂,Web服務(wù)實(shí)現(xiàn)的任何變是透明的,用戶無(wú)法察覺】
12. 一個(gè)完整的Web服務(wù)包括三種邏輯構(gòu)件
(1)服務(wù)提供者:提供服務(wù)冯键,并進(jìn)行注冊(cè)以使服務(wù)可用
? ? ? ? 服務(wù)代理:起中介作用惹盼,是服務(wù)的注冊(cè)構(gòu)件
? ? ? ? 服務(wù)請(qǐng)求者:可在應(yīng)用程序中通過(guò)服務(wù)代理請(qǐng)求服務(wù),調(diào)用所需服務(wù)
(2)發(fā)布:對(duì)服務(wù)進(jìn)行一定的描述并發(fā)布到代理服務(wù)器上惫确,進(jìn)行注冊(cè)手报。
? ? ? ? 發(fā)現(xiàn):服務(wù)請(qǐng)求者向服務(wù)代理發(fā)布服務(wù)查詢請(qǐng)求。服務(wù)代理提供規(guī)范的接口來(lái)接受服務(wù)請(qǐng)求者的查詢改化。服務(wù)請(qǐng)求者根據(jù)通用的行業(yè)分類標(biāo)準(zhǔn)瀏覽分類或者通過(guò)關(guān)鍵字搜索掩蛤,并逐步縮小查找范圍,直到找到滿足條件的服務(wù)為止陈肛。
? ? ? ? 綁定:分析從注冊(cè)服務(wù)器中得到的調(diào)用該服務(wù)所需的詳細(xì)綁定信息揍鸟,根據(jù)這些信息,服務(wù)請(qǐng)求者可以編程實(shí)現(xiàn)對(duì)服務(wù)的遠(yuǎn)程調(diào)用句旱。
13. Web服務(wù)開發(fā)生命周期可分為構(gòu)建阳藻、部署、運(yùn)行和管理四個(gè)階段前翎。
(1)構(gòu)建:構(gòu)建階段包括開發(fā)和測(cè)試Web服務(wù)的實(shí)現(xiàn)稚配,定義服務(wù)接口描述和定義服務(wù)實(shí)現(xiàn)描述畅涂。
(2)部署:向服務(wù)請(qǐng)求者或服務(wù)注冊(cè)中心發(fā)布服務(wù)服務(wù)接口和服務(wù)實(shí)現(xiàn)的定義港华。
(3)運(yùn)行:在運(yùn)行階段,可以調(diào)用Web服務(wù)午衰。
?(4)管理:管理階段包括持續(xù)的管理和經(jīng)營(yíng)Web服務(wù)應(yīng)用程序立宜。
14. Web服務(wù)棧
(1)SOAP本質(zhì)上是xml。
(2)可開發(fā)的為:發(fā)現(xiàn)服務(wù)臊岸、描述服務(wù)橙数、消息格式層,剩下兩個(gè)為基礎(chǔ)層帅戒。
(3)發(fā)現(xiàn)服務(wù)層:主要用來(lái)幫助客戶端應(yīng)用程序解析遠(yuǎn)程服務(wù)的位置灯帮,通過(guò)UDDI實(shí)現(xiàn)崖技。
? ? ? ? 描述服務(wù)層:為客戶端應(yīng)用程序提供與遠(yuǎn)程服務(wù)交互的描述信息,通過(guò)WSDL實(shí)現(xiàn)钟哥。
? ? ? ? 消息格式層:保證客戶端應(yīng)用程序和服務(wù)器端在格式設(shè)置上保持一致迎献,通過(guò)SOAP協(xié)議實(shí)現(xiàn)。
? ? ? ? 編碼格式層:為客戶端和服務(wù)器之間提供一個(gè)標(biāo)準(zhǔn)的腻贰、獨(dú)立于平臺(tái)的數(shù)據(jù)交換編碼格式吁恍,一般通過(guò)XML實(shí)現(xiàn)。
? ? ? ? 傳輸協(xié)議層:為客戶端和服務(wù)器提供交互的網(wǎng)絡(luò)通信協(xié)議播演,一般通過(guò)HTTP和SMTP實(shí)現(xiàn)冀瓦。
15. UDDI (統(tǒng)一描述、發(fā)現(xiàn)和集成)
(1)UDDI是Web服務(wù)集成的一個(gè)體系框架写烤。用來(lái)說(shuō)明一個(gè)Web服務(wù)的一些信息類型翼闽。
(2)注冊(cè)流程:
a. 客戶通過(guò)UDDI發(fā)出請(qǐng)求。
b. HTTP服務(wù)器發(fā)給SOAP服務(wù)器顶霞。
【SOAP用HTTP來(lái)承載消息±堆幔】
c. SOAP服務(wù)器解析請(qǐng)求古徒。
d. 去數(shù)據(jù)庫(kù)注冊(cè)拓提,按級(jí)返回隧膘。
16. XML
(1)是一種允許用戶定義自己的標(biāo)記的元語(yǔ)言代态。
(2)在Web服務(wù)中幾乎所有都是用XML描述的。
【W(wǎng)eb服務(wù)的所有接口蹦疑、對(duì)Web服務(wù)的請(qǐng)求核畴、Web服務(wù)的應(yīng)答數(shù)據(jù)】
17. SOAP
(1)SOAP本身不定義任何應(yīng)用語(yǔ)言跟束,只定義簡(jiǎn)單的機(jī)制氧腰,通過(guò)提供一個(gè)有標(biāo)準(zhǔn)構(gòu)件的包模型和通過(guò)在模塊中對(duì)數(shù)據(jù)編碼的機(jī)制,來(lái)定義一個(gè)簡(jiǎn)單的表示應(yīng)用語(yǔ)義的機(jī)制盔然。
【SOAP是一種機(jī)制】
(2)典型SOAP通信體系結(jié)構(gòu)中的一些組件:SOAP客戶機(jī)愈案、SOAP服務(wù)器馁筐、實(shí)際服務(wù)舱卡。
【實(shí)際服務(wù)存放實(shí)際代碼队萤,求出結(jié)果并返回】
(3)SOAP包括4個(gè)部分:SOAP信封(強(qiáng)制)既绩、SOAP編碼規(guī)則、SOAP?RPC表示、SOAP綁定
(4)一個(gè)典型 SOAP 通信體系結(jié)構(gòu)的組件:
a. SOAP客戶機(jī):是一臺(tái)有SOAP機(jī)制的機(jī)器惊科,它可以產(chǎn)生SOAP請(qǐng)求并通過(guò)HTTP發(fā)送到服務(wù)器充活。
b. SOAP服務(wù)器:是一臺(tái)有SOAP機(jī)制的機(jī)器,能夠接收來(lái)自SOAP客戶機(jī)的請(qǐng)求蜡娶,并對(duì)之作出適當(dāng)?shù)捻憫?yīng)混卵。
?在SOAP服務(wù)器內(nèi)部有三個(gè)實(shí)體:服務(wù)管理器、被部署服務(wù)的列表(判斷服務(wù)存在與否)窖张、XML轉(zhuǎn)換程序(解析XML)
【服務(wù)器解析XML代碼幕随,取出請(qǐng)求,判斷有沒有服務(wù)】
c. 實(shí)際服務(wù):被調(diào)用的方法就會(huì)完成它的工作并且將結(jié)果信息返回XML轉(zhuǎn)換程序宿接。
【注意是直接返回結(jié)果】
18. 基于面向服務(wù)架構(gòu)SOA
(1)SOA為一種應(yīng)用程序體系結(jié)構(gòu)赘淮,在這種體系結(jié)構(gòu)中辕录,所有功能都定義為獨(dú)立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口梢卸。
(2)SOA為客戶端/服務(wù)器的軟件設(shè)計(jì)方法走诞,一項(xiàng)應(yīng)用由軟件服務(wù)和軟件服務(wù)使用者組成。
(3)SOA與大多數(shù)通用的客戶端/服務(wù)器模型不同之處蛤高,在于它著重強(qiáng)調(diào)軟件構(gòu)件的松散耦合蚣旱,并使用獨(dú)立的標(biāo)準(zhǔn)接口。
(4)一個(gè)完整的面向服務(wù)的體系結(jié)構(gòu)模型
(5)單個(gè)服務(wù)內(nèi)部結(jié)構(gòu):
(6)SOA模型的特征:
a. 松散耦合
【靈活性高戴陡,包容修改】
b. 粗粒度服務(wù)
c. 標(biāo)準(zhǔn)化接口
【采用中立的方式定義】